OSI/MHS P7 Application Programmatic Interface (P7 API) Manual
Planning and Writing Your Application
OSI/MHS P7 Application Programmatic Interface (P7 API) Manual—424825-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.










