Business Process Server (BP Server) is a flexible, lightweight, scalable workflow process engine for intranets, extranets, and the Internet. BP Server generates events when it creates workflow process instances, completes worksteps, and completes workflow instances. BP Server also generates events when a process template is created or installed, or a BP Server session is started or ended. Each BP Server process uses JDBC to connect to database server processes and store events in the database. These events contain the complete application state transition information and also serve as an audit trail. BP Server stores these events as rows in the database table BizEvent. The BizEvent table captures all the information encoded in an event object, and includes an eventID that uniquely identifies the event within an Business Process Server installation. BPM Process Store and BPM Events rely on the eventID to sequentially process all events.
End users access applications, obtain information to perform their tasks, and launch a new process from the BP Server through Business Process Portal.
BPM Process Store is the repository feature of BP Server. The BPM Process Store daemon runs as a batch processing process. It wakes up periodically according to a configurable sleep time parameter, selects unprocessed events from the BPM Events table, processes them, and goes back to sleep if there are no more events to process. BPM Process Store uses a configuration parameter called batchSize to determine how many events to fetch from database in each JDBC call. Depending on the event type, the BPM Process Store server issues database commands to insert or update data in the Process Instance, Workstep and Workitem tables. For example, on receiving a "PI_CREATED" event, BPM Process Store inserts a row into the table "ProcessInstance" containing all the initial states of the newly created process instance.
BPM Events is the execution engine for rule sets and it operates in conjunction with the BP Server. The BPM Events server also wakes up periodically to process events in the Event table. BPM Events reads the eventSource.eventBatchSize configuration parameter to determine its batch size. However, instead of populating process tables, BPM Events evaluates a set of user-defined rules against each event to see if an action should be triggered. For example, you might specify a rule to instruct BPM Events to update a slot value of an infopad cell, or update a dataslot value of a process instance in BP Server.
For more information on the Business Process Server related terms, see the Glossary of this guide. For the complete list of Business Process Server terminology, see the OpenEdge Business Process Server: Terminology Guide.
Before you begin:
Progress Software Corporation recommends that you use ABL Application Programming Interfaces (APIs) of Business Process Server to work with its functionalities because, OpenEdge release 11.3 onward, we do not support BP Server APIs. For more information on ABL APIs for Business Process Server, refer to the OpenEdge Development: ABL Reference guide.