Web Services resolveriam esse meu problema?

E ae galera, tudo certo?

Vou entrar num novo projeto que me propos algo bem interessante e vim pedir a opnião de voces.

A situação é a seguinte, terei um Tomcat rodando uma aplicação que será responsável pela comunicação com um MainFrame, até ai sem problemas, porém, terei q fazer um Front-End para essa aplicação, e por exigencia do cliente, deverá ser em .NET!!.

Na parte java, a aplicação que se comunica com o MainFrame me devolve um lindo POJO, mto legalzinho e bonitinho contendo todas as informacoes que eu preciso do MainFrame, assim como alguns métodos.

Esses métodos por sua vez, são responsáveis por salvar quaisquer alterações/inserções a serem feitas no MainFrame.

Gostaria de saber uma arquitetura com Web Services resolveria meu problema.

Minha idéia é pegar um objeto Java e passá-lo ao .NET e VICE-VERSA visto que também precisarei enviar informacoes ao MainFrame, não apenas recebé-las.

O que vcs acham? Web Serices resolvem meu problema?

Caso positivo, o que vcs me recomendam para a criação dos Web Services, o apache Axis?

Grato

[]'s

Olá

Não sei se entendi mas o que você quer é isto:

  • Camada de apresentação que roda no cliente em .NET

  • Servlet no Tomcat que recebe POSTs e GETs e se comunica com mainframe recebendo métodos do mainframe (esta parte não entendi)

Sugestão: explique melhor quem é quem neste seu projeto e que tipo de mensagens pretende trocar.

E sobre web services: primeiro a gente pensa em REST e o uso do VRaptor pode ajudar bem. Se não der para fazer com REST aí sim se parte para outras alternativas e então se adota a solução melhor de acordo com cada caso. Há alguns casos em que o Axis é uma boa solução mas há outros em que ele não serve.

[]s
Luca

Galera, olhando o Apache Beehive fiquei empolgado :lol:, colocando umas Annotations aqui e ali eu transformo minha classe comum em uma classe acessivel por Web Services

[quote=Luca]Olá

Não sei se entendi mas o que você quer é isto:

  • Camada de apresentação que roda no cliente em .NET

  • Servlet no Tomcat que recebe POSTs e GETs e se comunica com mainframe recebendo métodos do mainframe (esta parte não entendi)

Sugestão: explique melhor quem é quem neste seu projeto e que tipo de mensagens pretende trocar.

E sobre web services: primeiro a gente pensa em REST e o uso do VRaptor pode ajudar bem. Se não der para fazer com REST aí sim se parte para outras alternativas e então se adota a solução melhor de acordo com cada caso. Há alguns casos em que o Axis é uma boa solução mas há outros em que ele não serve.

[]s
Luca[/quote]

Olá Luca,

Acredito que não me expressei mto bem, vamos lá.

A parte dos métodos funciona da seguinte forma:

Uma aplicação já pronta(de um terceiro) pega uma tela do MainFrame e a transforma em um POJO, em relacao ao métodos, seriam referentes as possiveis acoes no MainFrame.

Um exemplo, numa tela de cadastro de cliente, esse POJO viria com atributos referentes ao cliente(nome, endereco, etc) e alguns métodos, por exemplo, alterarDados, inserirNovoCliente, etc…

E para realizar esses métodos, eles se utiliza de seus róprios parametros(nome, endereco,etc).

Caso ainda tenha restado duvidas favor avisar.

Grato pela ajuda

Olá

Desculpe-me, continuo sem entender nada da arquitetura do seu sistema.

  1. Onde senta o ser humano que usa isto? Em frente ao mainframe? Em frente a um micro usando .NET?

  2. Em linguagem clara de TI: a integração dos sistemas será por RPC ou simples troca de documentos?

  3. Releia minha mensagem anterior e explique quem é quem, onde eles ficam e que mensagens trocam. Se algum das partes faz RPC e coisas assim.

[]s
Luca

[quote=Luca]Olá

Desculpe-me, continuo sem entender nada da arquitetura do seu sistema.

  1. Onde senta o ser humano que usa isto? Em frente ao mainframe? Em frente a um micro usando .NET?

  2. Em linguagem clara de TI: a integração dos sistemas será por RPC ou simples troca de documentos?

  3. Releia minha mensagem anterior e explique quem é quem, onde eles ficam e que mensagens trocam. Se algum das partes faz RPC e coisas assim.

[]s
Luca[/quote]

Então.

O usuário usará o FrontEnd que eu vou desenvolver em .net.

Em relação ao RPC não sei te responder exatamente, nunca usei RPC, mas a idéia é transferir o estado de um Objeto em Java para um correspondente em .NET, assim como conseguir devolver esse objeto de volta ao Java e executar métodos nesse objeto que retornou para o Java.

Edit: Pelo pouco que acabei de ler acredito que eu vá sim usar RPC

Olá

Está melhorando meu entendimento.

Repito a arq. da minha 1a msg:

  • Camada de apresentação .NET (onde senta o homenzinho)

  • Camada intermediária em servlet que conversa com mainframe

  • mainframe

Observações:

  1. RPC entre Java e .NET não é uma boa idéia, sugiro que troque mensagens tipo documentos

  2. Ainda não entendi muitas coisas que já perguntei e você não respondeu como por exemplo onde as coisas ficam (confinadas em rede local? Internet?)

  3. Se continuar neste ritmo saca rolha eu precisaria cobrar por hora de consultoria pois está dando muito trabalho para entender seu sistema

[]s
Luca

Certo.

Vc compreendeu a idéia, e a propósito, vai ficar tudo na mesma rede.

O fluxo seria ± esse:

1)Usuario interagindo com um FrontEnd em .NET.

2).NET se comunica de alguma forma que ainda não decidi(objetivo do topico) com o Java.

3)Tomcat contendo as classes que vao se comunicar com o .NET E a aplicação responsável por se comunicar com o MainFrame.

Usuario->FrontEnd(.NET) -> Java ->MainFrame.

A parte responsável pelo “Java->MainFrame” é uma caixa-preta, o que eu tenho acesso são os POJOs que a aplicação me fornece, através deles eu consigo interagir com o MainFrame.

Ou seja, farei a parte “Usuario->FrontEnd(.NET) -> Java”, visto que “Java->MainFrame” já está pronto.

O ideal para mim seria manipular esses POJOs no .NET como se eles estivessem no Java, preciso ter acesso aos atributos e também preciso invocar seus métodos.

Essa é a idéia.

Olá

Escrevi uma resposta grande mas tive problemas aqui e a resposta se perdeu.

Resumindo:

Use http://www.xml-rpc.net/ no lado .NET, http://ws.apache.org/xmlrpc/ no lado Java e mantenha os tipos dentro dos padrões http://www.xmlrpc.com/ para que ambos os lados entendam.

Apesar de não ser difícil usar SOAP + WSDL com C# e com Java, acho que XML-RPC pode resolver.

Uma outra alternativa seria uma troca de mensagens do tipo REST e então o Restlet com o jetty poderia ser interessante. Eu, no seu lugar, experimentaria este caminho.

[]s
Luca

Certo.

Obrigado pelas respostas Luca, vou estudar ambas as possibilidades e ver qual melhor se encaixa a meu projeto.

Valeu

[]'s