This topic applies only to the IBM Business Automation Workflow Advanced
configuration.

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

Draft comment:
This topic only applies to BAW, and is located in the BAW repository. Last updated on 2025-01-20 10:38
Draft comment:
This topic was viewed 12 times since its publication
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 Workflow 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 Workflow Server server installation. However, RAL cannot be used in a cross-cell setup where the client application runs in a Workflow 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 Workflow 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 applications 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.
  • The declaration of the replyTo parameter of the callAsync() WS API reuses elements from the WS-Addressing Specification (wsa.xsd) but doesn't actually implement the WS-A specification. The correlation mechanism, as referred to in the WS-Addressing Specification, states that using the MessageID header field, the Element ReferenceParameters or ReferenceProperties EndpointReferenceType properties, or extensions is not supported. To correlate a request and response message, use an unique property of your business data. For example, use processInstanceName, set processInstanceName in the callAsync() request, and add it to your business data of the response message.