A complete SOA Application with NetBeans 5.5: from Web Services creation to BPEL Orchestration
This tutorial shows you how to build a complete SOA Application using NetBeans 5.5. It will show how to carry out an idea of a SOA "e-commerce-like" application: from Web Services implementation to BPEL orchestration.
In this tutorial you will build a SOA Order Management Application through a Web Services Orchestration using BPEL in NetBeans 5.5.
The application flow we are going to build is described in the following figure.
Figure 1 - The SOA application flow you are going to build
The previous diagram, shown in Figure 1, points out the following Application requirements:
- The application accepts an order request, which is specified by: a customer ID and a stock ID
- If the customer ID is not valid then the application must notify the client and exit
- Else, if the stock ID doesn't corrispond to a valid stock then notify the client and exit
- Else process order, prepare a "Order Accepted" invoice and send it back to the client
What we want to do is: compose the whole application as a Web Service orchestration and finally publish it as a Web Service itself described by a WSDL document. So, in the rest of this tutorial, you will be guided through three steps:
- Web Services creation; the box items in the diagram in Figure 1 will be the Web Services: an AccountManager, a StockManager and an OrderManager.
- XML-Schema and WSDL creation.
- SOA application composition with BPEL: editing, building, deploying and testing.
Prerequisites for this tutorial
- This tutorial presumes that you have a basic Java programming experience, a basic knowledge on what are Web Services (and related technologies, like SOAP,...) and the concept of Service Oriented Architecture (SOA)
- If you are not experienced with Web Services, you can refer to: Web Services
- If you don't know what is SOA, you can refer to: Service Oriented Architecture
Software Needed for the Tutorial
PART I: Web Services implementation
In this part of the tutorial you will learn how to implement, from scratch, the three Web Services which are the foundation bricks for the SOA Application. In particular, you are going to see how implement the following services:
- AccountManagerWS, which exposes an operation for account checking: checkCustomer.
- StockManagerWS, which exposes an operation for stock checking: checkStock.
- OrderManagerWS, which exposes an operation for order processing and registration: processOrder.
The following flash demo shows you how to accomplish those objectives: Web Services creation
You have just created the Web Service. Now, you are going to create an XML-Schema, which will define all data types used in the WSDL which will describe the whole SOA Application and which will be created starting from the XML-Schema.
PART II: XML-Schema and WSDL creation
In this part of the tutorial you will learn how to create and edit a XML-Schema from scratch, using the NetBeans 5.5 XML-Schema visual editor.
The XML-Schema will define all data types used by the WDSL of the SOA Application, which will be created just after the XML-Schema editing.
The WSDL document will describe the SOA Application as a Web Service specifying only an operation, which can be used by clients to start an order processing workflow.
The following flash demo shows you how to create XML-Schema and WSDL: XML-Schema and WSDL editing
Now, you are ready to learn how to use the created Web Services and the WSDL to compose a Web Service Orchestration with BPEL.
PART III: Composing the SOA Application through a Web Service Orchestration with BPEL
In this part of the tutorial you will learn to use the NetBeans 5.5 Visual BPEL editor to compose a SOA Application built upon a Web Service Orchestration. You will learn how to use the created Web Services as components of the application, how to build and deploy it and how to quickly test the composed SOA Application.
The following flash demo shows how to build the SOA Application: Web Services Orchestration with BPEL
This tutorial, thanks to three flash demos, showed how to build and test a complete SOA Application: starting from the application requirements definition, the tutorial has shown how to create Web Services and test them; how to create a XML-Schema and a WSDL; how to build and test a SOA application through a Web Services Orchestration using BPEL. All steps were achieved using the SOA features of NetBeans IDE 5.5.