Jump to content

Distributed SOM (DSOM)

From EDM2
Revision as of 00:12, 4 October 2020 by Martini (talk | contribs) (Created page with "==What is Distributed SOM?== ==DSOM features== ==When to use DSOM== ==Chapter Outline== ==Tutorial example== ==Programming DSOM applications== ==Configuring DSOM applications=...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

What is Distributed SOM?

DSOM features

When to use DSOM

Chapter Outline

Tutorial example

Programming DSOM applications

Configuring DSOM applications

Running DSOM applications

DSOM and CORBA

Advanced topics

Error reporting and troubleshooting

A Simple DSOM Example

       The "Stack" interface
       The "Stack" class implementation
       Client program using a local stack
       Client program using a remote stack
           Using specific servers 
       A note on finding existing objects
       "Stack" server implementation
       Compiling the application
       Installing the implementation
           Setting environment variables
           Registering the class in the Interface Repository
           Registering the server in the Implementation Repository 
       Running the application
       "Stack" example run-time scenario
       Summary 

Basic Client Programming

       DSOM Object Manager
       Initializing a client program
       Exiting a client program
       Creating remote objects
           Creating an object in an arbitrary server
           Proxy objects
           Servers and server objects
           Creating an object in a specific server
           Inquiring about a remote object's implementation 
       Destroying remote objects
           Destroying objects via a proxy
           Destroying objects via the DSOM Object Manager
           Destroying objects via a server object 
       Creating remote objects using user-defined metaclasses
       Saving and restoring references to objects
           Finding existing objects 
       Finding server objects
       Invoking methods on remote objects
           Determining memory allocation and ownership 
       Passing object references in method calls
       Memory management
           Memory management for method parameters
           The CORBA policy for parameter memory management
           The 'somdReleaseResources' method and object-owned parameters 
       Writing clients that are also servers
       Compiling and linking clients 

Basic Server Programming

       Server run-time objects
           Server implementation definition
           SOM Object Adapter (SOMOA)
           Server object 
       Server activation
       Initializing a server program
           Initializing the DSOM run-time environment
           Initializing the server's ImplementationDef
           Initializing the SOM Object Adapter
           When initialization fails 
       Processing requests
       Exiting a server program
       Managing objects in the server
           Object references, ReferenceData, and the ReferenceData table
           Simple SOM object references
           SOMDServer (default server-object class)
           Creation and destruction of SOM objects
           Mapping objects to object references
           Hints on the use of create vs. create_constant
           Mapping object references to objects
           Dispatching a method 
       Example: Writing a persistent object server
       Identifying the source of a request
       Compiling and linking servers 

Implementing Classes

       Using SOM class libraries
           Role of DSOM generic server program
           Role of SOM Object Adapter
           Role of SOMDServer
           Implementation constraints 
       Using other object implementations
           Wrapping a printer API 
       Parameter memory management
       Building and registering class libraries 

Configuring DSOM Applications

       Preparing the environment
       Registering class interfaces
       Registering servers and classes
       The 'regimpl', 'pregimpl', 'wregimpl' registration utilities
           Registration steps Using 'regimpl'
           Command line interface to 'regimpl'
           Registration steps using 'pregimpl' or 'wregimpl' 
       Programmatic interface to the Implementation Repository
       The 'dsom' server manager utility
           Interpretation of 'dsom' messages 
       Verifying the DSOM environment with 'somdchk'
       Freeing interprocess communication resources on AIX
           Using 'somdclean'
           Using 'cleanipc' 

Running DSOM Applications

       Running the DSOM daemon (somdd)
       Running DSOM servers 

DSOM as a CORBA-compliant Object Request Broker

       Mapping OMG CORBA terminology onto DSOM
           Object Request Broker run-time interfaces
           Object references and proxy objects
           Creation of remote objects
           Interface definition language
           C language mapping
           Dynamic Invocation Interface (DII)
           Implementations and servers
           Object Adapters
           Extensions and limitations 

Advanced Topics

       Peer vs. client/server processes
           Multi-threaded DSOM programs
           Event-driven DSOM programs using EMan
           Sample server using EMan 
       Dynamic Invocation Interface
           The NamedValue structure
           The NVList class
           Creating argument lists
           Building a Request
           Initiating a Request
           Example code 
       Creating user-supplied proxies
       Customizing the default base proxy class
       Sockets class 

Error Reporting and Troubleshooting

       Error codes
       Troubleshooting hints
           Checking the DSOM setup
           Analyzing problem conditions 

Limitations