IBM BPM, V8.0.1, All platforms > Programming IBM BPM > Developing client applications for BPEL processes and tasks

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.
Client environment A Process Server server installation or a Process Server client installation. Any runtime environment that supports web service calls, including Microsoft .NET environments. Any runtime environment that supports JMS clients, including SCA modules that use SCA JMS imports. Any runtime environment that supports REST clients.
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.

Developing client applications for BPEL processes and tasks


Related tasks:
Developing EJB client applications
Developing Web service API client applications
Developing JMS client applications