Invocación desde procesos BPEL

La creación de procesos BPEL que promulgan procesos de flujo de trabajo de Cúram está fuera del ámbito de este documento. Sin embargo, el WSDL de cada servicio web de proceso de flujo de trabajo contiene información que pueden utilizar los procesos BPEL.

Tipo de puerto de devolución de llamada
Existe un tipo de puerto en WSDL para un servicio web de flujo de trabajo de Cúram que no está implementado por el propio servicio. El nombre de este tipo de puerto es el nombre del proceso con la palabra "Complete" añadido a él (<NombreProceso>Complete).

La finalidad de este tipo de puerto no implementado es definir la interfaz de servicio web que un servicio web de flujo de trabajo de Cúram espera que implemente el proceso BPEL que lo promulga. Este tipo de puerto debe ser implementado por el servicio web de devolución de llamada configurado en la definición de proceso (consulte Devolución de llamada de terminación de proceso).

Figura 1. Tipo de puerto de devolución de llamada
<!--Implementado por el proceso BPEL-->
  <wsdl:portType name="SomeCuramWorkflowComplete">
    <wsdl:operation name="processCompleted">
      <wsdl:input message="intf:processCompletedRequest"
                  name="processCompletedRequest"/>
    </wsdl:operation>
  </wsdl:portType>
Tipo de enlace de socio
Técnicamente, lo único que hace falta para permitir a un proceso de flujo de trabajo de Cúram participar en un proceso orquestado BPEL es exponer el proceso como un servicio web. No obstante, es posible añadir algunos metadatos que ayuden al desarrollador de procesos BPEL definiendo los tipos de puerto implicados en el enlace de socio y los roles que desempeñan.

La especificación BPEL permite definir tipos de enlace de socio en el WSDL del servicio que se va a invocar en el enlace de socio utilizando el mecanismo de extensión WSDL. El WSDL generado para un servicio web de flujo de trabajo de Cúram define el tipo de enlace de socio en el que espera participar en y especifica los tipos de puerto que desempeñan cada rol.

Figura 2. Extensiones WSDL para BPEL
<!--Tipo de enlace de socio-->
  <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>