OSI/MHS P7 Application Programmatic Interface (P7 API) Manual

Planning and Writing Your Application
OSI/MHS P7 Application Programmatic Interface (P7 API) Manual424825-001
2-2
Determining the Services Required
Determining the Services Required
In planning a client application, you need to consider what you want the application to
do. From those considerations, you then determine what services you require from the
OSI/MHS subsystem. For example, if you plan to retrieve messages from an OSI/MHS
mailbox, you might need your application to:
1. Bind to the OSI/MHS subsystem.
2. Issue a LIST request to acquire information about the newly arrived message.
3. Issue a FETCH request to get the message.
4. Unbind from the OSI/MHS subsystem.
Your application might need other services. The P7 API also allows SUBMIT,
SUMMARIZE, REGISTER-MS, CANCEL DEFERRED, and DELETE operations.
Defining the Requirements of the OSI/MHS APPL Objects
The next step in planning your client application is to define the requirements of the MS
APPL objects in the OSI/MHS subsystem. All applications that connect to the
OSI/MHS subsystem must be defined with APPL objects. For the P7 API, the APPL
objects must be MS APPL objects. An MS APPL object defines the client application as
one that connects to a message store of the OSI/MHS subsystem.
MS APPL objects can have many attributes, of which one is the submission control
attribute called SUB-RELIABLE-TRANSFER. This attribute specifies whether
messages can be submitted more than once and also specifies the path taken by a
message after it reaches the LO group. See “Submission Operations” later in this
section for a discussion of SUB-RELIABLE-TRANSFER and message submission.
For information on other MS APPL object attributes, see the OSI/MHS SCF Reference
Manual.
Defining Message Flow
The message flow across the P7 API interface starts at the client application and is
defined by the P7 and ROSE protocols. In planning your application, you need to
determine what requirements are placed on it by the P7 protocol. For example, do you
need to encode and decode the messages passing back and forth, or does another piece
of software include these facilities?
Planning for Fault Recovery
You can configure and manage the client application in any manner supported by the
NonStop Kernel. You can structure it for use as a NonStop process pair or any other
process type supported within the Compaq programming environment.
If the client process is the active process of a NonStop process pair, and a takeover
occurs by the backup process, the backup process must reinitialize the P7 API
environment and begin new sessions. The P7 API does not provide NonStop support to
a client application that is bound to the P7 API procedures.