Provides access to business processes deployed on ALBPM Process Execution Engines.

Package Specification

What is PAPI ?

The ALBPM Process Application Programming Interface (PAPI) is the API provided and implemented by BEA Systems Inc. to interact with processes deployed to an existing and configured Process Execution Engine. The accessed processes can be deployed on one or more ALBPM Process Execution Engines since PAPI internally will connect the configured Directory Service to find the Process Execution Engine in which the process has been deployed. PAPI classes will let a developer implementing a program in Java to interact with business processes deployed in an ALBPM Process Execution Engine and perform operations like the ones listed below:


PAPI is a 100 % Java API and can be invoked by any JVM supporting JVM version 1.4.2 or above.


When should we use PAPI ?

PAPI is primarily used by Java Applications that need interaction with business processes deployed in one or more ALBPM Process Execution Engines. PAPI cannot be used to connect to a Studio Process Execution Engine but to any of the Enterprise Process Execution Engines.


What other ALBPM applications or APIs use PAPI ?

PAPI is the public ALBPM's API to connect to business processes and as such, it is being used by other ALBPM components and APIs to interact with business processes on a Process Execution Engine. Examples of these ALBPM Components and APIs follow:


PAPI Overview

The diagram below shows the interaction required for a Java Program to connect to an deployed business process in a Process Execution Engine.

The diagram above shows all the APIs and systems that need to be connected in order to successfully connect to a business process deployed to a Process Execution Engine.
First of all, the Java Program will need to create a ProcessService object, that is necessary to get an instance of a ProcessServiceNESession or ProcessServiceSession. When the session is created, PAPI internally uses FDI to authenticate the user as well as defining the permissions over which processes this individual has access depending on the roles assigned on the Organization maintained in the Directory Service. Once the session has been successfully created, PAPI will start performing the requested operations over the appropiate process in one of the available Process Execution Engines. Once the session has been established, the developer can use any of the methods available in the ProcessServiceSession class to perform all the operations needed to interact with business processes, views, etc.

PAPI Notifications

When a PAPI program is created, it requires the creation of a ProcessService object. When created, it will initialize and cache information from the FDI (information obtained when a session is created for a given participant) as well as maintaining a client side instance cache to minimize the roundtrip with any of the available Process Execution Engines. Once this object has been created, it is necessary to keep this data up to date as modifications take place in the Organization and instances change state on the available Process Execution Engines. To this extent, ALBPM can send notifications to a created and registered ProcessService object in a running Java Virtual Machine. These notifications can be classified as follow:


PAPI Environment Requirements

In order to successfully compile and execute a PAPI program, it is important to comply with the following minimal requirements and instructions provided below.


PAPI Skeleton Code

The following is a sample PAPI Program that can be used as a model and skeleton for any kind of Program using the PAPI API to connect to business processes deployed in a Process Execution Engine.

PAPI Samples

The following is a list of FULL examples provided with the Enterprise distributions:
Each one of these samples contain: