Developing For Your Own Needs

iWay Service Manager provides for a wide range of business exits for user-customization. Exits exist in document execution, parsing, output, validation, transformation, and security.

Exits are written in Java, and can take advantage of programming services offered by the core system during their execution. Services such as document parsing, document modification, tracing, and use of an internal object store are all made available as appropriate to the task of the exit. Much of the standard functionality of the system is provided through iWay-written code run at the exit points, which is simply replaced or supplemented by user-written code for special tasks.

There are several standard exit points:

Document execution exits handle the actual payload. These are often called business agents. They are at the application and business level. Business agents execute following all input transforms, and represent the turn-around point at which an input document becomes an output document. Business agents typically encompass the business logic associated with the document. Business agents can be stacked, such that the output of one business agent is passed into the next business agent, or multiple business agents can be executed in parallel.

Preparsers process the input before it becomes a processable document. Typically, preparsers are used to change non-XML into XML, for example an input HIPAA document in EDI format that is to be processed through the system. Preparsers can be stacked, so that the output of one preparser can be passed to the next preparser. Input to the first preparser is a byte stream, and output is a string. Subsequent preparsers in the chain accept strings and emit strings. Following the last preparser, the engine parses the string as an XML document.

Reviewers act immediately following the XML parse, and immediately before the preemitter exit stage. Reviewers act in the same manner as business agents: an input document becomes an output document and chaining is supported. Document execution exits are intended to process payloads, while reviewers are intended for handling headers.

Preemitters process the output document just before emit. Typically, preemitters turn the XML into a non-XML form, such as EDI. Preemitters can be stacked. The first preemitter accepts as input a document, and emits a byte stream. Subsequent preemitters accept the byte stream output from the first preemitter, and emit a byte stream.

Encryptors accept byte streams and emit byte streams. Encryptors are the first and last exits through which the document passes.

Channel initializers are exits that are invoked when the protocol listener is first started. These exits can perform any special processing required such as initializing an external system, and then return control to cause the listener to either continue startup or to terminate. Use of these exits is rare, and you will probably never need to develop such an exit.

Validation exits receive control through the rules system, by which nodes of the incoming and outgoing document are checked for validity. The rules system is discussed in iWay Service Manager Rules System.


iWay Software