System Object Model

From EDM2
Jump to: navigation, search

System Object Model (SOM) is an object-oriented shared library system. DSOM, a distributed version based on CORBA, allowed objects on different computers to communicate. System Object Model (SOM, SOMObjects) is a language neutral object model.


  • IBM System Object Model/6000 (SOM/6000)
  • IBM SOMobjects Developer Toolkit Version 2.1 for OS/2, AIX and Windows (10H9767)
  • IBM SOMobjects Workgroup Enabler Version 2.1 for OS/2, AIX and Windows (10H9769)
  • IBM SOMobjects for OS/400


IBM System Object Model (SOM) Online Books


SOM Run-time Kernel SRK
SOM Event Management Framework SEM
Distributed SOM Framework SDS
SOMobjects Interface Repository Framework SIR
SOMobjects Utility Classes SUT
  • Version 2.01.5 - SM20012


System Object Model runtime included with OS/2 Warp Version 4 consists of the following files:

Name Comments
SOM.DLL SOM Run-time Library
SOM.IR SOM Implementation Repository. Types, classes, and methods provided by the SOMobjects Framework
SOMD.DLL Distributed SOM (DSOM)
SOMD.MSG Messages for SOMD.DLL
SOMDCLS.DAT Distributed SOM class database
SOMDCLS.TOC Distributed SOM class index
SOMDD.EXE DSOM daemon. It must be started prior to running a DSOM application
SOMDIMPL.DAT Distributed SOM implementation database
SOMDIMPL.TOC Distributed SOM implementation index
SOMDSVR.EXE Generic DSOM server program
SOMEM.DLL SOM Event Manager
SOMIR.DLL CORBA Interface Repository support
SOMK.MSG SOM error messages file
SOMS.DLL SOM Sockets library
SOMSEC.DLL SOM Security library
SOMTC.DLL CORBA TypeCode support
SOMU.DLL Metaclass framework
SOMUC.DLL Collection Class Library



  • G221-3651-02: SOMobjects Specification Sheet - IBM 1995-04
  • Brian Curran: Why SOM? - IBM Personal Systems Magazine (Mar/Apr 1996)
  • Gabrielle Gagnon: Exploring IBM's SOM series of articles published in PC Magazine.


  • Replacement
    • somFree is a Portable implementation of SOM, but it hasn't been ported to OS/2. Open source under the LGPL v3.
    • NOM (Netlabs Object Model) was an implementation of SOM that was going to be part of Voyager, but it never got finished.