ALBPM Process API (PAPI)

Package fuego.papi

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

See:
          Description

Interface Summary
ActivityView ActivityView contains and handle instances located in the given activity.
ApplicationsView This View handle information related to Applications (Global Activities).
It keeps a list of the applications that the participant can execute.
It has a default presentation.
ArgumentSet Represents an ArgumentSet defined in the process.
ArgumentSet.Argument Represents an argument of an ArgumentSet
Attachment Represents an Attachment associated with an instance.
AttachmentInterface Represents an Attachment associated with an instance.
This class is for internal use only.
AttachmentsView This View handle information related to Attachments.
It keeps a list of attachments locked by this participant.
It has a default presentation.
BookmarkView A View to keep the Instances that are bookmarked.
Consult Consult is a consultation- a Note sent to another Participant to ask a question about a process instance.
ConsultationsView View that handle the information of the instances that have at least one consultation.
EditableActivityView ActivityView that can be edited.
EditableApplicationsView ApplicationsView that can be edited.
EditableAttachmentsView AttachmentsView that can be edited.
EditableBookmarkView This is a BookmarkView that can be edited.
EditableConsultationsView ConsultationsView that can be edited.
EditableFolderView This is a Folder View that can be modified, if it is needed a read-only Folder View use FolderView instead.
EditableHistoryView HistoryView that can be edited.
EditableInstancesView InstancesView that can be edited.
EditablePresentation  
EditableView This View can be modified, if it is needed a read-only View use View instead.
Execution Allows advanced users to customize invocations on client-side components.
Filter Filter is used to define a subset of instances returned from a View or set of Processes.
FilterAttribute Represents a single condition in a Filter.
FolderView To group a list of Views.
GlobalExecution Allows advanced users to customize invocations of Global Activities on client-side components.
HistoryView View that handle the information of the instances where the participant made some operation.
InstancesView This View handle information related to Instances.
Invocation Represents a mandatory client-side invocation.
MDObject Contains the basic information of any metadata object.
The metadata is all information about a process deployed, included Process, Activity and Task.
Note Represents a Note associated with an instance.
NoteInterface Interface for a subset of methods in the Note class.
This class is for internal use only.
Presentation Used to define the columns displayed in a View.
PresentationColumnFormat PresentationColumnFormat defines the programming interface for formatting locale-sensitive presentation column values into Strings.
Process Contains the metadata of a particular Process.
ProcessDiagram This interface represents the diagram of a given process.
ProcessDiagramPath Event for rendering process diagram
ProcessService.Factory  
ProcessServiceNESession ProcessServiceNESession contains methods for creating views and presentations, and for getting activities, attachments, instances, notes, and processes.
ProcessServiceSession ProcessServiceSession contains methods to store presentation and views, to add attachments and notes, and to process activities and instances.
Task Tasks correspond to Main Tasks and Optional Tasks in Studio.
TaskArgument Represents an argument of an activity task.
TaskExecution This interface allows a PAPI client to customize invocations over a task in interactive activities on client-side components.
This interface is intended for advanced usage of PAPI.
View Handles different kinds of information using presentations.
There are three different kinds of views, depending on the information to be presented: views for instances, views for applications, and views for attachments.
 

Class Summary
Activity Activity in a Process.
Arguments Represents the arguments for an ArgumentSet for an Activity.
AttachmentOperationException This exception can be thronw by any method who performs any operation over an Attachment.
BatchOperationException Thrown when not all requested objects were retrieved or the executed operation was not performed correctly over every object.
ColumnFormat ColumnFormat is the format of the presentation column.
CommunicationException Thrown when any PAPI method can not communicate with the Directory.
ConnectedClientInfo  
EngineException Thrown when PAPI can not connect with the ALBPM Engine.
EngineRuntimeException No RuntimeException thrown while executing an engine operation should "travel" to PAPI.
EventType Enumeration of type of events over an instance.
InstanceEvent Contains the information of a process-instance event.
InstanceId Contains information about an instance, including process Id, instance identification number and thread identification number.
InstanceInfo Contains information about Process instances.
InstanceItemState Enumeration of Instance Item State (Task).
Contains all valid status values for a process instance item.
InstanceStamp This class keeps the minimal information about the Process Instance needed in the engine side in order to perform any operation over an instance.
It is needed when an operation over an instance has to be done through PAPI.
OperationException Superclass of all Exceptions in the fuego.papi and fuego.papi.exception packages.
OperationRuntimeException Superclass of PAPI Runtime Exceptions.
Ordering Ordering is a list of Ordering.Entry, which contains the information to sort the result of a Filter.
Participant Contains Participant metadata and methods to get permissions and roles.
Participant.RoleAssignment Contains Participant role assignment metadata.
ParticipantException Superclass of Participant Exceptions.
ParticipantsForActivities Used to match group of Paticipants with Activities.
Presentation.Column Column contains every attribute for a column, the main idea is to get and keep all the neccesary info, like size and id, etc.
Presentation.DefaultPresentationColumnFormat The default PresentationColumnFormat.
Priority Enumeration of instance priorities.
ProcessInstanceState Enumerates the different process instance's status.
ProcessNotAvailableException Thrown when a Process is not available.
ProcessOperationException Superclass of Process Exceptions.
ProcessService Main class in Process API (PAPI) framework.

This service provides the connection with the ALBPM Engine.

PropertyOperationException A property is associated with a participant in the directory service.
SearchScope Restricts the set of instances returned in a Filter by specifying the process instance status (StatusScope) and participant roles (ParticipantScope).
Status Deprecated. use ProcessInstanceState and InstanceItemState instead
VarDefinition VarDefinition contains all information related to a process variable.
ViewOperationException Superclass of View Exceptions.
 

Package fuego.papi Description

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:


ALBPM Process API (PAPI)

© Copyright 1996/2005 Fuego Inc. All Rights Reserved