Este tópico descreve os componentes que compõem um ambiente típico do Compute Grid.
O planejador de tarefa é o componente do Compute Grid que fornece todas as funções de gerenciamento de tarefa, como enviar, cancelar, reiniciar, etc. Ele mantém um histórico de todas as tarefas, incluindo aquelas que esperam ser executadas, aquelas em execução, e aquelas já executadas. Também mantém dados de uso de tarefas que foram executadas. O planejador de tarefa é hospedado em um WebSphere Application Server (ou cluster) em um ambiente do WebSphere Network Deployment. Uma célula do WebSphere não pode ter mais de um planejador de tarefa.
O contêiner de lote é o componente do Compute Grid que fornece o ambiente de execução das tarefas em lote. Os aplicativos em lote baseados no J2EE (Java 2 Platform Enterprise Edition) são executados dentro do contêiner de lote do WebSphere. Os aplicativos de execução nativa são executados dentro de um contêiner separado, descrito na seção a seguir. O contêiner de lote é hospedado em um WebSphere Application Server (ou cluster) em um ambiente do WebSphere Network Deployment. Uma célula do WebSphere pode ter qualquer número de contêineres de lotes.
Os aplicativos em lote do J2EE são aplicativos J2EE comuns do WebSphere, implementados como um arquivo EAR (Enterprise Archive), que contém implementações de um ou mais aplicativos em lote Java. Esses aplicativos em lote Java seguem os modelos de programação em lote transacional ou de cálculo intenso.
As tarefas são descritas utilizando-se uma linguagem de controle de tarefa. As tarefas do Compute Grid utilizam uma linguagem de controle de tarefa baseada em XML. A descrição da tarefa identifica qual aplicativo executar, suas entradas e saídas.
O planejador de tarefa expõe três tipos de API dos quais acessar suas funções de gerenciamento: uma interface da Web denominada console de gerenciamento da tarefa, uma linha de comandos shell denominada lrcmd, e APIs, disponíveis como Serviços da Web e EJBs.
O planejador de tarefa utiliza um banco de dados relacional para armazenar informações da tarefa. Pode ser qualquer banco de dados relacional suportado pelo WebSphere Application Server. Se o planejador de tarefa estiver armazenado em cluster, o banco de dados deverá ser um banco de dados de rede, como o DB2.
O contêiner de lote utiliza um banco de dados relacional para armazenar informações de ponto de verificação de aplicativos em lote transacionais. O banco de dados pode ser qualquer banco de dados relacional suportado pelo WebSphere Application Server. Se o contêiner de lote estiver armazenado em cluster, o banco de dados deverá ser um banco de dados de rede, como o DB2.
Essa é uma conectividade JDBC padrão com o planejador e as tabelas do contêiner, conforme suportado pelo gerenciador de conexão do WebSphere Application Server.
O planejador de tarefa do Compute Grid também pode gerenciar tarefas de execução nativa. Uma tarefa de execução nativa é aquela que descreve a chamada de um aplicativo nativo, que é qualquer aplicativo que pode ser executado como um comando em segundo plano não-interativo. Isso inclui programas principais Java, aplicativos compilados gravados em linguagens como COBOL ou C++, e, virtualmente, qualquer tipo de script.
O diagrama a seguir descreve os elementos adicionais que compõem o ambiente de execução de tarefas de execução nativa:
Um terminal de execução nativa é um nó na célula do Websphere em que as tarefas de execução nativa podem ser executadas. Ambos os nós, do WebSphere Application Server e não-WebSphere Application Server podem ser utilizados para executar tarefas de execução nativa. Em nós do WebSphere Application Server, o agente do nó é utilizado pelo planejador de tarefa para controlar tarefas de execução nativa. Em nós não-WebSphere Application Server, o agente de middleware controla as tarefas de execução nativa.
Um nó do WebSphere Application Server pode ser um terminal de execução de tarefas de execução nativa. O planejador de tarefas envia uma tarefa de execução nativa para o agente do nó. O agente do nó então cria um processo de sistema operacional nativo no qual o aplicativo nativo especificado é chamado.
O aplicativo nativo é executado em seu próprio processo e são transmitidos parâmetros de entrada especificados na descrição de tarefa (xJCL). O processo é configurado com variáveis de ambiente especificadas na xJCL.
As tarefas de execução nativa também podem ser executadas em nós não-WebSphere. Um nó não-WebSphere Application Server também é conhecido como nó de middleware. Um nó de middleware requer um pequeno agente de controle denominado agente de middleware para executar as tarefas de execução nativa. O agente de middleware fornece um ponto de controle para o planejador de tarefa. Por meio do agente de middleware, o planejador de tarefa envia uma tarefa de execução nativa para ser executada no nó de middleware. O agente de middleware, como o agente do nó, executa cada aplicativo de execução nativa em seu próprio processo.