Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
en:docs:tk:som [2024/11/26 01:52] – prokushev | en:docs:tk:som [2025/06/05 14:11] (current) – prokushev | ||
---|---|---|---|
Line 3: | Line 3: | ||
* [[en: | * [[en: | ||
- | Quick history: | + | ====== |
- | * SOM 1.0 - came out with OS/2 2.0 and used to build WorkPlaceShell. It includes only SOMObject, SOMClass and SOMClsMgr classes. Object Interface Definition Language was used to describe interfaces. | + | * IBM SOM 1.0 - came out with OS/2 2.0 and used to build WorkPlaceShell. It includes only SOMObject, SOMClass and SOMClsMgr classes. Object Interface Definition Language was used to describe interfaces. |
- | * SOM 2.0 - aligned with CORBA 1.1, used CORBA IDL and added DSOM. SOM Compiler was reworked and Emitter Framework was added. C++ bindings that allow you to implement and invoke your classes in C++. The Distributed, | + | * IBM SOM 2.0 - aligned with CORBA 1.1, used CORBA IDL and added DSOM. SOM Compiler was reworked and Emitter Framework was added. C++ bindings that allow you to implement and invoke your classes in C++. The Distributed, |
- | * SOM 2.1 | + | * IBM SOM 2.1 - Persistence and Replication Frameworks removed. DirectToSOM (DTS) C++ support added. 32-bit TCP/IP support. New initialization. DSOM changes to support CORBA memory management. Metaclasses Framework. |
* SOM adopted by Apple to move OpenDoc from C++ to a language neutral framework. | * SOM adopted by Apple to move OpenDoc from C++ to a language neutral framework. | ||
- | * SOM 3.0 - added IIOP support, referencing counting for SOMObject and more CORBA frameworks | + | * IBM SOM 3.0 - added IIOP support, referencing counting for SOMObject and more CORBA frameworks |
+ | * somFree 1.x - Roger Brown reimplementation of IBM SOM, but some parts missing and some reverted (like Persistence framework). Initial stubs for CORBA 2+ support. | ||
+ | * osFree somFree - enhanced version of somFree which attempts to return SOM Compiler and Emitter Framework design to somFree. And add CORBA 2+ support. | ||
SOM was available on OS/2 2.0 upwards, Windows NT, AIX 4, OS/390 and OS/400. | SOM was available on OS/2 2.0 upwards, Windows NT, AIX 4, OS/390 and OS/400. | ||
- | Why somFree? | + | ====== |
- | This project provides a clean-room implementation of the major SOM components and is built to be very portable. The name comes from the method used to delete a SOMObject. | + | somFree |
Main differences from IBM SOM | Main differences from IBM SOM | ||
Line 28: | Line 30: | ||
===== Changes ===== | ===== Changes ===== | ||
- | Changes from original somFree compiler: | + | Changes |
- | * Added and mostly documented SOM Compiler library SOMC. Most of internal structures now also present as in old IBM SOM 2.1 Toolkit. SOMLINK style functions for most of SOM Compiler library added (NT version used optlink for some functions). somtShowEntry function outputs more info. Undocumented SOMTTypes now documented. | + | * Added and mostly documented SOM Compiler library |
* SOM Compiler now supports emitters too. | * SOM Compiler now supports emitters too. | ||
* New emitters: | * New emitters: | ||
Line 42: | Line 44: | ||
* CORBA C Language Mapping Specification 1.0 now supported by default instead of CORBA 1.1 C Language mapping. | * CORBA C Language Mapping Specification 1.0 now supported by default instead of CORBA 1.1 C Language mapping. | ||
* Added support of OIDL files | * Added support of OIDL files | ||
- | * PDL inprovements | + | * PDL improvements |
* Core IDLs revised and some documenting was added | * Core IDLs revised and some documenting was added | ||