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?
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.
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
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).
Desculpe-me, continuo sem entender nada da arquitetura do seu sistema.
Onde senta o ser humano que usa isto? Em frente ao mainframe? Em frente a um micro usando .NET?
Em linguagem clara de TI: a integração dos sistemas será por RPC ou simples troca de documentos?
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
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.
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.