Table of Contents
PETALS-SE-BPEL	000
1. Component Configuration	000
2. Service Configuration	000
2.1. Expose a BPEL process as service	000
2.1.1. Service Unit descriptor	000
2.1.2. Service Unit content	000
2.1.3. RPC / Document style	000

List of Tables
2-1. Service Unit attributes to provide services	000
 Septembre 2009 
PETALS-SE-BPEL
 
The Maestro Service Engine allows to deploy BPEL 2.0 processes as services. It provides the support of business processes and workflows in the JBI environment.
 
A BPEL service is packaged and deployed as a BPEL Service Unit.
 
When a request message reaches a Maestro serviceEndpoint, it triggers an instanciation of a new BPEL process.
 
Once instanciated, a Maestro process interacts with the JBI environment to provide and consume the required services.

*	 If you want to have more details about BPEL 2.0 specification, please consult this url : 
 http://www.oasis-open.org/committees/download.php/10347/wsbpel-specification-draft-120204.htm 

Note: The passover of the security context amongst the Message Exchange involved in a BPEL process is supported

 
Chapter 1. Component Configuration
 
 TODO: In Maestro some configurations have to be done ... 
 
•	 
 
 explorer: boolean 

•	 
 
 internal-logger: boolean 

•	 
 
 TODO: Pool of instances size. 

 

Chapter 2. Service Configuration
 
2.1. Expose a BPEL process as service
 
2.1.1. Service Unit descriptor
 
The Service Unit descriptor file ( jbi.xml ) looks like this :
 
<?xml version="1.0" encoding="UTF-8"?>
<!-- JBI descriptor for PEtALS' "petals-se-orchestra" (Orchestra), version 1.1 -->
<jbi:jbi version="1.0"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:jbi="http://java.sun.com/xml/ns/jbi"
 xmlns:orchestra="http://petals.ow2.org/components/orchestra/version-1.0"
 xmlns:petalsCDK="http://petals.ow2.org/components/extensions/version-5"
 xmlns:generatedNs="http://orchestra">

 <!-- Import a Service into PEtALS or Expose a PEtALS Service => use a BC. -->
 <jbi:services binding-component="false">

   <!-- Import a Service into PEtALS => provides a Service. -->
   <jbi:provides
     interface-name="generatedNs:orchestra"
     service-name="generatedNs:orchestraService"
     endpoint-name="orchestraServiceEndpoint">
          <!-- CDK specific elements -->
     <petalsCDK:wsdl>process.wsdl</petalsCDK:wsdl>
          <!-- Component specific elements -->
     <maestro:bpel>process.bpel</maestro:bpel>
   </jbi:provides>
 </jbi:services>
</jbi:jbi>

Table 2-1. Service Unit attributes to provide services

 

2.1.2. Service Unit content
 
The Service Unit has to contain the following elements, packaged in an archive:

•	 
 
The META-INF/jbi.xml descriptor file, has described above,

•	 
 
The BPEL process file. If the BPEL is localized on a accessible URL, it can be not provided in the package.

•	 
 
The WSDL file describing the related service and associated to the description of the BPEL process. if the WSDL is localized on an accesible URL, it can be not provided in the package.

•	 
 
The external WSDL file describing imported in the description of the BPEL process

 
service-unit.zip
   + META-INF
         - jbi.xml (as defined above)
   - process.bpel (recommended)
   - service.wsdl (recommended)
   - externalservice(s).wsdl (optional)
 
Caution
 
The name of the BPEL process (BPEL root tag name) has to be the same that the service name defined in the WSDL document and the JBI descriptor

 
Caution
 
To bypass a classloading problem, the Maestro Component (petals-se-bpel) must be installed in PEtALS in an isolated class loader. Please use a PEtALS server version higher or equal to 3.0 and set the isolatedClassLoader option at true in the server.properties file.

 
 
2.1.3. RPC / Document style
 
 TODO: still true ? The PEtALS-SE-BPEL component manages the RPC style and the Document style. The style is defined into the WSDL document (via the <binding> tag).
 
Please note that in PEtALS, the reference for the style of the document (e.g. RPC or Document) is given by the binding part of the WSDL document of the partners. For example, if the partner document is defined as RPC into the Service Unit (where are all the WSDL files), the sending of the message will be done as RPC style in PEtALS.
 
If you have to use several services on the same interface, it is strongly recommanded to unify the style (all in RPC style, or all in Document style).
 
Caution
TUTU