Input/Output Message in bpml

admin's picture

While creating the business processes and run them in Sterling Integrator you can work without knowing what input and output messages are, what their roles are, what problems input or output message can cause and how you can obtain your aim easier by using input message.
But it is important to know what messages are, how they are used by services and business processes.
They are also useful for better understanding principal how business process and services interacts to each other, writing processes that will execute faster and also for debugging processes easier.
We know that it is more efficient to write specified Xpath than use searching through all the XML in the Process Data by '//' addressing. If understand Output Message we can see that service can read only its own configuration parameters instead of both Process Data and its configuration parameters. If we decide to give services parameters from configuration and Process Data, we can determine priority between them.   
Although definitions will not be enough to understand meaning and role of input/output messages, I will write them first and after that explain them on examples and real situations.
A business process is a set of activities, includes services and adapters or simple bpml activities, and inside of BP, interaction between business process and services/adapters is obtained by exchanging input and output messages.
Every business process works on principal of exchanging messages between business process context or Process Data and services. So every service in a business process, that acts as one activity, receives XML message from business process - it is Output message, and the result of service, after its execution, is also sent as XML message back to a business process – it is Input Message.
Short explanation for types of message:
Output Message – XML message from a business process to a service/adapter
Input Message – XML message from a service/adapter to a business process