Mainframe e Java

7 respostas
V

Olá pessoal. Recentemente entrei em um novo projeto onde temos uma aplicação Java que se comunica com mainframes através de serviços de mensageria. Nossa aplicação é um servidor de transações, e o módulo administrativo é front end tanto da nossa aplicação como do mainframe. Eu não entendo absolutamente nada sobre mainframes, apenas ouvi falar de algumas coisas relacionadas ao Cobol e DB2. Preciso conhecer pelo menos os fundamentos desse tipo de arquitetura, das melhores formas de comunicação e dos paradigmas utilizados para poder conversar com propriedade com os analistas desse cliente (um grande banco nacional).

Por onde devo começar?

7 Respostas

D

Deve começar se concentrando nas especificações do projeto. A não ser que você tenha que programar para Mainframe, aí sim, preocupe-se com isto. Senão, tenha em mente que as regras de negócio não mudam de linguagem para linguagem.

L

O Cobol é capaz de trabalhar com XML, OO e também existe uma forma de integrar Cobol e Java através de EJB. Tanto é capaz de realizar uma chamada Cobol pelo Java e vice-versa

http://supportline.microfocus.com/documentation/books/nx40/dijint.htm

Na parte do overview tem os links que provavelmente você vai precisar estudar.

Boa sorte

D

Pelo que entendi, será utilizada uma estrutura de mensagens assíncronas, como o JMS do java.

L

Verdade, lá onde trabalho usamos essa arquitetura, porém ela foi utilizada pela falta de conhecimento na época de fazer a integração entre Java e COBOL.

Bom se for através de fila de mensagens do banco de dados e JMS em Java é mais simples, porém tem perda de performance e corre o risco de não enviar/receber a mensagem, além de que vai ter a dependência do BD no processo.

Qual o banco de dados utilizado? Lá usamos Oracle, se o seu banco for este também, já vou adiantando alguns links para você.

A documentação do pacote de fila é a DBMS_AQ que segue o link: http://docs.oracle.com/cd/B28359_01/appdev.111/b28419/d_aq.htm

Basicamente você tem que configurar as propriedades(visibilidade, tempo de espera…) , usar o enqueue e dequeue

Aqui tem um exemplo de enqueue: http://dbpedias.com/wiki/Oracle:DBMS_AQ.ENQUEUE

Na parte Java você vai usar JMS com um pool de conexões para obter as mensagens. Existem vários exemplos internet a fora.

A

[quote=Maracuja]

Vina:
Olá pessoal. Recentemente entrei em um novo projeto onde temos uma aplicação Java que se comunica com mainframes através de serviços de mensageria. Nossa aplicação é um servidor de transações, e o módulo administrativo é front end tanto da nossa aplicação como do mainframe. Eu não entendo absolutamente nada sobre mainframes, apenas ouvi falar de algumas coisas relacionadas ao Cobol e DB2. Preciso conhecer pelo menos os fundamentos desse tipo de arquitetura, das melhores formas de comunicação e dos paradigmas utilizados para poder conversar com propriedade com os analistas desse cliente (um grande banco nacional).

Por onde devo começar?

Na maioria (senao todas!) das vezes em que trabalhei em projetos assim, a comunicacao entre a alta plataforma (mainframe) e a baixa plataforma (Front-end em java por exemplo) se dava via mensagens (CICS transaction server + IBM Websphere MQ).

Pelo que entendi vc vai trabalhar somente no Front-end, basicamente vc vai ter que entender quais transacoes vc vai consumir da alta plataforma (entrada e saida, geralmente os bancos tem algo que eles chamam copybook onde existe essa definicao de entrada e saida).

Segundo um dos links que te passei, 90% das 500 maiores empresas da Fortune 500 rodam CICS. Incluindo a maioria dos bancos.

Alias, pode comecar pelos links que te passei! :smiley:

É mexer caixa de marimbodos.

V

Olá gente. Agradeço pelas respostas. O que eu queria era entender a arquitetura de envio de mensagens, e os links que vocês me passaram supriu minhas dúvidas.

Nesse cliente usamos o WebSphere MQ realmente, e nossa aplicação se comunica via JMS. Já estou estudando para não boiar nesse ponto.

Abraço, e podem fechar o tópico!

J

Vina:
Olá pessoal. Recentemente entrei em um novo projeto onde temos uma aplicação Java que se comunica com mainframes através de serviços de mensageria. Nossa aplicação é um servidor de transações, e o módulo administrativo é front end tanto da nossa aplicação como do mainframe. Eu não entendo absolutamente nada sobre mainframes, apenas ouvi falar de algumas coisas relacionadas ao Cobol e DB2. Preciso conhecer pelo menos os fundamentos desse tipo de arquitetura, das melhores formas de comunicação e dos paradigmas utilizados para poder conversar com propriedade com os analistas desse cliente (um grande banco nacional).

Por onde devo começar?

Na maioria (senao todas!) das vezes em que trabalhei em projetos assim, a comunicacao entre a alta plataforma (mainframe) e a baixa plataforma (Front-end em java por exemplo) se dava via mensagens (CICS transaction server + IBM Websphere MQ).

Pelo que entendi vc vai trabalhar somente no Front-end, basicamente vc vai ter que entender quais transacoes vc vai consumir da alta plataforma (entrada e saida, geralmente os bancos tem algo que eles chamam copybook onde existe essa definicao de entrada e saida).

Segundo um dos links que te passei, 90% das 500 maiores empresas da Fortune 500 rodam CICS. Incluindo a maioria dos bancos.

Alias, pode comecar pelos links que te passei! :smiley:

Espero que ajude.

Criado 11 de fevereiro de 2013
Ultima resposta 12 de fev. de 2013
Respostas 7
Participantes 5