Java-Methode in Integrationsservice aufrufen(veraltet)

Wenn die Implementierung einer Aktivität das Aufrufen von Methoden einer Java-Klasse erfordert, können Sie den Java-Integrationsschritt in einem Integrationsservice verwenden.

Vorbereitende Schritte

Um diese Task ausführen zu können, müssen Sie sich im IBM® Process Designer-Desktopeditor befinden, der allerdings nicht weiter unterstützt wird.

Fügen Sie vor der Erstellung des Integrationsservice die JAR-Datei, die die benötigten Klassen enthält, hinzu. Nach dem Hinzufügen der JAR-Datei als Serverdatei können Sie die Klasse und die Methode auswählen, die Sie für Ihren Service verwenden wollen. Sind die benötigten JAR-Dateien in einem IBM Business Process Manager-Toolkit enthalten, können Sie eine Abhängigkeit zu diesem Toolkit hinzufügen, um auf diese Dateien zuzugreifen. Anweisungen finden Sie in 'Erstellen einer Toolkit-Abhängigkeit in der Designeransicht'.

Vorgehensweise

  1. Öffnen Sie den Desktop-Editor von Process Designer (nicht weiter unterstützt).
  2. Erstellen Sie einen Integrationsservice.
  3. Ziehen Sie einen Java-Integrationsschritt aus der Palette in das Servicediagramm und verwenden Sie Sequenzlinien, um die Komponente an Start- und Endereignisse zu binden.
  4. Klicken Sie auf den Java-Integrationsschritt im Diagramm und auf die Option 'Definition' in den Eigenschaften.
  5. Klicken Sie auf die Schaltfläche Auswählen neben dem Java-Klasse-Feld, um die JAR-Datei und in dieser Datei die Klasse auszuwählen, die Sie aufrufen wollen.

    Bei den aufgelisteten JAR-Dateien handelt es sich um die Dateien, die als verwaltete Serverdateien hinzugefügt wurden, wie im Abschnitt 'Externe Dateien verwalten' beschrieben. Standardmäßig sind die Klassen im Java-Paket von IBM BPM in der Datei integration.jar verfügbar, die im System Data Toolkit enthalten ist. Wenn Ihr aktuelles Projekt Abhängigkeiten von anderen Toolkits mit JAR-Dateien aufweist, sind auch diese Dateien verfügbar.

  6. Klicken Sie im Abschnitt Erkennung (auf den Registerkarten Eigenschaften und Definition) auf das Feld Methode. Wählen Sie in der Dropdown-Liste die Methode aus, die Sie für die Klasse aufrufen möchten, die Sie im vorherigen Schritt ausgewählt haben.
  7. Aktivieren Sie das Kontrollkästchen 'JavaBeans übersetzen', wenn das Ergebnis der aufgerufenen Java-Methode serialisiert und als XML-Element an den Integrationsservice zurückgegeben werden soll. Der Inhalt des Elements basiert auf den Eigenschaften der Objektklasse.

    Wenn Sie beispielsweise die Klasse teamworks.Users aus der Datei integration.jar (IBM BPM-Java-Pakete) und anschließend die Methode getUser auswählen, während das Kontrollkästchen 'JavaBeans übersetzen' aktiviert ist, sieht das Ergebnis aus wie im folgenden Beispiel:

    <userino type="com.lombardisoftware.core.UserInfo" description="UserInfo">
       <calendarId type="com.lombardisoftware.client.persistence.common.ID" description="calendarId" />
       <fullname type="java.lang.String" description="String">tw_author</fullname>
       <qualifiedName type="java.lang.String" description="String">tw_author</qualifiedName>
       <sendToAddress type="com.lombardisoftware.core.routing.Address" description="Address">
         <name type="java.lang.String" description="String">tw_author</name>
         <toGroup type="java.lang.Boolean" description="Boolean">false</toGroup>
         <toUser type="java.lang.Boolean" description="Boolean">true</toUser>
       </sendToAddress>
       <userData type="java.util.HashMap" description="HashMap">
         <entry key="Full Name" description="Map Entry">
        	  <key type="java.lang.String" description="String">Full Name</key>
        	  <value type="java.lang.String" description="String">tw_author</value>
         </entry>
       <userData>
       <userId type="com.lombardisoftware.client.persistence.common.ID$NumericID" description="ID$NumericID">
         <id type="java.math.BigDecimal" description="BigDecimal">2</id>
         <type type="com.lombardisoftware.client.persistence.common.POType$User" description="POType$User">
     	      <deleted type="java.lang.Boolean" description="Boolean">false</deleted>
     	      <exportable type="java.lang.Boolean" description="Boolean">false</exportable>
     	      <factoryName type="java.lang.String" description="String">com.lombardisoftware.client.persistence.UserFactory</factoryName>
     	      <id type="java.lang.Integer" description="Integer">2048</id>
     	      <libraryItem type="java.lang.Boolean" description="Boolean">false</libraryItem>
     	      <name type="java.lang.String" description="String">User</name>
     	      <tableName type="java.lang.String" description="String">LSW_USR_XREF</tableName>
         </type>
       </userId>
       <username type="java.lang.String" description="String">tw_author</username>
    </userinfo>
    Anmerkung: Wenn Sie das Kontrollkästchen JavaBeans übersetzen aktivieren, sollten Sie im Integrationsservice für den Rückgabewert der Java-Methode den Variablentyp 'XMLElement' oder 'ANY' auswählen.

    Wenn Sie das Kontrollkästchen JavaBeans übersetzen nicht auswählen, kann die Java-Methode nur Objekte der in Tabelle 1 angegebenen Typen liefern.

    Tabelle 1. Von der Java-Methode zurückgegebene Objekttypen, wenn 'JavaBeans übersetzen' nicht aktiviert ist
    Objekttypen
    java.lang.String java.lang.Double java.lang.ArrayList
    java.lang.Long java.lang.Float java.lang.HashMap
    java.lang.Integer java.lang.Boolean org.jdom.Document
    java.lang.Short java.lang.Character org.jdom.Element
    java.lang.Byte java.lang.Calendar com.lombardisoftware.core.XMLNodeList und com.lombardisoftware.core.TWObject
  8. Klicken Sie auf die Registerkarte Variablen für den Integrationsservice, um Eingabevariablen hinzuzufügen, die der Service für das Empfangen benötigt, und Ausgabevariablen, die der Service für das Verfügbarmachen für nachfolgende Schritte im Service oder in der BPD benötigt.
    Einschränkung: Arrays werden als Eingabeparameter nicht unterstützt.
  9. Klicken Sie auf den Schritt Java-Integration im Servicediagramm und dann auf die Option Datenzuordnung in den Eigenschaften, um die Eingabe- und Ausgabezuordnungen für den Schritt zu konfigurieren.
  10. Verschachteln Sie den Integrationsservice in einen anderen Service oder wählen Sie ihn als Implementierung für eine Aktivität aus, je nach den Anforderungen des Gesamtprozesses.