bexee - BPEL Execution Engine

bexee is no longer actively developed =(

The reason is simply that we don't seem to find enough time to seriously push the project further since we have left the university, where the project was started originally.

We believe that bexee 0.1 serves as a good proof of concept and shows, how a BPEL engine could be implemented. If you have some time and energy to continue working on the project or just have questions about it, please drop us a line. We would be more than glad to help you wherever possible.

Cheers ;)


bexee stands for BPEL Execution Engine and is an open source implementation of the BPEL standard.The bexee project has been initiated in the scope of a diploma project at the Berne University of Applied Sciences, School of Engineering and Information Technology by the students P.Fornasier and P.Kowalski under supervision of the project coach Dr. Eric Dubuis.

What exactly is BPEL

The goal of the Web Services effort is to achieve universal interoperability between applications by using Web standards. Web Services use a loosely coupled integration model to allow flexible integration of heterogeneous systems in a variety of domains including business-to-consumer, business-to-business and enterprise application integration.

Systems integration requires more than the ability to conduct simple interactions by using standard protocols. The full potential of Web Services as an integration platform will be achieved only when applications and business processes are able to integrate their complex interactions by using a standard process integration model

BPEL (Business Process Execution Language) defines such a process integration model. It is an XML-based language standardized by the OASIS consortium for formally describing business processes.

A BPEL process specifies how to orchestrate existing Web Services, by defining interactions among them to reach a given business goal. This creates a platform for creating new services by composing and integrating existing services.

As an example, imagine planning a holiday or business trip. First it will first be necessary to request flight ticket offers from different airlines, and then do the same with hotels at the travel destination. Once the offers arrive, it will be necessary to compare them and choose the best one for your flight and hotel. Having decided on the airline and the hotel, you'll make the reservations. If anything goes wrong, e.g. because you have to change your plans shortly before your departure, it might be necessary to cancel the bookings.

Using Web Service technologies, all those simple steps might be offered as Web Wervices. In addition to a web site, airlines will offer Web Services to obtain offers and to book flights. The same goes for hotels to book rooms etc. BPEL makes it possible to orchestrate those Web Services into a new "Travel-Service" composed of all the other services. This allows for a creation of new virtual services, based on existing services, e.g. a "virtual travel agency".

bexee and BPEL

To run a business process, an engine is needed. Such an engine has to be able to understand business processes described in BPEL, interpret them and execute them.

bexee is a BPEL engine capable of executing deployed business processes described in BPEL by orchestrating existing Web Services.

The intention of bexee is to provide an engine prototype able to interpret and execute business processes described in BPEL. While there exist a number of commercial BPEL engines, bexee is understood as a starting point for further development and experiments in the area of Business Process Modeling (BPM).

At the same time bexee will also be used as a platform for the evaluation of technologies that might be considered in a complete implementation of a BPEL engine. In other words, bexee is ment to provide a solid base and a set of throughoutly evaluated tools for a complete implementation of a future robust and extensible BPEL engine.

bexee is an Open Source Project and uses a number of other third-party Projects. Check the References for more information.