|
|
(3 intermediate revisions by 3 users not shown) |
Line 1: |
Line 1: |
| The WPS is based on SOM the [http://en.wikipedia.org/wiki/System_Object_Model System Object Model]. SOM allows access objects across various processes (including processes on remote machine) via [[DSOM]] classes, an implementation of an ORB compatible with an older (version 1.1) CORBA specification (remember SOM wasn't updated for quite a while. At hobbes there is a newer SOM implementation, but some people have reported problems with it).
| | Page moved to [http://www.edm2.com/index.php/How_to_program_for_the_WPS] |
| There's a lot of fuzz about how advanced the WPS is because it uses CORBA etc. bla bla. In fact, most of the features of the WPS don't need a fully CORBA compliant ORB and, more importantly, don't use it. While Distributed SOM (DSOM) comes with OS/2, the WPS seem to use only local SOM.
| |
|
| |
|
| Note: It is possible to use DSOM for WPS objects access. You need to start WPS DSOM server first.
| | [[Category:Redirects]] |
| | |
| While it's possible to query, load, unload and replace SOM classes on demand during program execution, the WPS usually builds its class tree during initialization. Thus class replacement requires a WPS restart. Note that the adding of classes can still be done without a restart.
| |
| Saying this doesn't mean you can never replace a class during runtime. It's always possible to bend the borders with some serious hacking but there's no general API for that.
| |
| | |
| ===Prerequisites===
| |
| | |
| * SOM compiler - Contained in the OS/2 toolkit which comes with your commercial compiler or eCS.
| |
| Or at http://hobbes.nmsu.edu/pub/os2/dev/wps/somobjtk.zip
| |
| or at http://hobbes.nmsu.edu/pub/os2/dev/wps/opendc12.zip
| |
| * C compiler - Visual Age 3.08
| |
| Or any C/C++ compiler. Open Watcom was tested for easy tasks and all worked fine. There was an article
| |
| in a german magazine quite a while ago with an example using EMX.
| |
| | |
| * For other programming languages (Pascal,... ) you need to write an [[emitter]] for the [[SOM Compiler]] which creates the necessary binding files.
| |
| | |
| ===Programming===
| |
| | |
| * [[Short overview]] how WPS programming works in general.
| |
| * [[Tutorial]] for a simple WPS class.
| |