Aufruf von BPEL-Prozessen

Die Erstellung von BPEL-Prozessen, die Cúram-Workflowprozesse umsetzen, wird in diesem Dokument nicht näher erläutert. Die Web Services Description Language (WSDL) für jeden Workflow-Web-Service enthält jedoch Informationen, die von BPEL-Prozessen verwendet werden können.

Porttyp für den Rückruf
Es gibt in WSDL einen Porttyp für einen Cúram-Workflow-Web-Service, der nicht vom Service selbst implementiert wird. Der Name dieses Porttyps ist der Name des Prozesses, an den das Wort "Complete" angehängt ist (<Prozessname>Complete).

Zweck dieses nicht implementierten Porttyps ist, die Web-Service-Schnittstelle zu definieren, von der ein Cúram-Workflow-Web-Service erwartet, dass sie von dem BPEL-Prozess implementiert wird, der sie umgesetzt hat. Dieser Porttyp muss vom Rückruf-Web-Service implementiert werden, der in der Prozessdefinition konfiguriert ist (siehe Rückruf-Web-Service für Prozessabschluss).

Abbildung 1. Porttyp für den Rückruf
<!--Implemented by the BPEL process-->
  <wsdl:portType name="SomeCuramWorkflowComplete">
    <wsdl:operation name="processCompleted">
      <wsdl:input message="intf:processCompletedRequest"
                  name="processCompletedRequest"/>
    </wsdl:operation>
  </wsdl:portType>
Partnerlinktyp
Im Prinzip ist der einzige Schritt, der notwendig ist, damit ein Cúram-Workflowprozess Teil eines orchestrierten BPEL-Prozesses ist, den Prozess als Web-Service verfügbar zu machen. Es ist jedoch möglich, einige Metadaten hinzuzufügen, um dem Entwickler des BPEL-Prozesses seine Arbeit zu erleichtern, indem die im Partnerlink erforderlichen Porttypen definiert und ihre Aufgaben angegeben werden.

Anhand der BPEL-Spezifikation können Partnerlinks in der Web Services Description Language (WSDL) für den Service definiert werden, der im Partnerlink mithilfe des WSDL-Erweiterungsmechanismus aufgerufen werden soll. Die für einen Cúram-Workflow-Web-Service erstellte WSDL definiert den entsprechenden Partnerlinktyp und die erforderlichen Porttypen.

Abbildung 2. WSDL-Erweiterungen für BPEL
<!--Partner link type-->
  <partnerLinkType name="CuramWorkflowPartnerLink"
    xmlns="http://schemas.xmlsoap.org/ws/2003/05/partner-link/">
    <role name="curamService">
      <portType name="tns1:SomeCuramWorkflow"/>
    </role>
    <role name="partnerService">
      <portType name="tns1:SomeCuramWorkflowComplete"/>
    </role>
  </partnerLinkType>