Sun Java System Application Server

# BPEL BluePrints |

## Contents

A. About
B. Directory Layout
C. Descriptions of Key Directories and Files
D. How to Run the Blueprints Samples
E. For More Information
A. About the BPEL BluePrints

The Java EE 5 SDK contains the latest BPEL BluePrints projects, which together present solutions for developing composite business processes that logically aggregate, orchestrate, and consume web services.

The Web Services Business Process Execution Language (WS-BPEL, or simply BPEL) is an XML-based language used to program business processes. A business process typically involves the exchange of messages between the process and other web services, known as partner services: hence the term web service orchestration.

The following BPEL BluePrints provide guidelines, patterns, and code for several real-world application scenarios.

- BPEL BluePrint 1: Synchronous Web Service Interactions Using BPEL
- BPEL BluePrint 2: Asynchronous Web Service Interactions Using BPEL
- BPEL BluePrint 3: Fault Handling Using BPEL
- BPEL BluePrint 4: Message-Based Coordination of Events Using BPEL
- BPEL BluePrint 5: Concurrent Asynchronous Coordination of Events Using BPEL

Note: The BPEL processes described in each BluePrint are also available as sample projects in the NetBeans Enterprise Pack 5.5 IDE.

While the WS-BPEL specification itself does not include a graphical notation, many tools provide a visual editor for diagramming business processes and generating BPEL source code.

B. Directory Layout

./bpel-blueprints-index.html - this file

./common.properties - build properties that are common to all the BPEL BluePrints

./soapclient/ - code that is used to test the different test cases of the BluePrints.

./BluePrint1 [2,3,4,5] /

build.xml - ant build file

build.properties - properties that are specific to the BluePrint

deployment-artifacts/ - deployment artifacts (like jbi.xml) that are required to build the service assembly

docs/ - docs explaining the BluePrint

src/ - source files location

test/ - test cases that are associated with the BluePrint

C. Description of Key Directories and Files
./common.properties
Populate the common.properties file with the appropriate information. Most commonly you would want to update the location to find the test soap client.

./BluePrint[*]/build.properties
Property jbi.service.assembly.name provides the name of the service assembly.
./BluePrint[*]/deployment-artifacts/META-INF/jbi.xml
Defines the service assembly, associates the service units to the appropriate components and provides the service connections for the supplied BPEL source files.

If the component name of the bpelservice engine or the http binding component change, then this file needs to be updated to reflect the correct component names.

If the user chooses to modify the BPELs and WSDLs to suit their needs, the service connections in this section will also have to be updated.
Component specific connection info

./BluePrint[*]/deployment-artifacts/httpBC/META-INF/jbi.xml
./BluePrint[*]/deployment-artifacts/bpelSE/META-INF/jbi.xml

These files contain the component specific connection info. If users choose to modify the BPELs and WSDLs to suit their needs, they will have to update the service connections in this section.
./soapclient/
Contains a soap client that invokes to the http BC using soap as the binding protocol. Expects a properties file and an input file. The properties file defines the destination, and the input file location as well as the name of the output file to which it writes out the response.
./BluePrint[*]/test
Contains the properties files and the input files corresponding to the test cases defined in the respective BluePrint documents.
Contains an Expected_Output.xml file that users may use to compare the results of the test run

D. How to Run the BPEL Blueprints Samples

1. Make sure the Sun Java System Application Server is started.

2. Start BPEL service engine and HTTP Soap Binding from admin console.

3. Make sure your environment is set correct. Before you can deploy a BluePrints project, you need to ensure that the samples have been configured appropriately to include certain application server-specific properties. Follow the instructions for the samples before continuing to build and deploy the BluePrints projects.

4. Populate the test.framework.dir property in the common.properties file with the appropriate information. Most commonly you would want to update the location to find the test soap client.

       test.framework.dir=../soapclient

5. Make sure you are in the folder ./BluePrint[*].

6. Enter the command ant compile. This builds your project, and creates a build folder in the process.

7. Enter the command ant package-module. This packages the service assembly, and creates a dist folder in the process.

8. Enter the command ant deploy. This deploys the service assembly to the JBI components and starts the service assembly.

9. Enter the command ant run. This runs the test cases that are defined in the ./BluePrint[*]/test folder.

10. Enter the command ant clean. This stops, shutsdown and undeploys the service assembly, removes the dist folder, removes the build folder.

11. Other targets that the user may want to use are:
    ant all This does the steps from D.7 to D.10

ant undeploy This stops, shutsdown and undeploys the service assembly

E. For More Information

- See the BPEL BluePrint sample projects included in the NetBeans Enterprise Pack 5.5 IDE.
- For a detailed description of the WS-BPEL language, refer to the WS-BPEL specification.
- Check out the latest entries in the BPEL BluePrints category of the Java BluePrints Solutions Catalog to see if any of the new topics interest you.
- Check out the Java BluePrints website for the official blueprints site.

Copyright © 2006 Sun Microsystems, Inc. All rights reserved.