home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 14 Text
/
14-Text.zip
/
proscons.zip
/
somobj.txt
< prev
Wrap
Text File
|
1995-02-17
|
5KB
|
96 lines
The (highly unofficial) FIDONET OS2PROG C++ compiler pros and cons list
───────────────────────────────────────────────────────────────────────
The SOMObjects Travel Guide
───────────────────────────
There have been two versions of SOM. SOM 1.x was "ante CORBA", and
SOMO 2.x is "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 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.
───────────────────────────
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.
───────────────────────────
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.0b 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\DLL
directory at the head of LIBPATH in CONFIG.SYS. On OS/2 WARP 3.0
systems, this replaces 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 CSet++ 3.0, when it is released, will be a DirectToSOM C++
compiler, allowing people to implement and use SOM 2.1 classes as
native C++ classes.
MetaWare High C++ 3.31a is also a DirectToSOM C++ compiler, which has
the added advantages of being on its second release, and available
right now. Again, it allows people to implement and use SOM 2.1
classes as native C++ classes.
» JdeBP « » (c) Copyright 1995 All Rights Reserved. «
» JdeBP@donor2.demon.co.uk FIDONET 2:440/4.0 «