Un flujo

Un flujo es una secuencia de operaciones parecida a un programa a partir de la cual puede generar código de tiempo de ejecución para un entorno en tiempo de ejecución soportado.

Un flujo es funcionalmente el primer tipo de artefacto de las herramientas de proyecto de flujo de servicios, ya que un flujo organiza operaciones, mensajes, correlaciones y expresiones una secuencia con un propósito determinado de interacciones de programa con procesos de aplicaciones existentes.

Un flujo se puede dividir en las categorías de flujo de terminal y flujo no de terminal basándose en el tipo de aplicación con la que interactúa:

  • Flujo de terminal: el que interactúa directamente con las pantallas de aplicación de una aplicación de terminal que se ejecuta en un sistema z/OS remoto.
  • Flujo no de terminal: el que no interactúa directamente con una aplicación de terminal. Puede invocar una aplicación no de terminal, un flujo de terminal o un servicio web de salida.

Un programa completo en un proyecto de flujo de servicios está formado por un flujo principal más cero o más flujos invocados.

  • Flujo principal: es el flujo de nivel superior del programa.
  • Flujo invocado: cualquier flujo que se invoca desde el flujo principal. Para invocar un flujo, cree un nodo de flujo de invocación en el editor de flujo (consulte la sección Invocar nodos en el editor de flujos yTrabajar con nodos de flujo de invocación en el editor de flujos).
    • Por ejemplo, un flujo principal CatalogOrder puede contener un nodo de flujo de invocación que invoca otro flujo CheckAvail. Por tanto, CheckAvail pasa a ser un flujo invocado
    • El flujo principal no puede ser un flujo invocado.
Un flujo consta de nodos de flujo conectados entre sí formando una ruta de ejecución denominada ruta de flujo (consulte la sección Ruta de flujo). Los nodos de flujo pueden ser de varios tipos (consulte la sección Nodos de flujo):
  • Los nodos Receive, Reply y Throw definen el punto de entrada, el punto de salida normal y los puntos de salida de error del flujo.
  • Los nodos Assign, Switch y While suministran funciones de programación.
  • Un nodo Invoke invoca una operación de pantalla, una operación no de terminal o un flujo.

Como un proyecto de flujo de servicio es un contenedor de desarrollo de programa más que un programa en sí mismo, un flujo contenido dentro de un proyecto de flujo de servicios no necesita todas las operaciones, mensajes, correlaciones, expresiones y otros flujos que existen en el proyecto de flujo de servicios.

Al contrario, a medida que se van creando los flujos, se seleccionan las operaciones disponibles, mensajes, correlaciones, expresiones y otros flujos (que debe crear o importar el usuario) para crear la secuencia particular de interacciones de programa que desea que conformen el código de tiempo de ejecución.

Cuando se genera el código de tiempo de ejecución, se especifica el flujo de nivel superior en el diseño y el generador de código de tiempo de ejecución sigue los enlaces en el flujo de nivel superior en sentido descendente referenciados en el diseño para reunir la información necesaria para generar el código de tiempo de ejecución. (Más específicamente, en primer lugar debe crear un archivo de propiedades de generación para el flujo de nivel superior y, a continuación, generar el código de tiempo de ejecución a partir del archivo de propiedades de generación; consulte la sección Crear un programa para un entorno de ejecución.)

Puede crear un flujo de dos maneras (consulte la sección Crear un flujo).

Puede utilizar el editor de flujos para modificar un flujo (consulte la sección Editor de flujos).

Restricciones de la utilización de flujos: Consulte Restricciones y limitaciones de la ejecución en los flujos.