stringtranslate.com

Canalizaciones de CMS

CMS Pipelines es una característica del sistema operativo VM/CMS que permite al usuario crear y utilizar un pipeline . Los programas de un pipeline operan en un flujo secuencial de registros. Un programa escribe registros que son leídos por el siguiente programa del pipeline. Cualquier programa se puede combinar con cualquier otro porque la lectura y la escritura se realizan a través de una interfaz independiente del dispositivo.

Descripción general

CMS Pipelines proporciona un comando CMS, PIPE. La cadena de argumentos del PIPEcomando es la especificación de la canalización. PIPE selecciona programas para ejecutar y los encadena en una canalización para bombear datos.

Dado que los programas y utilidades de CMS no proporcionan una interfaz stdin y stdout independiente del dispositivo, CMS Pipelines tiene una biblioteca integrada de programas que se pueden llamar en una especificación de canalización. Estos programas integrados interactúan con el sistema operativo y realizan muchas funciones de utilidad.

Los datos en CMS se estructuran en registros lógicos en lugar de en un flujo de bytes. En el caso de los datos textuales, una línea de texto corresponde a un registro lógico. En los pipelines de CMS, los datos se transmiten entre las etapas como registros lógicos.

Los usuarios de CMS Pipelines emiten comandos de pipeline desde la terminal o en procedimientos EXEC. Los usuarios pueden escribir programas en REXX que se pueden utilizar además de los programas integrados.

Ejemplo

Un ejemplo simple que lee un archivo de disco, separa los registros que contienen la cadena "Hola" de los que no la contienen. Los registros seleccionados se modifican agregando la cadena "¡Mundo!" a cada uno de ellos; los demás registros se traducen a mayúsculas. Luego, los dos flujos se combinan y los registros se escriben en un nuevo archivo de salida.

TUBO (¿fin?) < texto de entrada | a: localizar /Hola/ | insertar / Mundo!/ después | yo: fanatismo | > nuevo archivo txt a  ? a: | xlate superior | yo:

En este ejemplo, la <etapa lee el archivo de disco de entrada y pasa los registros a la siguiente etapa del proceso. La locateetapa separa el flujo de entrada en dos flujos de salida. El flujo de salida principal de locate(registros que contienen Hello) pasa los registros a la insertetapa. La insertetapa modifica los registros de entrada como se especifica en sus argumentos y los pasa a su salida. La salida está conectada a faninanyque combina registros de todos los flujos de entrada para formar un flujo de salida único. La salida se escribe en el nuevo archivo de disco.

La salida secundaria de locate(marcada por la segunda aparición de la a:etiqueta) contiene los registros que no cumplieron con el criterio de selección. Estos registros se traducen a mayúsculas (por la xlateetapa) y se pasan al flujo de entrada secundario de faninany(marcado por la segunda aparición de la i:etiqueta).

La topología de canalización de este ejemplo consta de dos canalizaciones conectadas. El carácter final ( ?en este ejemplo) separa las canalizaciones individuales en el conjunto de canalizaciones. Los registros leídos desde el archivo de entrada pasan por cualquiera de las dos rutas de la topología de canalización. Debido a que ninguna de las rutas contiene etapas que necesiten almacenar registros en búfer, CMS Pipelines garantiza que los registros lleguen a faninanyen el orden en el que pasaron por locate.

El ejemplo de pipeline se presenta en "formato vertical" con las etapas individuales en líneas separadas. Cuando un pipeline se escribe como un comando CMS, todas las etapas se escriben en una sola línea.

Características

El concepto de tubería simple se amplía de estas maneras:

CMS Pipelines ofrece varias características para mejorar la solidez de los programas:

Historia

John Hartmann, de IBM Dinamarca, comenzó a desarrollar CMS Pipelines en 1980. [1] El producto fue comercializado por IBM como un producto independiente durante los años 80 y se integró en VM/ESA a finales de 1991. Con cada lanzamiento de VM, el código de CMS Pipelines también se actualizaba hasta que se congeló funcionalmente en el nivel 1.1.10 en VM/ESA 2.3 en 1997. Desde entonces, el último nivel de CMS Pipelines ha estado disponible para su descarga desde la página de inicio de CMS Pipelines para los usuarios que deseen explorar nuevas funciones.

El nivel actual de CMS Pipelines está incluido nuevamente en las versiones de z/VM desde z/VM 6.4, disponible desde el 11 de noviembre de 2016.

En 1995 se lanzó una implementación de CMS Pipelines para TSO con el nombre de BatchPipeWorks en el producto BatchPipes/MVS . La implementación actualizada de TSO ha estado disponible como oferta de servicios de IBM Dinamarca hasta 2010.

Ambas versiones se mantienen a partir de una única base de código fuente y se las conoce comúnmente como CMS/TSO Pipelines . La especificación está disponible en la Edición del autor. [2]

Véase también

Referencias

  1. ^ VM y la comunidad VM, Melinda Varian
  2. ^ CMS/TSO Pipelines Edición del autor Edición del autor

Enlaces externos