stringtranslate.com

Programador de trabajos

Un programador de trabajos es una aplicación informática para controlar la ejecución desatendida de trabajos en segundo plano . [1] Esto comúnmente se denomina programación por lotes , ya que la ejecución de trabajos no interactivos a menudo se denomina procesamiento por lotes , aunque el trabajo tradicional y el lote se distinguen y contrastan; consulte esa página para obtener más detalles. Otros sinónimos incluyen sistema por lotes , sistema de gestión de recursos distribuidos ( DRMS ), administrador de recursos distribuidos ( DRM ) y, comúnmente hoy en día, automatización de cargas de trabajo ( WLA ). La estructura de datos de los trabajos a ejecutar se conoce como cola de trabajos .

Los programadores de trabajos modernos suelen proporcionar una interfaz gráfica de usuario y un único punto de control para la definición y supervisión de ejecuciones en segundo plano en una red distribuida de computadoras. Cada vez más, se requiere que los programadores de trabajos orquesten la integración de actividades comerciales en tiempo real con el procesamiento de TI tradicional en segundo plano en diferentes plataformas de sistemas operativos y entornos de aplicaciones comerciales.

La programación de trabajos no debe confundirse con la programación de procesos , que es la asignación de procesos actualmente en ejecución a las CPU por parte del sistema operativo .

Descripción general

Las características básicas que se esperan del software de programación de trabajos incluyen:

Si el software de un área completamente diferente incluye todas o algunas de esas características, se puede considerar que este software tiene capacidades de programación de trabajos.

La mayoría de los sistemas operativos , como Unix y Windows , proporcionan capacidades básicas de programación de trabajos, en particular mediante at y por lotes , cron y el Programador de tareas de Windows . Los servicios de alojamiento web brindan capacidades de programación de trabajos a través de un panel de control o una solución webcron . Muchos programas como DBMS , respaldo , ERP y BPM también incluyen capacidades relevantes de programación de trabajos. La programación de trabajos proporcionada por el sistema operativo ("SO") o el programa puntual generalmente no brindará la capacidad de programar más allá de una sola instancia del sistema operativo o fuera del alcance del programa específico. Las organizaciones que necesitan automatizar cargas de trabajo de TI no relacionadas también pueden aprovechar funciones avanzadas de un programador de trabajos, como:

Estas capacidades avanzadas pueden ser desarrolladas por desarrolladores internos, pero con mayor frecuencia las proporcionan proveedores que se especializan en software de administración de sistemas .

Conceptos principales

Hay muchos conceptos que son fundamentales para casi todas las implementaciones de programadores de trabajos y que son ampliamente reconocidos con variaciones mínimas: trabajos, dependencias, flujos de trabajos y usuarios.

Más allá de las herramientas básicas de programación de instancias de un único sistema operativo, existen dos arquitecturas principales para el software de programación de trabajos.

Historia

La programación de trabajos tiene una larga historia. Los programadores de trabajos han sido uno de los principales componentes de la infraestructura de TI desde los primeros sistemas mainframe. Al principio se procesaban pilas de tarjetas perforadas una tras otra, de ahí el término " procesamiento por lotes ".

Desde un punto de vista histórico, podemos distinguir dos épocas principales sobre los Job Schedulers:

  1. La era de la computadora central
    • Lenguaje de control de trabajos (JCL) en mainframes IBM . Inicialmente basada en la funcionalidad JCL para manejar dependencias, esta era se caracteriza por el desarrollo de sofisticadas soluciones de programación (como Job Entry Subsystem 2/3 ) que forman parte del conjunto de herramientas de automatización y administración de sistemas en el mainframe.
  2. La era de los sistemas abiertos
    • Programadores modernos en una variedad de arquitecturas y sistemas operativos. Con herramientas de programación estándar limitadas a comandos como at y lote , la necesidad de programadores de trabajos estándar de mainframe ha aumentado con la mayor adopción de entornos informáticos distribuidos.

En cuanto al tipo de programación también se distinguen épocas:

  1. Procesamiento por lotes : la ejecución tradicional basada en fecha y hora de tareas en segundo plano según un período definido durante el cual los recursos estuvieron disponibles para el procesamiento por lotes (la ventana por lotes ). De hecho, el enfoque original de mainframe se transpuso al entorno de sistemas abiertos.
  2. Automatización de procesos impulsada por eventos: donde los procesos en segundo plano no se pueden ejecutar simplemente en un momento definido, ya sea porque la naturaleza del negocio exige que la carga de trabajo se base en la ocurrencia de eventos externos (como la llegada de un pedido de un cliente o un stock). actualización desde una sucursal de la tienda), o porque no hay ventana de lote o es insuficiente.
  3. Programación de trabajos orientada a servicios: los desarrollos recientes en la arquitectura orientada a servicios (SOA) han visto un movimiento hacia la implementación de la programación de trabajos como un servicio de infraestructura de TI reutilizable que puede desempeñar un papel en la integración de la carga de trabajo de aplicaciones comerciales existentes con nuevas aplicaciones en tiempo real basadas en servicios web. .

Planificación

Se utilizan varios esquemas para decidir qué trabajo en particular ejecutar. Los parámetros que podrían considerarse incluyen:

Ver también

Referencias

  1. ^ Efecto de las características del tamaño del trabajo en el rendimiento de la programación del trabajo