High-level Design - APIs
Messaging Team
12-Sept-96
This section describes the API for the Message Oriented Service(MOS)
integrated with DCE. MOS-API supports a message queuing model.
In a message queuing model, a source peer application sends
messages to a queue manager/queue regardless if the destination
peer application is available.
MOS-API is used by senders, recipients, and system administration
interfaces. The APIs are categorized as follows:
- API Control
- Naming
- Conversation Management
- Security
- Marshalling
- Message Attributes Utilities
- Message Selection Utilities
- Queue Attributes Utilities
- Queue Management Utilities
The following table describes a high-level list of functions by
category and the services offered. Note that the APIs related to
messaging specifically begin with "mos_".
API Control
This group of interfaces performs general initialization and
cleanup of messaging and queuing facilities. They are called at
the beginning and end of applications.
Naming
This group of interfaces manipulates the namespace where clients
advertize or find messaging and queuing services.
In DCE, naming is achieved via the RPC Naming Service Interface(NSI).
MOS-API provides an interface to attach and detach to resources as
well as creating groups of resources. A resource is a name in the
namespace that may be a queue, a Q-mgr, a destination peer application,
a specific NSI entry, group, or profile name.
In MOS-API, name syntaxes are hardcoded as "rpc_c_ns_syntax_default".
For seasoned DCE application writers, the RPC-API may be used for
manipulating NSI entries, groups, and profiles. For example, if
a messaging application requires to work with profiles, then
the RPC-API may be used.
Conversation Management
This group of interfaces do the actual work of getting messages
from senders to recipients. Also, interfaces to send messages to
groups of recipients are provided.
Security
MOS-API adheres to the model specified in DCE Security AES. MOS-API
provides an interface for an end-to-end protection level and a means
to identify initial senders to recipients.
In MOS-API, the authorization service is hardcoded as
"rpc_c_authz_dce". The authentication service is hardcoded as
"rpc_c_authn_dce_secret".
DCE Security may be used for manipulating acls on queues or
queue managers, creating security groups of queue managers,
and so forth.
Marshalling
At the lowest level, hidden from the programmers,
simple arrays of bytes are sent from sender to recipient processes.
We provide straightforward mechanisms to employ IDL-generated serialization
functions so structured data can be sent via the messaging services.
Message Attributes Utilities
This group of interfaces allow manipulation of attributes on messages.
There are separate interfaces to set and get each attribute.
Once a message and its corresponding message attributes are sent, neither
the message nor its message attributes can be modified.
Message Selection Utilities
This group of interfaces allow manipulation of selection criteria on
messages to be retrieved.
Queue Attributes Utilities
This group of interfaces allow manipulation of attributes on queues themselves.
There are separate interfaces to set and get each attribute.
Queue Management Utilities
This group of interfaces allow administration of queues.
[
High-level Design TOC |
Messaging |
Main OSF
]