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


Elementos xJCL

As tarefas são expressas utilizando-se um dialeto XML (Extensible Markup Language) denominado xJCL (XML Job Control Language). Esse dialeto possui construções para expressar todas as informações necessárias para tarefas de cálculo intenso e em lote, embora alguns elementos do xJCL sejam aplicáveis apenas a tarefas de cálculo intenso e em lote. Consulte o xJCL fornecido com os aplicativos de amostra, a tabela xJCL e o documento do esquema xJCL XSD para obter informações adicionais sobre o xJCL. A definição de xJCL de uma tarefa não faz parte do aplicativo de Compute Grid, mas é construída separadamente e enviada para o planejador de tarefa para execução. O planejador de tarefa utiliza as informações no xJCL para determinar onde e quando a tarefa deve ser executada.

A tabela a seguir resume os elementos xJCL:

Tabela 1. Elementos xJCL
Elemento Cálculo intenso Batch Subelemento Atributos Descrição
tarefa Y Y não-aplicável não-aplicável Define o escopo da descrição de uma tarefa do batch.
não-aplicável Y Y não-aplicável nome Nome da tarefa. Esse nome deve corresponder ao nome do aplicativo de Compute Grid.
não-aplicável Y Y jndi-name não-aplicável O nome de JNDI fornecido ao bean de sessão sem preservação de estado do controlador de tarefas quando o aplicativo de Compute Grid é implementado no WebSphere Application Server.
não-aplicável Y Y step-scheduling-criteria Consulte o elemento step-scheduling-criteria não-aplicável
não-aplicável A Y checkpoint-algorithm Consulte o elemento checkpoint-algorithm não-aplicável
não-aplicável Y Y job-step Consulte o elemento job-step não-aplicável
job-step não-aplicável não-aplicável não-aplicável não-aplicável não-aplicável
não-aplicável Y++ Y não-aplicável nome Nome da etapa. Essas informações são retornadas nos comandos operacionais.
não-aplicável A Y step-scheduling Consulte o elemento step-scheduling Permite a lógica condicional com base nos códigos de retorno de etapas que determinam se a etapa de lote deve ser chamada ou não
não-aplicável A Y checkpoint-algorithm-ref Consulte o elemento checkpoint-algorithm-ref Especifica o algoritmo de ponto de verificação a ser utilizado para a etapa da tarefa do batch.
não-aplicável Y A nome de classe não-aplicável Nome completo da classe que implementa a tarefa de computação intensiva.
não-aplicável A Y JNDI-name não-aplicável Nome de JNDI lógico do início do bean da etapa de lote do bean de entidade que o ambiente de execução em lote utilizará para carregar a etapa de tarefa do lote.
não-aplicável não-aplicável não-aplicável props Consulte o elemento props Propriedades Name-value a serem transmitidas para a etapa
não-aplicável A Y batch-data-streams Consulte o elemento batch-data-streams Uma seqüência de elementos bds. Cada bds contém as informações de configuração necessárias para criar um fluxo de dados em lote.
prop Y Y não-aplicável não-aplicável Uma única instância de um par nome-valor que serve como uma propriedade.
não-aplicável não-aplicável não-aplicável não-aplicável nome Nome da propriedade.
não-aplicável não-aplicável não-aplicável não-aplicável Value Valor da propriedade.
props Y Y não-aplicável não-aplicável Série de elementos prop utilizados para transmitir as propriedades do par nome-valor para as etapas, o bds, algoritmos de ponto de verificação e algoritmos de resultados.
não-aplicável não-aplicável não-aplicável prop Consulte o elemento prop não-aplicável
bds A Y não-aplicável não-aplicável Única instância de uma implementação do fluxo de dados em lote disponibilizada para utilização pela tarefa do batch.
não-aplicável não-aplicável não-aplicável logical-name não-aplicável Uma cadeia incorporada na etapa de batch e utilizada por ela para solicitar do ambiente de tempo de execução em lote uma instância do fluxo de dados em lote específica.
não-aplicável não-aplicável não-aplicável impl-class não-aplicável Nome completo da classe de implementação do fluxo de dados em lote.
não-aplicável não-aplicável não-aplicável props Consulte os elementos Props Lista de propriedades transmitidas para a classe de implementação do fluxo de dados em lote.
batch-data-streams A Y não-aplicável não-aplicável Série de elementos bds
não-aplicável não-aplicável não-aplicável bds consulte o elemento bds não-aplicável
step-scheduling A Y não-aplicável não-aplicável Pode ser aplicado a etapas de tarefas para criar fluxos condicionais baseados em código de retorno de uma tarefa em lote. Pode comparar valores de códigos de retorno definidos para essa tarefa em lote para decidir se uma etapa deve ser chamada ou não durante o processamento de uma tarefa em lote. Os valores dos códigos de retorno são comparados utilizando-se o elemento return code-expression.
não-aplicável não-aplicável não-aplicável returncode- expression consulte returncode-expression Returncode- expression a ser avaliado.
não-aplicável não-aplicável não-aplicável não-aplicável condição Se houver mais de um elemento returncode-expression no elemento step-scheduling, os operadores condicionais poderão ser aplicados a eles. Os operadores condicionais suportados são: AND, OR.
returncode-expression A Y não-aplicável não-aplicável Utilizado em tags de planejamento de etapas para decidir se uma etapa de tarefa em lote será executada com base em códigos de retorno de outras etapas em lote.
não-aplicável não-aplicável não-aplicável não-aplicável step Nome da etapa cujo código de retorno será comparado nesta expressão.
não-aplicável não-aplicável não-aplicável não-aplicável operador Operador a ser utilizado para a expressão de código de retorno; os operadores suportados são: eq (igual a), lt (menor que), gt (maior que), le (menor ou igual a), ge (maior ou igual a).
não-aplicável não-aplicável não-aplicável não-aplicável Value O valor com o qual comparar o código de retorno.
step-scheduling-criteria A Y não-aplicável não-aplicável Descreve a seqüência na qual as etapas da tarefa serão processadas. O planejamento seqüencial atual é suportado e as etapas são chamadas na ordem de exibição no xJCL.
não-aplicável não-aplicável não-aplicável scheduling-mode não-aplicável Seqüência na qual chamar as etapas: o único valor possível é sequential
checkpoint-algorithm A Y não-aplicável não-aplicável Declara um algoritmo de ponto de verificação que pode ser utilizado para uma etapa de tarefa do batch.
não-aplicável não-aplicável não-aplicável não-aplicável nome Nome do algoritmo.
não-aplicável não-aplicável não-aplicável nome de classe não-aplicável Classe que implementa este algoritmo.
não-aplicável não-aplicável não-aplicável props consulte o elemento props Seqüência de elementos props do algoritmo de ponto de verificação.
checkpoint-algorithm-ref A Y não-aplicável não-aplicável Referência a um elemento de algoritmo de ponto de verificação.
não-aplicável não-aplicável não-aplicável não-aplicável nome Nome do algoritmo de ponto de verificação que está sendo referenciado.
não-aplicável não-aplicável não-aplicável props consulte o elemento props Seqüência de elementos prop para o algoritmo de ponto de verificação.

+ Somente tarefas de cálculo intenso de etapa única são suportadas.

Elementos xJCL

A tabela a seguir resume os elementos xJCL:

Tabela 2. Elementos xJCL
Elemento Cálculo Intenso J2EE Lote J2EE Utilitário Nativo Subelemento Atributos Descrição
tarefa Y Y A     Define o escopo da descrição de uma tarefa do batch.
  Y Y Y   nome Nome da tarefa. Esse nome deve corresponder ao nome do aplicativo de Compute Grid
  Y Y Y   accounting Atributo de informações adicionais de contabilidade.
  Y Y Y   classe Atributo adicional da classe de job, que identifica a classe de job em que a tarefa será executada.
  Y Y Y   default-application-name O nome do aplicativo a ser utilizado quando nenhum atributo application-name de etapa da tarefa for localizado.
  Y Y A jndi-name   O nome de JNDI fornecido ao bean de sessão sem estado do controlador de tarefas quando o aplicativo de Compute Grid é implementado no WebSphere Application Server.
  Y Y Y critérios de job-scheduling required-capability O required-capability da tarefa, que deve ser definido em um terminal para a tarefa a ser despachada para esse terminal.
  Y Y A

critérios de step-scheduling

consulte o elemento step-scheduling-criteria  
  A Y A checkpoint-algorithm consulte o elemento checkpoint-algorithm  
  A Y Y results-algorithm consulte o elemento results-algorithms  
  Y Y Y

substitution-props++

consulte o elemento prop O required-capability da tarefa, que deve ser definido em um terminal para a tarefa a ser despachada para esse terminal
job-step            
  S* Y A   nome Nome opcional da etapa. Essas informações são retornadas nos comandos operacionais.
  S* Y A   application-name Nome opcional do aplicativo executado pela etapa. O nome do atributo é utilizado se application-name for omitido e o atributo no nível da tarefa default-application-name for omitido.
  A Y A step-scheduling Consulte o elemento step-scheduling Permite a lógica condicional baseada em códigos de retorno de etapas que determinam se a etapa de lote deve ser chamada ou não.
  A Y A JNDI-name   Nome de JNDI lógico do início do bean da etapa de lote do bean de entidade que o ambiente de execução em lote utilizará para carregar a etapa da tarefa em lote.
  Y Y A nome de classe   Nome completo da classe que implementa a tarefa de computação intensiva.
  Y A A checkpoint-algorithm-ref   Especifica o algoritmo de ponto de verificação a ser utilizado para a etapa da tarefa do batch.
  A Y A results-ref Consulte o elemento results-ref Especifica o algoritmo de resultados a ser utilizado para a execução da etapa da tarefa do lote.
  A Y A batch-data-streams Consulte o elemento batch-data-streams Uma seqüência de elementos bds. Cada bds contém as informações de configuração necessárias para criar um fluxo de dados de batch.
  Y Y A props Consulte o elemento props Propriedades Name-value a serem transmitidas para a etapa.
  A A Y exec Consulte o elemento exec Identifica a executável associada à etapa da tarefa.
  A A Y env-entries Consulte o elemento env-entries Identifica as propriedades ambientais associadas à etapa da tarefa.
prop Y Y A     Uma única instância de um par nome-valor que serve como uma propriedade.
          nome Nome da propriedade.
          Value Valor da propriedade.
props Y Y A prop Consulte o elemento prop  
env-entries A A Y     Série de elementos prop utilizados para transmitir as propriedades do par nome-valor para as etapas, o bds, algoritmos de ponto de verificação e algoritmos de resultados.
        env-var Consulte o elemento env-var  
exec A A Y     Série de elementos prop utilizados para transmitir as propriedades do par nome-valor para as etapas, o bds, algoritmos de ponto de verificação e algoritmos de resultados.
          executable O nome da executável associada à etapa da tarefa.
        arg Consulte o elemento line  
line A A Y     Argumentos da linha de comandos transmitidos para o executável da etapa da tarefa.
bds A Y A     Única instância de uma implementação do fluxo de dados em lote disponibilizada para a tarefa em lote.
        logical-name   Uma cadeia incorporada na etapa de lote e utilizada por ela para solicitar do ambiente de tempo de execução em lote uma instância do fluxo de dados em lote específica.
        impl-class   Nome completo da classe da classe de implementação do fluxo de dados em lote.
        props Consulte os elementos props Lista de propriedades transmitidas para a classe de implementação do fluxo de dados em lote.
batch-data-streams A Y A     Série de elementos bds
             
        bds Consulte o elemento bds  
step-scheduling A Y       Aplica-se a etapas de tarefas para criar fluxos condicionais baseados em código de retorno de uma tarefa em lote. Compara valores de códigos de retorno definidos para essa tarefa em lote para decidir se uma etapa será chamada ou não durante o processamento de uma tarefa em lote. Os valores dos códigos de retorno são comparados utilizando o elemento returncode-expression.
        returncode- expression consulte returncode-expression Returncode- expression a ser avaliado.
          condição Se houver mais de um elemento returncode-expression no elemento step-scheduling, os operadores condicionais serão aplicados a eles. Os operadores condicionais suportados são: AND, OR.
returncode-expression A Y       Utilizado em tags step-scheduling para decidir se uma etapa de tarefa do batch deve ser executada com base em códigos de retorno de outras etapas da tarefa.
          step Nome da etapa cujo código de retorno será comparado nesta expressão.
          operador Operador a ser utilizado para a expressão de código de retorno; os operadores suportados são: eq (igual a), lt (menor que), gt (maior que), le (menor ou igual a), ge (maior ou igual a).
          Value O valor com o qual comparar o código de retorno.
step-scheduling-criteria A Y       Descreve a seqüência na qual as etapas da tarefa serão processadas. O planejamento seqüencial atual é suportado; ou seja, as etapas são chamadas na ordem em que aparecem no xJCL.
        scheduling-mode   Seqüência na qual chamar as etapas, o único valor possível no momento é sequential.
checkpoint-algorithm A Y       Declara um algoritmo de ponto de verificação que pode ser utilizado para uma etapa de tarefa do batch.
          nome Nome do algoritmo.
        nome de classe   Classe que implementa este algoritmo.
        props Consulte o elemento props Seqüência de elementos prop do algoritmo de ponto de verificação.
checkpoint-algorithm-ref A Y       Referência a um elemento de algoritmo de ponto de verificação.
          nome Nome do algoritmo de ponto de verificação que está sendo referenciado.
        props Consulte o elemento props Seqüência de elementos prop do algoritmo de ponto de verificação.

++ O elemento xJCL substitution-props é discutido abaixo.

substitution-props do xJCL

O xJCL da tarefa pode conter variáveis simbólicas. Uma variável simbólica é uma expressão com o formato ${variable-name}, localizada fora de um comentário em um documento bem formado. Exemplo:
<checkpoint-algorithm-ref name="${checkpoint}" />
O elemento do xJCL, substitution-props, define um par padrão de nome e valor para variáveis simbólicas. A seguir está um exemplo do elemento substitution-props, obtido do 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>

A substituição de variáveis simbólicas ocorre no tempo de execução. No tempo de execução, a cadeia ${variable-name} é substituída pelo valor da propriedade quando o xJCL é enviado para execução. Utilizando as propriedades do exemplo anterior, a cadeia ${checkpoint} é substituída pela cadeia baseada no tempo antes do envio da tarefa.

Variáveis simbólicas podem ser indiretas. Por exemplo: name=FILENAME value=${${filename}} utilizado com o par nome/valor filename=postingsDataStream utiliza o mesmo resultado de especificar name=FILENAME value=${postingsDataStream}.

Variáveis simbólicas também podem ser compostas. Por exemplo, name=postingsDataStream value=${was.install.root}${file.separator}temp${file.separator}postings.

Os pares nome/valor não devem ser definidos no elemento substitution-props do documento de tarefas. Os pares nome/valor props definidos no elemento substitution-props são valores padrão para as variáveis denominadas. Se não forem definidos no elemento substitution-props, os pares nome/valor devem ser transmitidos nas APIs do planejador de tarefas quando a tarefa for enviada ou definidas nas propriedades de sistema para a JVM. Cada variável simbólica definida no corpo de um documento de tarefas deve ser resolvido para que o xJCL seja considerado válido. Cada par nome/valor definido no documento de tarefas deve ser resolvido para uma variável simbólica localizada no corpo do xJCL para que o xJCL seja considerado válido.

Se os pares nome/valor forem definidos no documento do xJCL e transmitidos para as APIs do planejador de tarefas no momento do envio da tarefa, os pares nome/valor transmitidos nas APIs do Planejador de Tarefas irão sobrepor os valores padrão definidos no documento do xJCL. Se pares nome/valor não forem transmitidos nas APIs do planejador de tarefas nem definidos como padrões no documento do xJCL, os pares nome/valor para as variáveis simbólicas devem ser definidos nas propriedades da JVM do sistema para que o xJCL seja considerado válido.

As variáveis simbólicas são resolvidas pelo planejador de tarefas antes do envio da tarefa, exceto as seguintes variáveis especiais, que são resolvidas no grid endpoint. Todas as variáveis especiais devem ser definidas como propriedades de sistema da JVM. Eles são:
  • ${was.install.root}
  • ${user.install.root}
  • ${agent.home}



Conceitos relacionados
Esquema XML para uma Tarefa em Lote
Amostra xJCL para uma Tarefa do Batch
Amostra xJCL para uma Tarefa execução nativa
Tópico de Conceito    

Termos de Uso | Feedback

Última atualização: 24/09/2009 14h23min46s EDT
http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r1m1/index.jsp?topic=/com.ibm.websphere.gridmgr.doc/info/reference/cxdbatchjcl.html