Before you start
This tutorial is for developers who build applications that use web services. With web services becoming increasingly popular, developers frequently have to create programs that coordinate the efforts of multiple web services to handle a business process. This article focuses on WS-BPEL, which is an important standard that provides a robust solution to this problem and has become a popular choice among developers.
In order to follow along with this tutorial, you should have a basic understanding of Simple Object Access Protocol (SOAP) and related technologies, such as WSDL. Read the first five tutorials in this series, especially Part 1 and Part 2, for the best understanding.
This tutorial series teaches the basic concepts of web services by following the exploits of the fictional newspaper, Daily Moon, as the staff uses web services to create a workflow system to increase productivity in this competitive environment.
Part 1 starts simply, explaining the basic concepts behind web services and showing you how to use SOAP, the specification that underlies most of what is to come, connecting the classifieds department with the Content Management System.
Part 2 takes things a step further, explaining how to use Web Services Description Language (WSDL) to define the messages that web services produce, enabling the team to more easily create services and the clients that connect to them.
Part 3 finds the team with a number of services in place and a desire to locate them easily. In response, Universal Description, Discovery, and Integration (UDDI) provides a searchable registry of available services as a way to publicize its own services to others.
In Part 4, Rudy, publisher of the Daily Moon, decides that the paper needs to institute better security procedures for web services that access their internal systems.
Part 5 shows the changes the teams needed to make in order to access those newly secured services.
Part 6 is about building and verifying interoperable web services. The newspaper staff members are already familiar with the importance of reaching the largest possible audience, so they decide to analyze their web services to ensure that anyone who wants to use them will have an easy time doing so.
This Part 7 introduces the Web Services Business Process Execution Language (WS-BPEL) and shows how to use it to create complex applications by coordinating the efforts of individual services.
In this Part 7 of the web services tutorial series, we find the Daily Moon staff hard at work building an application that automates the process of receiving classified advertisements from their customers. The Daily Moon has a business relationship with a bank, and the staff would love to have an application that receives a classified advertisement and automatically deposits the payment into the bank. Fortunately, the bank that the staff works with has a web service that can be used to make such a deposit. The staff researches this problem and decides to try using WS-BPEL to mash up their internal classified advertisement web service with the bank's web service. With these two services, the staff can model the business process it has in mind and build an application to handle it.
This tutorial teaches you about building sophisticated applications that coordinate the efforts of existing web services. By composing web services in this way, you can quickly build applications of tremendous utility. web services are designed to be easy to find and easy to use; it is natural to want to link web services in order to build powerful new applications.
The code used in this tutorial is not specific to any particular programming language or environment. The examples provided are the same ones used throughout this tutorial series. To follow along with the examples, you need the following software installed:
Java 2 Standard Edition version 1.4.2 or higher —All of these tools are Java-based, as are the services and clients you build in this tutorial.
Apache Axis2 version 1.0 —Axis2 is a full-featured SOAP toolkit that provides implementations of several web service APIs including SOAP and WSDL. A toolkit like Axis2 is invaluable when it comes to web service development. Toolkits of similar scope exist for other programming languages and environments. The Axis project at Apache has a long history and originated with an IBM effort called SOAP4J.
Apache Geronimo or another application server—This tutorial series uses the Apache Geronimo J2EE server throughout (which is the basis for IBM WebSphere® Community Edition server). You can use other application servers instead, but Geronimo is simple, lightweight, and freely available, so it is a good choice for getting up-and-running quickly.
BPWS4J version 2.1 —IBM provides a BPEL runtime, which enables you to run processes that are written using WS-BPEL. BPWS4J is available for a 90-day trial period.

