
Vergleich der Programmierschnittstellen für die Interaktion mit BPEL-Prozessen und Benutzertasks
Die generischen Programmierschnittstellen für Enterprise JavaBeans (EJB), Web-Service, Java Message Service (JMS) und Representational State Transfer Services (REST) stehen zum Erstellen von Clientanwendungen zur Verfügung, die mit BPEL-Prozessen und Benutzertasks interagieren. Diese Schnittstellen weisen unterschiedliche Merkmale auf.
| EJB-Schnittstelle | Web-Service-Schnittstelle | JMS-Nachrichtenschnittstelle (veraltet) |
REST-Schnittstelle | |
|---|---|---|---|---|
| Funktionalität | Diese Schnittstelle steht für BPEL-Prozesse und Benutzertasks zur Verfügung. Verwenden Sie diese Schnittstelle zum Erstellen von Clients, die Prozesse und Tasks generisch verarbeiten. | Diese Schnittstelle steht für BPEL-Prozesse und Benutzertasks zur Verfügung. Verwenden Sie diese Schnittstelle zum Erstellen von Clients für eine
bekannte Gruppe von Prozessen und Tasks. In der JMS-Transportschicht steht diese Schnittstelle nur für BPEL-Prozesse zur Verfügung. |
Diese Schnittstelle steht nur für BPEL-Prozesse zur Verfügung. | Diese Schnittstelle steht für BPEL-Prozesse und Benutzertasks zur Verfügung. Verwenden Sie diese Schnittstelle zum Erstellen von Web 2.0-Clients für eine bekannte Gruppe von Prozessen und Tasks. |
| Datenverarbeitung | Unterstützt das Laden ferner Artefakte der Schemas für den Zugriff
auf Metadaten von Geschäftsobjekten. Wenn die EJB-Clientanwendung in derselben Zelle ausgeführt wird wie Process Server, zu dem sie eine Verbindung herstellt, müssen die erforderlichen Schemas für die Geschäftsobjekte der Prozesse und Tasks nicht auf dem Client verfügbar sein, sondern können mit Remote Artifact Loader (RAL) vom Server geladen werden. RAL kann auch zellenübergreifend verwendet werden, wenn die Clientanwendung in einer vollständigen Process Server-Serverinstallation ausgeführt wird. RAL kann jedoch nicht in einer zellenübergreifenden Konfiguration verwendet werden, wenn die Clientanwendung in einer Process Server-Clientinstallation ausgeführt wird. |
Schemaartefakte für Eingabedaten, Ausgabedaten und Variablen müssen auf dem Client in einem geeigneten Format zur Verfügung stehen. | Schemaartefakte für Eingabedaten, Ausgabedaten und Variablen müssen auf dem Client in einem geeigneten Format zur Verfügung stehen. | Schemaartefakte für Eingabedaten, Ausgabedaten und Variablen müssen auf dem Client in einem geeigneten Format zur Verfügung stehen. |
| Sicherheit | Java™ Platform Enterprise Edition-Sicherheit (Java EE-Sicherheit). | Web Services Security. | Java Platform Enterprise Edition-Sicherheit (Java EE-Sicherheit) für die Process Server-Installation. Sie können auch die Warteschlangen schützen, in denen die JMS-Clientanwendung die API-Nachrichten ablegt (z. B. mit WebSphere MQ-Sicherheitsmechanismen). | Clientanwendungen, die die REST-Methoden aufrufen, müssen einen entsprechenden HTTP-Authentifizierungsmechanismus verwenden. |
- In Web-Service- und REST-Schnittstellen werden alle Objektkennungen wie PIID, AIID und TKIID durch einen Zeichenfolgedatentyp dargestellt. Nur die EJB-API-Schnittstelle erwartet eine typsichere Objekt-ID.
- Die Überladung von Operationen wird nur für EJB-Methoden verwendet und nicht für WSDL-Operationen. In manchen Fällen sind mehrere WSDL-Operationen vorhanden, in anderen Fällen gibt es nur eine WSDL-Operation, die alle Parametervarianten durch Auslassung (minOccurs="0") oder durch Nullwerte (nillable="true") zulässt.
- In einigen EJB-Methoden werden XML-Namensbereiche und lokale Namen als separate Parameter übergeben. Die meisten WSDL-Operationen verwenden den XML-Schematyp QName zum Übergeben dieser Parameter.
- Die EJB-Schnittstelle gibt eine Gruppe von API-Objekten zurück, die Getter- und Setter-Methoden für die enthaltenen Felder verfügbar machen. Web-Service- und REST-Schnittstellen geben Dokumente mit komplexen Typen (XML oder JSON) an den Client zurück.
- Einige Human Task Manager-Services, die Benutzertasks bearbeiten, sind auch als Business Flow Manager-Services zum Bearbeiten von Aktivitäten verfügbar, die eine Benutzertask aufrufen.