stringtranslate.com

Programador de trabajos

Un programador de trabajos es una aplicación informática para controlar la ejecución de trabajos en segundo plano sin supervisión . [1] Esto se denomina comúnmente 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, automatización de carga de trabajo ( WLA ). La estructura de datos de los trabajos a ejecutar se conoce como cola de trabajos .

Los programadores de tareas modernos suelen proporcionar una interfaz gráfica de usuario y un único punto de control para la definición y el control de las ejecuciones en segundo plano en una red distribuida de ordenadores. Cada vez más, se necesitan programadores de tareas para orquestar la integración de las actividades empresariales en tiempo real con el procesamiento tradicional de TI en segundo plano en diferentes plataformas de sistemas operativos y entornos de aplicaciones empresariales.

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 esperadas del software de programación de tareas incluyen:

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

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

Estas capacidades avanzadas pueden ser escritas por desarrolladores internos, pero más a menudo son proporcionadas por proveedores que se especializan en software de gestió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 sistema operativo único, existen dos arquitecturas principales para el software de programación de trabajos.

Historia

La programación de tareas tiene una larga historia. Los programadores de tareas 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 en lo que respecta a los Programadores de Trabajo:

  1. La era del mainframe
    • Lenguaje de control de trabajos (JCL) en mainframes de IBM . Inicialmente basado en la funcionalidad JCL para manejar dependencias, esta era se caracteriza por el desarrollo de soluciones de programación sofisticadas (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 batch , la necesidad de programadores de trabajos estándar para mainframes ha crecido con la creciente adopción de entornos informáticos distribuidos.

En cuanto al tipo de programación también hay épocas diferenciadas:

  1. Procesamiento por lotes : la ejecución tradicional de tareas en segundo plano, basada en fecha y hora, en un período definido durante el cual los recursos estaban disponibles para el procesamiento por lotes (la ventana de lotes ). En efecto, el enfoque original del mainframe se transpuso al entorno de sistemas abiertos.
  2. Automatización de procesos basada en 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 una actualización de stock de una sucursal de la tienda), o porque no hay una ventana de lote o esta 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 .

Programación

Se utilizan varios esquemas para decidir qué trabajo en particular se debe ejecutar. Los parámetros que se pueden considerar incluyen:

Véase también

Referencias

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