Un proceso iniciado por otro proceso es conocido como un subproceso. La manera en que puede gestionarse el ciclo de vida de los subprocesos y el comportamiento de sus versiones depende de cómo están modelados estos procesos.
A fines de modularidad y reutilización, a menudo es razonable aplicar el concepto de programación de encapsulación al modelado de procesos de empresa, es decir, implementar uno o varios pasos de la lógica empresarial como un proceso diferenciado e invocar dicho proceso desde el proceso principal. Además, un subproceso puede iniciar otro proceso. Esto puede conducir una jerarquía de profundidad arbitraria de instancias de proceso. Cuando se despliegan estos procesos, todas las plantillas de proceso de la relación de proceso a proceso deben desplegarse en la misma base de datos de Business Process Choreographer.
Un subproceso puede tener una relación de igual a igual o una relación de padre a hijo con el proceso que llama. Esta relación determina el comportamiento de un subproceso cuando se invoca una acción que gestiona el ciclo de vida para el proceso que llama. Las acciones de ciclo de vida abarcan la suspensión, reanudación, terminación, supresión y compensación. Las acciones que gestionan el ciclo de vida del proceso sólo pueden realizarse en instancias de proceso de nivel superior.
No obstante, para los procesos de larga duración con una operación de creación que implementa una interfaz unidireccional, el valor del atributo autonomy se establece automáticamente en peer durante la ejecución. Si el atributo autonomy se establece en child, este valor se pasará por alto durante la ejecución.
Un microflujo siempre se ejecuta como un proceso hijo. No obstante, si hay otro componente entre los dos procesos, puede evitar que se establezca una relación de padre a hijo, por ejemplo, un componente de correlación de interfaz que está conectado entre los dos componentes de proceso.
Un ejemplo de enlace temprano es un cable SCA. Por ejemplo, si conecta una referencia autónoma a un componente de proceso, todas las invocaciones del proceso que utilicen esta referencia se direccionan a la versión específica representada por el componente de proceso.
Para aplicar el enlace tardío cuando se invoca un subproceso, el proceso padre debe especificar el nombre de la plantilla de subproceso desde la que debe elegirse el subproceso válido en el socio de referencia. El atributo de inicio de validez del proceso se utiliza para determinar la plantilla de subproceso que es válida actualmente. Se pasa por alto el cableado SCA.
Un ejemplo de enlace tardío es cuando se invoca un nuevo proceso en el Explorador de Business Process Choreographer. La instancia que se crea se basa siempre en la versión más reciente de la plantilla de proceso con una fecha de inicio de validez que no sea futura.
(c) Copyright IBM Corporation 2005, 2006.
Este centro de información está basado en tecnología Eclipse (http://www.eclipse.org)