TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: All
from: Jonathan de Boyne Pollard
date: 1996-06-11 22:21:52
subject: The SOMObjects Travel Guide

The (highly unofficial) FIDONET OS2PROG C++ compiler pros and cons list
    DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

                        The SOMObjects Travel Guide
                        DDDDDDDDDDDDDDDDDDDDDDDDDDD

    There have been four major "versions" of SOM, version 1.x, 2.0, 2.1,
    and 3.0.  SOM 3.0 isn't "officially" here yet, but several tools, such
    as MetaWare High C++, have been supporting it for just under a year
    now.

    SOM 1.x was "ante CORBA", and SOM 2.0 and 2.1 are "post
CORBA".  This
    means that the two are not strictly compatible.  Although IBM has done
    its best to allow SOM 1.x applications to continue to work on SOM 2.x,
    SOM 1.x is now a lame duck, as is OIDL, the language that it used.

    With the advent of SOM 2.x came several standard SOM class libraries,
    namely the Persistence, Distribution, Collection, and Replication
    frameworks ("framework" is a posey name for class library).  These
    allow SOM programmers to load and save objects, to use objects
    remotely, to make collections of objects, and to keep multiple copies
    of objects.  There are a couple of more specialised class libraries as
    well.

    Using the Distribution framework is often known colloquially as DSOM,
    Distributed SOM.  DSOM can either be Workstation Enabled, meaning that
    different processes on one machine can share DSOM classes and objects,
    or Workgroup Enabled, meaning that DSOM classes and objects can be
    shared across a LAN using TCP/IP, NETBIOS, or IPX/SPX.

    The SOM runtime itself ships as standard as part of OS/2, since
    Workplace Shell is a SOM application that requires it.  OS/2 version
    2.1x came with SOM 1.x, and none of the standard SOM class libraries.

    OS/2 WARP 3.0 however comes with SOM version 2.1, and all of the
    standard SOM class libraries in DLL form (in the \OS2\DLL directory).
    The Distribution framework supplied is only Workstation enabled.  The
    DSOM Workgroup Enabler runtime is available separately as IBM part
    number 59G5679.  Workplace Shell in OS/2 WARP 3.0 is in fact a DSOM
    server.

                        DDDDDDDDDDDDDDDDDDDDDDDDDDD

    There are various tools available for writing SOM-capable programs.

    The OS/2 Developers' Toolkit version 2.1 includes a basic set of SOM
    tools for creating SOM 1.x programs.  It also contains SOM 1.x OIDL
    class definitions for the Workplace Shell classes in OS/2 2.10.

    The SOMObjects Developers' Toolkit version 2.1 for OS/2 provides a lot
    of SOM development tools for SOM 2.1, including the SOM compiler that
    is used to translate class definitions written in IDL into language
    bindings for use in programs, all of the class definitions for the
    various SOM standard class libraries, and several interface repository
    management tools.

                        DDDDDDDDDDDDDDDDDDDDDDDDDDD

    The SOM support of the various C++ compilers currently breaks down as
    follows :

    The position of EMX C++ 0.9a respective to SOM is in some doubt.
    There are several compiler-specific parts of the SOM header files,
    which EMX C++ doesn't seem to have.  Certainly EMX C++ is not an
    "official" SOM platform.

    Borland C++ 2.0 does not ship with any SOM headers either (BC++OS2
    version 1.0 used to have them).  Confusion seems to reign over this,
    since Borland C++ *is* an official SOM platform.

    Watcom C++ 10.5 ships with version 2.0 of the SOMObjects Developers'
    Toolkit, which allows users of Watcom C++ to write SOM 2.0 programs
    using the C/C++ language bindings.

    ( One warning about Watcom C++ 10.0b :  Its installation program is
    badly broken, in that it doesn't check that it is actually upgrading
    your current level of SOM support.  It places its \WATCOM\BINP\DLL
    directory at the head of LIBPATH in CONFIG.SYS.  On OS/2 WARP 3.0
    systems, this results in replacing the SOM 2.1 runtime with the SOM
    2.0 runtime, and Workplace Shell is then unable to start.  Editing
    CONFIG.SYS by hand to move the directory containing the SOM 2.0
    runtime to the tail of LIBPATH cures the problem.  )

    IBM CSet++ 2.1 ships with version 2.1 of the OS/2 Developers' Toolkit,
    which only allows users of CSet++ to write SOM 1.x programs.  For SOM
    2.x programs, the SOMObjects Developers' Toolkit must be purchased
    separately.

    IBM VisualAge C++ 3.0 is a DirectToSOM C++ compiler, allowing people
    to implement and use SOM 2.1 classes as native C++ classes.

    MetaWare High C++ 3.32 is also a DirectToSOM C++ compiler, which has
    the added advantages of being on its third release, and including more
    C++ language features from the proposed Standard C++, such as
    namespaces, RTTI, and exceptions.  Again, it allows people to
    implement and use SOM 2.1 and SOM 3.0 classes as native C++ classes.

   / JdeBP .          / (c) Copyright 1995-1996 All Rights Reserved. .
   / JdeBP{at}donor2.demon.co.uk                      FIDONET 2:440/4.0 .

... Another excellent OS/2 day goes by.
--- Blue Wave/OS2 v2.20 [NR]
* Origin: DoNoR/2,Woking UK (44-1483-725167) (2:440/4)
SEEN-BY: 50/99 270/101 620/243 625/100 711/401 409 410 413 430 808 809 934
SEEN-BY: 711/955 712/407 515 517 628 713/888 800/1
@PATH: 440/4 141/209 270/101 712/515 711/808 934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.