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.
| 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. |