To begin building an AIM, you select an object from the object
list and click Add. Table 1-1 lists each object type and its primary
function.
Table 1-1: Message interaction objects
Object type
|
What it does
|
Major objects:
|
Domains and files
|
Domains – logical
containers for acquisition and delivery AIM project (.prj)
files. Each AIM must have a project file.
Files – in the MSG-IDE context, files are
containers for MSG-IDE objects that are common to more than one
project, which allows you to build objects once, save the object
in a file (.fle), then include the file in
each project that requires the common objects.
|
Communications
|
Identifies the connection component that
the AIM uses to communicate with the endpoint application.
|
Control flow
|
A container of functions and data objects
that control the processing of data. Defines the startup and shutdown
processing for TCP/IP AIM communication object, and define
the actions to take and the functions to perform once a message
frame object matches on incoming data.
You must always pass the argument “blob *pb ” to
a control flow object because the control flow object always receives
the data in a blob.
A control flow object can be called by:
A protocol object after the protocol
object receives data from the communication object.
A message frame object after that message frame
matches on data.
Another control flow object.
|
Message frame
|
Defines the characteristics of the data
coming from the source endpoint system by describing the data. Message
frame objects include the number of bytes, all data, hexidecimal,
decimal, octal, ASCII, and control characters. For example, the
data below uses the message frame object to match a transaction
that includes VT as the header control character and FS & CR
as the trailer control characters.
 Objects in the message frame matching list are ordered in
the sequence of the incoming message. In this example, the first
item in the list would be the control character VT.
|
Protocol
|
Regulate the flow of data from the communication
object to the message frame objects. It is the main logical container
for other message interaction objects.
All data sent to an acquisition AIM by the communication
object enters the protocol object, which then controls the passage
of data to the message frame objects. A protocol object must be
started in the clinit() function or with the process() method.
The protocol object identifies:
The communications object to use
The available message frame objects
The control flow objects to run after the communication
object connects to the port and after communication object closes
or losses the port connection
The control flow object to run when the protocol
object receives data.
|
Supporting objects:
|
Data
|
Provide data variable definitions for
data that you may want to manipulate or access at a later point
in the program. A data object is any data variable defined with
MSG-IDE or TRAN-IDE.
Create data objects to build a distributed function call command
for gathering or sending data, to add a symbolic name definition,
or to build your own structures or class definitions.
|
Distributed Function
|
Used to build distributed function call
(DFC) commands for the client and its corresponding DFC entry point
for the server.When the client needs to gather or send data, to
an application endpoint, it uses a DFC command to send a transaction
to the server.
|
Function
|
Within a control flow, a function object
defines the actions to take, either on the data itself or because
of the data’s presence. When not within a control flow,
a function object defines the actions to take to service a DFC command.
Function objects are user-provided routines within which you may
perform data manipulation and actions.
|
Other objects:
|
Blob
|
A blob object (Binary
Large Object Block) is a special type of data object. A blob may contain
any type of data, including null bytes. Blob objects
have methods that you can use within a function object to manipulate
the contents of the blob.
|
Database Interface
|
Allows ODL code to access external SQL
databases.
|
I/O File Object
|
Allows you access disk files or to read
the contents of a directory.
|
Production
|
Displays the production objects when
you open a TRAN-IDE project file in MSG-IDE. You can only display
production objects in MSG-IDE; you must use TRAN-IDE to edit or
remove the objects.
|
Timer
|
Allows you to set an alarm to keep track
of the time a user spends doing certain activities, or to execute
specific commands on a periodic basis.
|