Executando rotina batch java com Control-M

3 respostas
C

Pessoal,
Estou definindo a arquitetura de uma aplicação que terá uma parte executando em batch.
Bom, essa aplicação é em Java e pensei em utilizar o Contol M da BMC para controlar a sua execução, já que é a ferramenta adquirida pela empresa.
Até aí tudo bem, mas daí fui falar com o pessoal do suporte e saí da reunião encucado.
Isso porque eles me mostraram dois cenários distintos para a solução:
Eles me disseram que só se justificaria a utilização do Contol M se a aplicação rodasse fora do servidor de aplicação e que caso ela rode dentro do servidor de aplicação (JBoss) a solução que eles utilizariam seria criar uma DIMO ou DYMO (ou sei lá como se escreve isso, já que não encontrei essa m* em lugar nenhum na internet). Segundo eles, trata-se de uma classe que é instanciada junto com o servidor de aplicação que fica em stand by esperando algum evento que desperte a rotina (ou talvez trabalhe com algum scheduler interno, sei lá)
O que vocês acham? Verdade mesmo que eu não posso usar um software de automação se meu programa batch estiver rodando dentro de um servidor de aplicação? E que diabos é isso de DIMO/DYMO? Isso tá com cara de acrônimo interno.

Detalhe: a plicação deve pegar alguns arquivos XML criptografados no file system, decifrar, fazer o parser e gravar os dados em algumas tabelas.

Agradeço a ajuda de vocês.

3 Respostas

E

O software chama-se Control-M e eles acham que você precisa de um “daemon” ( pronúncia em inglês: /dimon/ ).

B

Na verdade, se seu programa é do tipo “hello, world” (ou seja, ele não tem entrada de dados nenhuma que não seja via arquivos ou bancos de dados ou talvez pela linha de comando, e sua saída é sempre somente em arquivos ou bancos de dados), é perfeitamente possível agendar sua execução via Control-M.
Basta escrever um script bash (Unix, Linux) ou uma batch (Windows) que chame seu programa Java, algo como:

java -classpath suasBibliotecas -jar seuJar.jar

C

A nível de complexidade e criticidade, essa aplicação não é bem um “helo world”, mas sim, as entradas serão arquivos e/ou DB e as saídas também.
A minha dúvida é se o Control M, assim como qualquer outro, tipo o Quartz, pode escalonar uma aplicação que roda no servidor de aplicação ou esse .jar deve rodar mesmo fora do servidor de aplicação.
A outra dúvida é como funciona esse esquema que aqui chamaram de DIMO ou DYMO onde a classe é instanciada juntamente com o servidor de aplicação e fica em stand by aguardando “algo” para iniciar.
Obrigado!

Criado 19 de outubro de 2010
Ultima resposta 19 de out. de 2010
Respostas 3
Participantes 3