WebSphere Extended Deployment Compute Grid, Version 6.1.1
             Sistemas operativos: AIX, HP-UX, Linux, Solaris, Windows,


Elementos xJCL

Los trabajos se expresan con un dialecto de XML (Extensible Markup Language) denominado Lenguaje de control de trabajos XML (xJCL). Este dialecto tiene construcciones para expresar toda la información necesaria para los trabajos por lotes o los trabajos con una actividad de proceso intensiva. Consulte el xJCL que se proporciona con las aplicaciones de ejemplo, el documento de esquema XSD de xJCL y la tabla xJCL para obtener más información sobre xJCL. La definición xJCL de un trabajo no forma parte de la aplicación de Compute Grid, pero se construye aparte y se envía al planificador de trabajos para que la ejecute. El planificador de trabajos utiliza la información de xJCL para determinar dónde y cuándo se debe ejecutar el trabajo.

La siguiente tabla resume los elementos xJCL:

Tabla 1. Elementos xJCL
Elemento Cálculo intensivo Por lotes Subelemento Atributos Descripción
job S S no se aplica no se aplica Ámbito de la descripción de un trabajo por lotes.
no se aplica S S no se aplica name Nombre del trabajo. Este nombre tiene que coincidir con el nombre de la aplicación de Compute Grid.
no se aplica S S jndi-name no se aplica Nombre JNDI que se asigna al bean de sesión sin estado del controlador de trabajos cuando la aplicación de Compute Grid se despliega en WebSphere Application Server.
no se aplica S S step-scheduling-criteria Consulte el elemento step-scheduling-criteria no se aplica
no se aplica N S checkpoint-algorithm Consulte el elemento checkpoint-algorithm no se aplica
no se aplica S S job-step Consulte el elemento job-step no se aplica
job-step no se aplica no se aplica no se aplica no se aplica no se aplica
no se aplica Y++ S no se aplica name Nombre del paso. Esta información se devuelve en los mandatos operativos.
no se aplica N S step-scheduling Consulte el elemento step-scheduling Permite la lógica condicional basada en los códigos de retorno de los pasos que determinan si debe invocarse o no el paso por lotes
no se aplica N S checkpoint-algorithm-ref Consulte el elemento checkpoint-algorithm-ref Especifica el algoritmo de punto de control que se va a utilizar para el paso de trabajo por lotes.
no se aplica S N classname no se aplica Nombre plenamente cualificado de la clase que implementa el trabajo con una actividad de proceso intensiva.
no se aplica N S JNDI-name no se aplica Nombre JNDI lógico de la factoría del bean de paso por lotes del bean de entidad que el entorno de tiempo de ejecución por lotes utiliza para cargar el paso de trabajo por lotes.
no se aplica no se aplica no se aplica props Consulte el elemento props Propiedades nombre-valor que se van a pasar al paso
no se aplica N S batch-data-streams Consulte el elemento batch-data-streams Secuencia de elementos bds. Cada bds contiene la información de configuración necesaria para crear una secuencia de datos por lotes.
prop S S no se aplica no se aplica Instancia única de un par de nombre y valor que sirve de propiedad.
no se aplica no se aplica no se aplica no se aplica name Nombre de la propiedad.
no se aplica no se aplica no se aplica no se aplica value Valor de la propiedad.
props S S no se aplica no se aplica Serie de elementos prop que se utilizan para pasar propiedades de pares de nombre y valor a los pasos, bds, algoritmos de punto de control y algoritmos de resultados.
no se aplica no se aplica no se aplica prop Consulte el elemento prop no se aplica
bds N S no se aplica no se aplica Instancia única de implementación de una secuencia de datos por lotes a la que puede acceder el trabajo por lotes para utilizarla.
no se aplica no se aplica no se aplica logical-name no se aplica Serie incorporada en el paso por lotes que éste utiliza para pedir al entorno de tiempo de ejecución por lotes una instancia específica de secuencia de datos por lotes.
no se aplica no se aplica no se aplica impl-class no se aplica Nombre de clase plenamente cualificado de la clase de implementación de la secuencia de datos por lotes.
no se aplica no se aplica no se aplica props Consulte el elemento Props Lista de propiedades que se pasan a la clase de implementación de la secuencia de datos por lotes.
batch-data-streams N S no se aplica no se aplica Serie de elementos bds
no se aplica no se aplica no se aplica bds Consulte el elemento bds no se aplica
step-scheduling N S no se aplica no se aplica Puede aplicarse a los pasos de trabajo para crear flujos condicionales basados en el código de retorno para un trabajo por lotes. Puede comparar los valores de códigos de retorno definidos para este trabajo por lotes para determinar si un paso se invoca o no durante el proceso de un trabajo por lotes. Los valores de códigos de retorno se comparan utilizando el elemento de expresión de código de retorno.
no se aplica no se aplica no se aplica returncode- expression Consulte returncode-expression Expresión returncode- para la evaluación.
no se aplica no se aplica no se aplica no se aplica condition Si hay más de un elemento returncode-expression en el elemento step-scheduling, los operadores condicionales pueden aplicarse a éstos. Los operadores condicionales soportados son: AND, OR.
returncode-expression N S no se aplica no se aplica Se utiliza para los códigos de planificación de pasos para decidir si se ejecuta un paso de trabajo por lotes en función de los códigos de retorno de otros pasos de trabajo.
no se aplica no se aplica no se aplica no se aplica step Nombre de paso cuyo código de retorno se va a comparar en esta expresión.
no se aplica no se aplica no se aplica no se aplica operator Operador que se va a utilizar para la expresión de código de retorno. Los operadores admitidos son: eq (igual a), lt (menor que), gt (mayor que), le (menor o igual que), ge (mayor o igual que).
no se aplica no se aplica no se aplica no se aplica value El valor con el que se va a comparar el código de retorno.
step-scheduling-criteria N S no se aplica no se aplica Describe la secuencia en la que se procesarán los pasos de trabajo. Actualmente, se da soporte a la planificación secuencial y los pasos se invocan en el orden en el que aparecen en xJCL.
no se aplica no se aplica no se aplica scheduling-mode no se aplica Secuencia en la que deben invocarse los pasos: el único valor posible es sequential.
checkpoint-algorithm N S no se aplica no se aplica Declara un algoritmo de punto de control que puede utilizarse para un paso de trabajo por lotes.
no se aplica no se aplica no se aplica no se aplica name Nombre de algoritmo.
no se aplica no se aplica no se aplica classname no se aplica Clase que implementa este algoritmo.
no se aplica no se aplica no se aplica props Consulte el elemento props Secuencia de elementos props para el algoritmo de punto de control.
checkpoint-algorithm-ref N S no se aplica no se aplica Referencia al elemento de un algoritmo de punto de control.
no se aplica no se aplica no se aplica no se aplica name Nombre del algoritmo de punto de control al que se hace referencia.
no se aplica no se aplica no se aplica props Consulte el elemento props Secuencia de elementos prop para el algoritmo de punto de control.

+ Sólo se da soporte a los trabajos con una actividad de proceso intensiva y de un único paso.

Elementos xJCL

La siguiente tabla resume los elementos xJCL:

Tabla 2. Elementos xJCL
Elemento Con actividad de proceso intensiva J2EE Por lotes J2EE Programa de utilidad nativo Subelemento Atributos Descripción
job S S N     Ámbito de la descripción de un trabajo por lotes.
  S S S   name Nombre del trabajo. Tiene que coincidir con el nombre de la aplicación de Compute Grid
  S S S   accounting Atributo de información de cuenta opcional.
  S S S   clase Atributo de clase de trabajo opcional, que identifica la clase de trabajo bajo la que se ejecutará el trabajo.
  S S S   default-application-name El nombre de aplicación que se va a utilizar cuando no se encuentre ningún atributo application-name de paso de trabajo.
  S S N jndi-name   Nombre JNDI que se asigna al bean de sesión sin estado del controlador de trabajos cuando la aplicación de Compute Grid se despliega en WebSphere Application Server.
  S S S job-scheduling criteria required-capability La capacidad necesaria del trabajo, que debe definirse en un punto final para que se entregue el trabajo a ese punto final.
  S S N

criterios de step-scheduling

consulte el elemento step-scheduling-criteria  
  N S N algoritmo de punto de control consulte el elemento checkpoint-algorithm  
  N S S results-algorithm consulte el elemento results-algorithms  
  S S S

substitution-props++

consulte el elemento prop La required-capability del trabajo, que debe definirse en un punto final para que se entregue el trabajo a ese punto final.
job-step            
  S* S N   name Nombre del paso opcional. Esta información se devuelve en los mandatos operativos.
  S* S N   application-name Nombre opcional de la aplicación ejecutada mediante el paso. Se utiliza el nombre de atributo si se omite application-name y se omite el atributo de nivel de trabajo default-application-name.
  N S N step-scheduling Consulte el elemento step-scheduling Permite la lógica condicional basada en los códigos de retorno de los pasos, la cual determina si los pasos por lotes deben invocarse o no.
  N S N JNDI-name   Nombre JNDI lógico de la factoría del bean de paso por lotes del bean de entidad con el que el entorno de ejecución por lotes cargará el paso de trabajo por lotes.
  S S N classname   Nombre plenamente cualificado de la clase que implementa el trabajo con una actividad de proceso intensiva.
  S N N checkpoint-algorithm-ref   Especifica el algoritmo de punto de control que se va a utilizar para el paso de trabajo por lotes.
  N S N results-ref Consulte el elemento results-ref Especifica el algoritmo de resultados que se va a utilizar para la ejecución condicional del paso de trabajo por lotes.
  N S N batch-data-streams Consulte el elemento batch-data-streams Secuencia de elementos bds. Cada bds contiene la información de configuración necesaria para crear una secuencia de datos por lotes.
  S S N props Consulte el elemento props Propiedades nombre-valor que se van a pasar al paso.
  N N S exec Consulte el elemento exec Identifica el ejecutable asociado al paso de trabajo.
  N N S env-entries Consulte el elemento env-entries Identifica las propiedades de entorno asociadas al paso de trabajo.
prop S S N     Instancia única de un par de nombre y valor que sirve de propiedad.
          name Nombre de la propiedad.
          value Valor de la propiedad.
props S S N prop Consulte el elemento prop  
env-entries N N S     Serie de elementos prop que se utilizan para pasar propiedades de pares de nombre y valor a los pasos, bds, algoritmos de punto de control y algoritmos de resultados.
        env-var Consulte el elemento env-var  
exec N N S     Serie de elementos prop que se utilizan para pasar propiedades de pares de nombre y valor a los pasos, bds, algoritmos de punto de control y algoritmos de resultados.
          executable Nombre del ejecutable asociado al paso de trabajo.
        arg Consulte el elemento line  
line N N S     Argumentos de línea de mandatos pasados al ejecutable del paso de trabajo.
bds N S N     Instancia única de implementación de una secuencia de datos por lotes a la que puede acceder el trabajo por lotes.
        logical-name   Serie incorporada en el paso por lotes, que la utiliza para consultar al entorno de tiempo de ejecución por lotes una instancia específica de secuencia de datos por lotes.
        impl-class   Nombre de clase plenamente cualificado de la clase de implementación de la secuencia de datos por lotes.
        props Consulte los elementos props Lista de propiedades que se pasan a la clase de implementación de la secuencia de datos por lotes.
batch-data-streams N S N     Serie de elementos bds
             
        bds Consulte el elemento bds  
step-scheduling N S       Se aplica a los pasos de trabajo para crear flujos condicionales basados en el código de retorno para un trabajo por lotes. Compara los valores de códigos de retorno definidos para este trabajo por lotes para determinar si un paso se invoca o no durante el proceso de un trabajo por lotes. Los valores de códigos de retorno se comparan utilizando el elemento returncode-expression.
        returncode- expression Consulte returncode-expression Returncode- expression que se va a evaluar.
          condition Si hay más de un elemento returncode-expression en el elemento step-scheduling, los operadores condicionales se aplican a éstos. Los operadores condicionales soportados son: AND, OR.
returncode-expression N S       Se utiliza bajo los códigos de step-scheduling para decidir si un paso de trabajo por lotes va a ejecutarse en función de los códigos de retorno de otros pasos de trabajo.
          step Nombre de paso cuyo código de retorno se va a comparar en esta expresión.
          operator Operador que se va a utilizar para la expresión de código de retorno. Los operadores admitidos son: eq (igual a), lt (menor que), gt (mayor que), le (menor o igual que), ge (mayor o igual que).
          value El valor con el que se va a comparar el código de retorno.
step-scheduling-criteria N S       Describe la secuencia en la que se procesarán los pasos de trabajo. Actualmente, se da soporte a la planificación secuencial, es decir, los pasos se invocan en el orden en el que aparecen en xJCL.
        scheduling-mode   Secuencia en la que deben invocarse los pasos, siendo secuencial el único valor posible en estos momentos.
checkpoint-algorithm N S       Declara un algoritmo de punto de control que puede utilizarse para un paso de trabajo por lotes.
          name Nombre de algoritmo.
        classname   Clase que implementa este algoritmo.
        props Consulte el elemento props Secuencia de elementos prop para el algoritmo de punto de control.
checkpoint-algorithm-ref N S       Referencia al elemento de un algoritmo de punto de control.
          name Nombre del algoritmo de punto de control al que se hace referencia.
        props Consulte el elemento props Secuencia de elementos prop para el algoritmo de punto de control.

++ substitution-props del elemento xJCL se describe más abajo.

substitution-props de xJCL

El xJCL del trabajo puede contener variables simbólicas. Una variable simbólica es una expresión de la forma ${nombre-variable}, que se encuentra fuera de un comentario en otro documento bien formado. Por ejemplo:
<checkpoint-algorithm-ref name="${checkpoint}" />
El elemento de xJCL, substitution-props, define los pares de nombre y valor predeterminado de variables simbólicas. A continuación figura un ejemplo del elemento substitution-props, tomado del documento postingSampleXJCL.xml:
<substitution-props>
<prop name="wsbatch.count" value="5" />
<prop name="checkpoint" value="timebased" />
<prop name="checkpointInterval" value="15" />
<prop name="postingsDataStream" value="${was.install.root}${file.separator}temp${file.separator}postings" />
</substitution-props>

La sustitución de las variables simbólicas se produce durante la ejecución. Durante la ejecución, la serie ${nombre-variable} se sustituye por el valor de la propiedad cuando el xJCL se somete para ejecución. Utilizando las propiedades del ejemplo anterior, la serie ${checkpoint} se sustituye por la serie basada en el tiempo antes de que se someta el trabajo.

Las variables simbólicas pueden ser indirectas. Por ejemplo: name=FILENAME value=${${filename}} utilizado con el par de nombre y valor filename=postingsDataStream obtiene el mismo resultado que si se especifica name=FILENAME value=${postingsDataStream}.

Las variables simbólicas también pueden ser compuestas. Por ejemplo, name=postingsDataStream value=${was.install.root}${file.separator}temp${file.separator}postings.

Los pares de nombre y valor no tienen que definirse en el elemento substitution-props del documento de trabajo. Los pares de nombre y valor de props definidos en el elemento substitution-props son valores predeterminados de las variables indicadas. Si no se definen en el elemento substitution-props, los pares de nombre y valor se deben pasar mediante las API del Planificador de trabajos cuando se somete el trabajo o definirse en las propiedades del sistema para la JVM. Todas las variables simbólicas definidas en el cuerpo de un documento de trabajo se deben resolver para que el xJCL se considere válidos. Todos los pares de nombre y valor definidos en el documento de trabajo deben resolverse con una variable simbólica que se encuentra en el cuerpo del xJCL para que el xJCL se considere válido.

Si los pares de nombre y valor se definen en el documento xJCL y se pasan a las API del Planificador de trabajos durante el sometimiento, los pares de nombre y valor pasados mediante las API del Planificador de trabajos alteran temporalmente los valores predeterminados definidos en el documento xJCL. Si los pares de nombre y valor nunca se pasan mediante las API del Planificador de trabajos ni se definen como valores predeterminados del documento xJCL, los pares de nombre y valor de las variables simbólicas deben definirse en las propiedades de JVM del sistema para que el xJCL se considere válido.

Las variables simbólicas se resuelven mediante el Planificador de trabajos antes del sometimiento de trabajos, excepto para las siguientes variables especiales, que se resuelven en el punto final de trabajo de larga duración. Las variables especiales deben estar todas definidas como propiedades de sistema de JVM. Son:
  • ${was.install.root}
  • ${user.install.root}
  • ${agent.home}



Conceptos relacionados
Esquema XML de un trabajo por lotes
Ejemplo xJCL de un trabajo por lotes
Ejemplo en xJCL de un trabajo de ejecución nativa
Tema de concepto    

Condiciones de uso | Comentarios

Última actualización: 22-sep-2009 09H46' EDT
http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r1m1/index.jsp?topic=/com.ibm.websphere.gridmgr.doc/info/reference/cxdbatchjcl.html