Saturday, September 17, 2011

Introduction and Advanced Concepts of BPEL

Waruna and I held a tutorial session for WSO2Con-2011 post conference tutorials. We basically explained and demonstrated on what the WS-BPEL constructs are and how to write a simple WS-BPEL process. And also we discussed some advanced concepts related to WS-BPEL as well. Here I have attached the slide-deck we presented.

Hm... it's been quite a messed-up week after all. Tomorrow I'm going for some snorkeling+diving with some of my friends :). Have a nice week-end!.

Related post: http://ddweerasiri.blogspot.com/2011/08/advanced-concepts-in-ws-bpel-20.html

WSO2Con-2011 Day 03

For the last day of the conference, keynote speakers for the morning sessions were Gregor Hohpe from Google Inc. and Narendra Nathmal from Cognizant Technologies. Gregor Hohpe discussed about his experience on enterprise integration patterns and its past, present and future. Narendra Nathmal talked on "SOA & Beyond: Using Open Source Technologies".
During the last day of the conference, several speakers told their stories on their work related to WSO2.
It was amazed to see how people use open source software and build new stuff and contribute back to the community back. One of my favorite project was "Advanced Business Process Instance Monitoring in WSO2 Carbon" by David Schumm who is a research assistant from Institute of Architecture of Application Systems (IAAS), Germany.

Thursday, September 15, 2011

WSO2Con-2011 Day 02

During the day 02 at WSO2Con-2011, I was able to join some of the sessions. Today the keynote speaker was Sastry Malladi who is a distinguished architect from eBay. The speech was about Service Orientation and how eBay has successfully been able to pioneer and leverage service orientation.

Azeez talked about "Open source middleware for Clouds" and elaborated the underneath architecture in WSO2 StrtosLive PaaS. Also he described how cloud-native attributes like Cloud native attributes like distributed/dynamically wired, elastic, multi-tenant, self-service, granularly metered and billed, incrementally deployed and tested enabled in Stratos.

Shankar did a very comprehensive demonstration on creating an applications for StratosLive. Demonstration included most of the features like creating tenants, user import, web-app/service development and deployment, securing web-apps, creating SaaS on top of StratosLive etc.
Also the demonstration included features related WSO2 Relational Storage Service (RSS).

Wednesday, September 14, 2011

WSO2Con-2011 Day 01

Today, WSO2Con-2011 was officially kicked-off after lighting the traditional oil lamp at Waters Edge, Colombo. The very first event was a show from a variety of drummers which brought a fresh start for the event. Then Dr. Sanjiva talked about the "Causing Trouble" which was a talk on past, present and future of WSO2 and its culture. Then Dr. C. Mohan deliverred his key-note speech on IBM Global Technology Outlook - 2011. After then the speakers from WSO2 and guest speakers presented their topics in two different tracks. Then there was a panel discussion moderated by Paul Fremantle. Panelists were Sastry Malladi, Afkham Azeez, Brad Svee and Narendra Nathmal.
Finally the day 01 concluded with a nice elephant ride and a cultural show in Lobby area, Waters Edge.

Multi-tenancy: Winning formula for a PaaS

Today at WSO2Con-2011, Dr. Srinath Perera discussed about what's multi-tennacy and the multi-tenant architecture of WSO2 Carbon platform. Also he talked about multi-tennacy matuarity models and how each of them has different garualarity of sharing and isolation. Then he went through the design and implementation of data isolation, execution isolation and performance isolation in WSO2 Stratos which is the cloud platform for enterprise applications. Finally he discussed about the performance over-haed on multi-tenant applications compared with its normal counterpart.


Wednesday, September 7, 2011

Writing a BPEL compensation handler

Compensation handling plays an important role in Business Process Management. It specifies how to undo a particular task which is not completed due to some error. Let’s take an example.
eg - Take a simple travel booking process which includes three parallel sub-tasks as follows.
Travel Booking Process

Now let’s assume hotel and taxi booking were successful. But couldn't book the flight. Now the “Book Hotel” and “Book Taxi” sub tasks should be compensated in order to mitigate the loss.

In WS-BPEL 2.0, compensation handling is specified using <compensationHandler/>. And <compensateScope/> or <compensate/> can be used to trigger the <compensationHandler/>.

Let’s take a look at the how a compensation handler can be implemented.

Friday, September 2, 2011

How to send email notifications via BPELs

When business process modeling, there can be requirements to send notifications to some external parties regarding the run-time state of the business process. One general example would be when a particular task is completed, the relevant parties is sent a email.
This functionality is supported by WSO2 BPS via Axis2 mail transport.  So using a activity you can send a request to a particular email address.

There 3 steps involved in setting up the environment.
  • Configure Axis2 mail transport in BPS_HOME/repository/conf/axis2.xml
  • Create WSDL which has mail address as the service address
  • Implement the BPEL process with a invoke activity which sends a mail to configured e-mail address

Configuring Axis2 Mail Transport
In this process we only use mail sending functionality, so we don't want to configure transport receiver. To configure mail transport sender first open up the axis2.xml file which resides in BPS_HOME/repository/conf directory in a text editor and add the following mail transport sender configuration to axis2.xml. Place this after other transport sender configurations.
In the above configuration we have used gmail account we have created for testing purposes. But in production deployment you have to use your own e-mail account.

After you save the axis2.xml after adding above configuration, mail transport configuration is done. Now you can use addresses in mailto: format to as the service endpoint address in WSDL and use Axis2 client API to send e-mails.


Create WSDL which has mail address as the service address
So you can create a partner WSDL which has a service endpoint to a email address. As mail sending act as out-only operation, make sure to modify the portType for sending mails accordingly.


Implement the BPEL process with a invoke activity which sends a mail to configured e-mail address
Now you can use an activity to invoke email sending operation with relevant portType and partner-Links.

Avoiding network overhead when interacting a partner services via BPEL

If you have deployed your BPEL process and it’s partner services on the same WSO2 Carbon instance, you can avoid the network overhead using usePeer2Peer=”false” for the particular partner interaction in deploy.xml. The default value is “true”. Here’s a sample.

Business Process hosting in Cloud

Introduction
In this post I’m going to discuss about some concerns of hosting business processes in cloud. First we’ll discuss around the concept of multi-tenancy and a multi-tenancy architecture for business process executions. Then we’ll move on to our main topic of hosting business processes in cloud and the concerns wrapped around it.
WSO2 Stratos BPS is a WS-BPEL compliant business process run-time PaaS whose architecture supports multi-tenancy in the cloud. So the users can host the enterprise level WS-BPEL business processes in WSO2 Stratos BPS and manage them. So we’ll refer it to elaborate more on some of the following sections.

Table of Content
  • Introduction
  • Terminology
  • Multi-tenancy
    • What’s multi-tenancy?
    • Virtualization
    • Goals?
    • Importance
    • What’s in it for business processes?
  • Hosting business processes in cloud
    • Advantages
    • Concerns
      • QoS
        • Throttling
        • Security
    • Billing, Metering, Logging and Business intelligence for Business Processes
      • Billing and Metering
      • Logging
    • Tooling support
  • References