PipelineEngine

Description

En BBj 16.0 o superior, el framework BBSJP provee un procesador de flujo de trabajo que ejecuta uno o más componentes u objetos BBjspPipelineStage.

Estos objetos se ejecutan en secuencia para ejecutar alguna tarea compleja de negocio y cada componente puede causar una bifurcación a otros componentes en el pipeline (tubería).

Los Pipelines controlan el proceso de negocio que se ejecuta del lado del servidor cuando el usuario interactúa con el sitio. Cada elemento en el pipeline se ejecuta secuencialmente y dependiendo del resultado de la ejecución, el mecanismo de control bifurcarpa a la siguiente etapa más apropiada en el pipeline. Un Pipeline se puede ejecutar desde un BBjspCommand o Page. Un Pipeline no tiene acceso a los datos de BBjspWebSession, pero tiene acceso al objeto BBjspSessionData.

Cada etapa del pipeline se ejecuta antes que el pipeline se mueva a la siguiente etapa. Una etapa puede bifurcar dentro del pipeline, A stage can branch within the pipeline, es decir que puede pasar a una etapa específica.

¿Qué es un Pipeline?

Un pipeline es un set de programas BBj, llamados etapas, que se definen en un archivo de configuración XML. Los Pipelines trabajan dentro de un BBjspSessionData el cual es accesible en tu aplicación web. Cada etapa recupera los datos de sesión, ejecuta alguna lógica de negocios para modificar/validar los datos y sale. Después de cada etapa, el motor de pipeline mueve a la siguiente etapa en el pipeline a menos que una condición de bifuración se detecte, y el pipeline determine el salto a otra etapa.

Código

Los componentes Pipeline o etapas son programas BBj los cuales son ejecutados por el framework BBJSP cuando se requiere. Solo basta que sean declarados:

METHOD PUBLIC BBjString execute (BBjspSessionData)

y retorna un resultado, el cual el framework usará para decidir cómo proceder

Una etapa de Pipeline stages:

    • interactúa con la BBjspSession

    • retorna un BBjString que contiene un resultado significativo

Deje que el framework BBJSP haga el resto

Configurar

La configuración de Pipeline configuration is through an XML file that defined each of the stage components and identified the possible outcomes which will dictate what acrtion needs to follow

You might want to use a pipeline in a web-store and the payment process may need to have a set of stages similar to this:

    • RESERVE - reserves the stock

    • AUTHORIZE - authorize the credit-card payment

    • FAIL - release the stock

    • SUCCESS - allocate stock for shipping

There may be many more stages in that process but by breaking the process into small chunks you can easily build a reusable code-base.

Ejecutar

The BBJSP framework will handle all the decision making for you, each of the stages is executed and following the rules defined in the configuration file the execution flows through the appropriate staged.

What about BBjspSession?

Rather like a BBjHttpSession, the BBjspSessionData is used to store data related to the current user. Unlike the BBjHttpSession however, the BBjspSessionData persists across multiple visits to your site so if a user goes away from their browser and returns 31 minutes later, any data stores in the BBjHttpSession will be reset but data in the BBjspSessionData session will remain.

Revisa También

BBJSP

BBjspSessionData

BBjspPipelineStage