The Future of Java

In his newsletter What’s Next? Life After J2EE David Chappel writes down some interesting thoughts about the future of Java.

“…. Given this reality, what will the dominant Java application platform look like in the next few years? One possibility is that no leading choice will emerge, that JEE5 and Open SOA and various open source technologies will all gain a reasonable number of adherents. While technology fans might rejoice at this, enterprise decision makers

QuickModeler 2.1 released

When Visual Studio 2005 was released, I thought that there wouldn’t be the need for a reverse engineering class designer anymore. So I did not migrate QuickModeler to VS.NET 2005. But in the recent months I got many requests for this add-in. This is probably due to the fact that Visual Studio Express does not contain a class designer. So I decided to migrate it and finally it

Free BPEL 2.0 Designer

Active Endpoints, Inc., the leading provider of SOA orchestration products and services, today announced the availability of ActiveBPEL 3.0. The ActiveBPEL product family includes open source and commercial SOA orchestration solutions that are standards-compliant and platform-neutral, forming the foundation for fast, cost-effective business and systems integration. Among other important capabilities, ActiveBPEL 3.0 comprehensively supports the forthcoming WS-BPEL 2.0 standard, which will be officially published early in 2007.
The Eclipse based ActiveBPEL Designer is free.

Mediation and Orchestration

If you are in a real project knowing the difference between mediation and orchestration is important.
In my previous blog entry I gave a short introduction into the different types of processes.
If found some interesting articles that provide more detailed information about the subject.

A good article written by Satadru Roy about mediation and orchestration can be found at
SOA infrastructure: Mediation and orchestration

Another one written by Ronan Bradley is:
ESB: saving SOA from a dead end

Differentiation of Processes

With the advent ot Service-oriented Architecture (SOA), processes are getting more and more into focus.
If you talk to people with different backgrounds about processes, you’ll likely get different definitions which often causes confusion.

The web developer

The web developer sees processes as a series of dialogs or web pages.
These web pages are connected to guide the user to carry out a certain task such as ordering a book in an online bookshop.
Technologies to connect web pages are Beehives Page flow, Struts or Java Server Faces (JSF).
These kind of processes are refered to as Page Flows.

The analyst

When you talk to an analyst, he/she might speak about business processes. A business process is relevant in a broader business context and might be long running.
In the example with the book order the business process starts after the order was commited by the web application. First the process checks whether the book is in stock. If not is re-ordered from the wholesaler. Then it checks whether the payment has been received and if yes the book is finally delivered to the customer.
Business processes are mainly decribed by specifications such as BPEL/BPNM, UML activity diagrams or XPDL for example used by the BEA Aqualogic BPM Suite.

The integrator

The story gets more complicated if one talks to a person who has to integrate different systems.
For this purpose an Enterprise Service Bus (ESB) is used in more and more projects.
One of the main responsibilities of an ESB is to virtualize the interaction amongst service providers and consumers.
This requires small processes as well, which are used for mediation. Mediation involves for instance schema and protocol transformations.
In our example the wholesaler might support a different message schema and transport protocol than the bookshop. The mediation is conducted by the ESB.
Currently no standardized notation is available to decribe Mediation Processes. Java Business Integration (JBI), which is for instance implemented by Apache ServiceMix, defines these processes implicit as part of the ServiceAssemblies.

processes (39k image)

What I experience is the following: If the discussion is about processes, often BPEL is suggested as the ultimate technical means. But if the focus is on page flow or mediation this might no be the right option.
Although the borders seem to blur. For instance JBoss Seam uses their jBPM engine to describe page flows as well.

Microsoft Biztalk vs. Apache ServiceMix

Over the last few weeks I’ve been evaluating Apache ServiceMix Enterprise Service Bus. I wanted to find out whether it is suitable for production and which features it offers. Compared to commercial products like Biztalk Server it is limited in functionality but nevertheless it is quite useful and works well.
If you are looking for an Open Source alternative to Biztalk Server ServiceMix might be an option. Below you’ll find a brief comparision of the feature set of Biztalk and ServiceMix. If you need more information feel free to contact me.

esb1 (10k image)
esb2 (8k image)