DCE Application Programming Guide
HP NonStop DCE Application Programming Guide—429551-003
2-1
2
Application Design Considerations
This section discusses:
•
Choosing a Server Model on page 2-1
•
RPC Considerations and Limits on page 2-2
•
Interprocess Communication With Non-DCE Programs on page 2-6
•
Programming Languages on page 2-8
•
Using a Fault-Tolerant Backing Store on page 2-9
Choosing a Server Model
When designing server applications for NonStop DCE, developers must use the
standard multithreaded DCE server model from the OSF. This server model has
advantages and disadvantages. Model for Structuring Applications provides an
overview of this model. Additional guidance for the use of the standard multithreaded
DCE server model is given in the volumes of the OSF DCE Application Development
Guide.
NonStop DCE does not support the distributor-agent API. That distributor-agent
extension is not provided in product version 1.1 of NonStop DCE.
Minor coding changes are required to migrate distributor-agent applications to the
standard OSF DCE version 1.1 server API. If you have an existing distributor-agent
application, convert your application to use the NonStop DCE 1.1 server initialization
API. The server must be written so that it is started and managed by dced.
Model for Structuring Applications
When a client issues a RPC, the server run-time code calls the server stub associated
with the requested operation. The stub, in turn, calls the application manager code that
implements the remote operation. Both the stub and the application manager code are
executed by a server call thread. Servers typically execute with multiple call threads.
The number of call threads determines the maximum number of calls that can be
executed concurrently.
A single application can mix DCE and non-DCE components. It is likely that many
NonStop DCE applications will be built on existing NonStop operating system
applications, particularly on Pathway server classes.
Standard Multithreaded Server
NonStop DCE supports the standard multithreaded server model from OSF, in which
the server executes as a single process with multiple threads. Typically, the server
creates a new thread to process an incoming RPC, terminating the thread when the
RPC finishes.