After declaring the relationships between services, the developer uses BPEL to create containers to hold the messages that the services use as input and output. Containers are very much like a Datatype Channel (111) for the message types defined in WSDL. Depending on the underlying container implementation, a container could also be considered from the perspective of the Shared Database (47) integration style, but with added encapsulation and built-in collaboration semantics; a container is a shared data repository used by separate services.

