Data manipulation

In real-life business processes, data sometimes needs to be split up in various parts, or joined from various sources. Imagine an input message to a process which contains multiple parts:
  • the name of the customer
  • an article number of the item that is ordered
  • a shipping address
  • credit card information (number, expiration date etc.)

Now also imagine that your enterprise is set up in a way that you have a department that handles the shipping, one that handles the availability, and you have a business partner that checks the validity of credit cards. Now you can easily imagine that the partner service that checks for credit cards doesn’t really care for what the customer ordered, it only cares for the name of the customer, and for the credit card information. What your process would need to do is: take these two information parts out of the input message of the process, assemble a new message just containing of these two parts, and then use this new message as the input message for the creditCardCheck Service. Analogous examples can be set up with the name shipping department etc. It becomes apparent that a mechanism for data manipulation is needed within BPEL Business processes.

BPEL therefore offers the assign activity. The assign activity contains one or more copy operations. Each copy operation has a from–spec and a to–spec, indicating the source and target elements where data gets copied from and to, respectively.


See also:

- WS-BPEL 2.0 Primer: Data Manipulation Focus Areas: BPEL | DITA | ebXML | IDtrust | OpenDocument | SAML | UBL | UDDI
OASIS sites: OASIS | Cover Pages | | AMQP | CGM Open | eGov | Emergency | IDtrust | LegalXML | Open CSA | OSLC | WS-I