Requirements Specification

  1. Introduction
  2. Actual State
  3. Purpose
  4. Functional Requirements
  5. Non-Functional Requirements
  6. User Interface

Introduction

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. In concrete terms this means that BPEL is used to orchestrate a number of heterogeneous Web Services in business processes. While the orchestrated Web Services don't need to know anything about each other in order to be parts of a higher level business process. It is the BPEL engine that runs and orchestrates the business process composed of the different services.

Actual state

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].

Purpose

The intention of bexee is to provide a prototype of an engine able to interpret and execute business processes described in BPEL. While there exist a number of commercial BPEL engines, the bexee project is understood 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 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.

Functional Requirements

See the Use Cases section.

Non-Functional Requirements

The main purpose of bexee is to provide a partial implementation of a BPEL engine. Although it should be possible to continue working on bexee and 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 such as:

  • security
  • performance
  • availability
  • etc.

will not be considered at the moment.

User Interface

bexee Business Process users

bexee must provide a user interface for its users. This interface will enable bexee users to use the system as described in the Use Cases section.

bexee Business Process deployers

bexee must provide a user interface for its deployers. It is important to note, that the deployers may choose their preferred technology for accessing the interface. The system does not need to provide a multitude of interfaces using different technologies, but a standardized interface, which acts as an intermediary for other more user-friendly interfaces.



This interface will enable bexee deployers to use the system as described in the given Use Cases section.

bexee Business Process administrators

bexee must provide a user interface for process administrators. It is important to note, that the process administrators may choose their preferred technology for the interface. The system does not need to provide a multitude of interfaces using different technologies, but a standardized interface, which acts as an intermediary for other more user-friendly interfaces.



This interface will enable bexee administrators to use the system as described in the given Use Cases section.

bexee administrators

bexee must provide a user interface for the bexee administrators. This interface will enable bexee administrators to use the system as described in the given Use Cases section.