Process mode is used to get data from a transport, enrich the data or submit a request and get a response, and put the data to another transport. Process mode is most appropriate when interfacing with applications that operate in a synchronous manner such as a CORBA call, an RFC request reply, or a database SELECT. The user must create a processBuffer() or a processData() function for the Process mode to perform enrichment on the incoming data or a request-reply mechanism.
In Process mode, the Adapter Shell takes information from a transport, calls your adapter plug-in library for processing, and delivers the resulting data to an output transport. Process mode runs with two types of data: tree (NDO) or buffer. The processData() function assumes that the data on the transport is a serialized data tree. The Adapter Shell deserializes the data, passes a tree to processData(), and then expects a modified or new data tree to be passed back. The Adapter Shell then serializes the modified data tree and places the data on the output transport. The processBuffer() function receives raw data from the e-ADK and returns raw data.
If the adapter plug-in throws an error, Process determines the severity of the error to determine whether the message should be retried. If the error allows retires, the adapter retries the specified number of times and then puts the message received to the failure transport. If the adapter receives a critical error, the transaction is rolled back and the adapter shuts down.
Process mode retrieves data from a transport, calls the user-written processing function, and puts data to a transport. This effectively provides a shell for processing data without having to understand transports. Process mode can be used with two different types of data: tree or buffer.