View Christos Tranoris's profile on LinkedIn


Visit The Model Driven Software Network

Who's online

There are currently 0 users and 6 guests online.

Syndicate

Syndicate content

Tutorial 2: Orchestrating Web Services and Eclipse - Part 1

Orchestration and choreography in computing, are architecture frameworks which coordinate messaging/data exchange and define workflow between services and their consumers. In a nutshell, if you have a bunch of web services, you define a workflow (with orchestration) where services will follow in order to accomplish a certain requirement. These concepts are major contribution to reusability in service oriented software.
 

BPEL is a language for service orchestration; an OASIS standard. It is an XML-based grammar for describing the logic to orchestrate the interaction between Web services in a business process. WS-BPEL 2.0 is an XML-based language defining several constructs to write processes. It defines a set of basic structures like conditions or loops as well as elements to invoke web services and receive messages from services. It relies on WSDL to express web services interfaces. BPEL doesn't define a graphical notation itself (BPMN has been proposed). However many tools provide some kind of graphical editing. XML though is the syntax of a BPEL process. WSDL is used as the interface description, XML schemas are used to describe the types and XPath is used to extract parts of data. In brief the web services are described using WSDL, BPEL uses the Web Services as defined in its process script.
Finally, have in mind that the BPEL process itself is a Web Service and it's also described by a WSDL. So BPEL is an executable process and an orchestration engine that executes BPEL is required. In this tutorial we will use Apache ODE.

As you can see a client (which is a partner) actually activates the BPEL process. Partners invoke the BPEL process (client partner links) or the BPEL process may invoke partners (invoked partner links)
 
Installing Apache ODE
This is really straightforward (in this tutorial we have used version 1.3.2). Please follow the instructions from here. We will install it as a "simple Web Service in Axis 2, ODE is bundled in a WAR than can be deployed in any application server and is invoked using plain SOAP/HTTP".
Here I have just put sort instructions: Be sure that Tomcat is up and running. Login to Tomcat's manager http://localhost:8080/manager/html , go to the WAR file deploy section and browse to the path where you have uncompressed the downloaded ODE bundle. Look for ode.war file and click Deploy.
 ODE should be up and running. You should get the Axis2 welcome page under http://localhost:8080/ode .
 
BPEL designer in Eclipse
BPEL designer is an incubating project of Eclipse. However is adequate for most things we would like to do. Go to http://www.eclipse.org/bpel/install.php and the follow the instructions to install it on your Eclipse installation (this tutorial uses Ganymede and M4 build of BPEL designer, as of 8/5/2009). We were lucky and followed the update site http://download.eclipse.org/technology/bpel/update-site/ through Help->Find and Install... Inside eclipse.
 
After restarting eclipse you will be able to make BPEL projects:

 
 
Setting Up an ODE Server inside eclipse
 
Before starting a new project though, we must configure an ODE server inside eclipse. To do so, Go to Preferences->Server->Server Runtime and press Add. Fill the window like the below screenshot:
 

 
 
Press Finish and OK
 
**NOTICE** if you are using Windows VISTA, and you have installed Tomcat under the default directory C:\Program Files\Apache Software Foundation\Tomcat 6.0\, you will probably get the following errors while starting the ODE server from inside eclipse:
WARNING: Unexpected exception resolving reference
java.io.FileNotFoundException: C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf\tomcat-users.xml.new (Access is denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
at org.apache.catalina.users.MemoryUserDatabase.save(MemoryUserDatabase.java:521)
…..snip…….
 
Just go to Windows Explorer to the path C:\Program Files\Apache Software Foundation\ and give Full Permissions to your PC user for the directory C:\Program Files\Apache Software Foundation\Tomcat 6.0.(Right click, Properties, tab Security-> Users)
 
Now you could start Ode from inside eclipse. It should look like this (if you have followed also Tutorial 1):
 
 

 
In the next part we will make a small example and orchestrate a few Web Services
 
Probe further:
 
See here Choreography vs Orchestration
 
Get familiar with the WS-BPEL 2.0 standard http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html
 
Presentation documents are also available:
Business value part 1
Business value part 2
Technical overview part 1
Technical overview part 2
Technical overview part 3
 

Posted in Submitted by tranoris on November 13, 2009 - 15:14.



Reply

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.