bexee (BPEL Execution Engine) is an open source Java engine for deploying, processing and executing business flows described in the Business Process Execution Language (BPEL). The main purpose of BPEL is to define a standard way to describe business processes. Concretely BPEL is used to orchestrate distinct Web Services into business processes. While the orchestrated Web Services need not know anything about each other in order to be parts of a higher level business process, it's a BPEL engine that runs a Business Process composed of those different services.
Thanks to the widely accepted Web Service standard, business services can be exposed for use in the web using Web Service technologies. The exposition of services is an important step for the creation of virtual business processes. Although those services may be made available for use (using the mentioned Web Services technologies), there is no standard way to compose Business Processes based on the available services. In spite of several attempts to establish an accepted standard for the composition or the orchestration of services, none of the proposals prevailed [ WSFL , XLANG , BPML , BPMI ].
The intention of bexee is to provide a prototype of an engine able to interpret and execute business processes described with BPEL. While there exist a number of commercial BPEL engines, the bexee project is meant as a starting point for further development and experiments in the area of Business Process Modeling (BPM). bexee will also be used as a platform for the evaluation of technologies that might be used for a complete implementation of a BPEL engine. In other words, bexee is to provide a solid base and a set of throughout evaluated tools for a complete implementation of a robust and extensible BPEL engine.
The main purpose of the bexee system is to provide a partial implementation of a BPEL engine. Although it should be easily possible to finalize this partial implementation in order to provide a complete BPEL engine, the main goal of bexee (in the scope of the diploma project) is to provide the core functionality of such an engine. Therefore, non-functional requirements as:
The bexee system will be implemented as a J2EE EJB application. Because the main idea of the J2EE model is to provide an environment where it is possible for the application developers to concentrate on business logic and leave the technical aspects to the Application Server, taking care of the non-functional requirements will depend on the configuration of the used Application Server. It will not be necessary to modify the bexee system in order to enable its non-functional aspects.
bexee Business Process users
The bexee system must provide a user interface for the bexee users.
This interface will enable bexee users to use the system as described
in the
Use Cases
section.
bexee Business Process deployers
The bexee system must provide a user interface for the bexee
deployers. In case of this system interface it is important, that the
deployers may choose their preferred technology for the interface. The
system need not to provide a multitude of interfaces using different
technologies, but a standardized interface, which would act as an
intermediary for human-usable interfaces.
This interface will enable bexee deployers to use the system as
described in the
Use Cases
section.
bexee Business Process administrators
The bexee system must provide a user interface for the bexee process
administrators. In case of this system interface it is important, that
the process administrators may choose their preferred technology for
the interface. The system need not to provide a multitude of
interfaces using different technologies, but a standardized interface,
which would act as an intermediary for human-usable interfaces.
This interface will enable bexee deployers to use the system as
described in the
Use Cases
section.
bexee administrators
The bexee system must provide a user interface for the bexee
administrators. This interface will enable bexee administrators to use
the system as described in the
Use Cases
section.