Previous | Table of Contents | Next
Problem – Describing the Formal Syntax
for Cooperating Components
Business processes rely of automated support that requires collaboration among components. In order for the components to properly communicate, formal syntax in terms of information exchanged must be established.
Solution
Protocol is established through definition of interfaces that prescribe an ordered sequence of arguments, types, and defaults. Specifications for each message exchanged, including return status and exception conditions are provided. Each argument is defined in terms of a parameter which provides the default value, the direction (in, out, or both ways), and the classifier type. The format chosen should conform to industry standards in order to provide the greatest degree of flexibility. The Protocol business rule pattern recognizes the importance of interface specifications. Such specifications are a major area of interests for consortiums of vendors. The nature of protocols is well understood and is included here for completeness. The examples provided here name two important interface specifications. Specific examples conforming to these interfaces can be found in those documents.
The Object Management Group's Common Object Request Broker Architecture Version 2.1 specification provides for a complete interface description through its Interface Definition Language (IDL). A formal grammar is used for specifications that consists of one ore more type definitions, constant definitions, exception definitions, and module definitions.
The Workflow Management Coalition Workflow Client Application (Interface 2) specification version 1.2 provides a mechanism for applications to access services of workflow engines using a consistent interface. A complete set of data types, attributes, and return codes are defined. Mappings to IDL bindings are also included.
The Protocol business rule pattern maps to the Argument model element associated with an Action. The Protocol specifies the ordered list of Arguments attached to an Action. The Action in turn dispatches a Request that provides the specification for a MessageInstance.
Previous | Table of Contents | Next