Comparison of the programming interfaces for interacting with BPEL processes and human tasks

Enterprise JavaBeans (EJB), web service, Java Message Service (JMS), and Representational State Transfer Services (REST) generic programming interfaces are available for building client applications that interact with BPEL processes and human tasks. Each of these interfaces has different characteristics.

The programming interface that you choose depends on several factors, including the functionality that your client application must provide, whether you have an existing end-user client infrastructure, or whether you want to handle human workflows. To help you decide which interface to use, the following table compares the characteristics of the EJB, web service, JMS, and REST programming interfaces.
Attention: The Business Process Choreographer JMS API is deprecated. To develop JMS-based client applications, use the Business Process Choreographer web services API with the SOAP/JMS transport protocol.
EJB interface Web service interface JMS message interface
(Deprecated)
REST interface
Functionality This interface is available for both BPEL processes and human tasks. Use this interface to build clients that work generically with processes and tasks. This interface is available for both BPEL processes and human tasks. Use this interface to build clients for a known set of processes and tasks.

For the JMS transport layer, this interface is available for BPEL processes only.

This interface is available for BPEL processes only. This interface is available for both BPEL processes and human tasks. Use this interface to build web 2.0-style clients for a known set of processes and tasks.
Data handling Supports remote artifact loading of schemas for accessing business object metadata.

If the EJB client application is running in the same cell as the Process Server that it connects to, the schemas that are needed for the business objects of the processes and tasks do not have to be available on the client, they can be loaded from the server using the remote artifact loader (RAL).

RAL can also be used cross-cell if the client application runs in a full Process Server server installation. However, RAL cannot be used in a cross-cell setup where the client application runs in a Process Server client installation.

Schema artifacts for input data, output data, and variables, must be available in an appropriate format on the client. Schema artifacts for input data, output data, and variables, must be available in an appropriate format on the client. Schema artifacts for input data, output data, and variables, must be available in an appropriate format on the client.
Security Java™ Platform, Enterprise Edition (Java EE) security. Web services security. Java Platform, Enterprise Edition (Java EE) security for the Process Server installation. You can also secure the queues where the JMS client application puts the API messages, for example, using WebSphere® MQ security mechanisms. Client application that call the REST methods must use an appropriate HTTP authentication mechanism.
An operation can be exposed by multiple protocols. Observe the following general considerations if you use the same operation in different protocols.
  • In web service and REST interfaces, all object identifiers, such as PIID, AIID, and TKIID are represented by a string type. Only the EJB API interface expects a type-safe object ID.
  • Operation overloading is only used for EJB methods and not for WSDL operations. In some cases, multiple WSDL operations exist, in other cases, only one WSDL operation exists that allows all of the parameter variations either by omission (minOccurs="0"), or null values (nillable="true").
  • In some EJB methods, XML namespaces and local names are passed as separate parameters. Most WSDL operations use the QName XML schema type to pass these parameters.
  • The EJB interface returns a set of API objects, which expose getter and setter methods for the contained fields. web service and REST interfaces return complex-typed (XML or JSON) documents to the client.
  • Some Human Task Manager services operating on human tasks are also available as Business Flow Manager services operating on activities that call a human task.