Appel à partir de processus BPEL

La création de processus BPEL qui adoptent les processus de flux de travaux Cúram n'est pas traitée dans le présent document. Toutefois, le code WSDL pour chaque service Web de processus de flux de travaux contient des informations pouvant être utilisées par les processus BPEL.

Type de port de rappel
Il existe dans le code WSDL un type de port pour un service Web de flux de travaux Cúram qui n'est pas implémenté par le service lui-même. Le nom de ce type de port est le nom du processus auquel le suffixe "Complete" est ajouté (<NomProcessus>Complete).

L'objectif de ce type de port non implémenté est de définir l'interface de service Web qu'un service Web de flux de travaux Cúram s'attend à voir implémenter par le processus BPEL qui l'a adopté. Ce type de port doit être implémenté par le service Web de rappel configuré dans la définition de processus (voir Rappel à la fin d'un processus).

Figure 1. Type de port de rappel
<!--Implémenté par le processus BPEL-->
  <wsdl:portType name="SomeCuramWorkflowComplete">
    <wsdl:operation name="processCompleted">
      <wsdl:input message="intf:processCompletedRequest"
                  name="processCompletedRequest"/>
    </wsdl:operation>
  </wsdl:portType>
Type de lien partenaire
D'un point de vue technique, la seule manière d'autoriser un processus de flux de travaux Cúram à participer à un processus orchestré BPEL est d'exposer le processus en tant que service Web. Il est toutefois possible d'ajouter certaines métadonnées afin d'aider le développeur de processus BPEL à définir les types de port impliqués dans le lien partenaire et les rôles qu'ils jouent.

La spécification BPEL permet aux types de lien partenaire d'être définis dans le code WSDL du service à appeler dans le lien partenaire à l'aide du mécanisme d'extension WSDL. Le code WSDL généré pour un service Web de flux de travaux Cúram définit le type de lien partenaire auquel il s'attend à participer et indique les types de port qui jouent chaque rôle.

Figure 2. Extensions WSDL pour BPEL
<!--Type de lien partenaire-->
  <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>