Variables in BPEL
Variables are an essential part of each and every programming language. In BPEL, variables are used to store the data that the process wishes to retain during the execution of each process instance. For example, when a BPEL process invokes an operation on an external service (partner link), this operation may require input parameters. An operation might also return a result as an output parameter. We will use variables to store the result and to prepare the input parameters for the operation. We can also use variables to store other data, required for the process instance execution, even if it is never sent to a service.
Often, a service will require a different schema (structure) of the data to the one used in our BPEL process. Therefore, we will need to map the data to a schema expected by the service. The same holds true for the result. We will use XSLT transformations to achieve this.
As BPEL and web services are based on XML, variables in BPEL are also designed to...