WebServices?

10 respostas
christyan.mendonca

Ola pessoal,

preciso fazer com que duas aplicações diferentes conversem entre si.
Andei pesquisando e descobri que a melhor maneira de fazer isso seria usando web services. Mas como ele funciona???
Eu quero poder passar grande quantidade de dados de uma só vez encapsulada num xml a partir da aplicação A para uma aplicação B poder persistir no seu BD. Alguma ferramenta implementa isso pra mim?

Estou pensando em usar JBossWS - JAX-WS Tools… alguem tem alguma experiencia com ele??

será melhor utilizar comunicação via socket??

agradeço toda ajuda…
Qualquer explicação é bem vinda!

10 Respostas

TheKill

o melhor caminho é primeiramente estudar
as opcoes ( webservices no seu caso )
entender oque faz, como faz, entender sua logica.
entre outras coisas… Aconselho comprar algum livro sobre o assunto para ter mais embasamento teorico

christyan.mendonca

Mas vc não pode me dar só uma idéia de como funciona o web services em conjunto com o protocolo soap… tem como eu fazer o que eu descrevi acima: encapsular num xml varios registros a partir de uma aplicação e enviar para uma outra aplicação persistir…? como seria esse processo, eu tenho que criar na unha esse xml ou ele é criado automaticamente quando eu utilizo webservices? alguem pode mostrar pra mim só esse caminho das pedras?

agradeço antecipadamente!

A

API de referência do JAX-WS:

http://metro.java.net/

A

http://java.sun.com/developer/technicalArticles/J2SE/jax_ws_2/

rogerio.oliveira

Oi, é possível sim, você fazer este tipo de trabalho usando WebService, Eu uso e recomendaria você utilizar o GlassFish, implementando os seus WebServices usando o NetBeans, desenvolvendo no padrão JAX-WS. Inclusive essa dupla NetBeans e GlassFish, facilida e almenta sua produtividade na implementação de WebServices, Pois para cada método criado, você pode solicita ao NetBeans para gerar um código exemplo de utilização do mesmo. Depois você pode até migra esse código para o Eclipse se quiser nada impede. Tenho experiência no desenvolvimento de WebService tanto usando ferramenta Eclipse como NetBeans. Com relação a quantidade de dados, penso que você vai ter que pensar em uma forma de você enviá-los em lotes, pois assim vai facilitar para que você possa melhor controlar as transações no server.

christyan.mendonca

oi rogerio,
Só que eu ja uso eclipse com container JBoss no sistema em java… o outro sistema é em ruby…

vc conhece uma boa apostila/tutorial sobre como implementar um exemplo de web service parecido com esse trabalho que eu preciso?

e se eu fizesse comunicação via sockets entre os dois sistemas? qual seria a vantagem/desvantagem com isso…??

christyan.mendonca

se me permitem mais uma pergunta, como seria por exemplo se eu quisesse passar um valor de um tipo que existe em java mas não na outra lingaugem, tipo uma lista, ou map,etc, haveria um casting automático??

rogerio.oliveira

Olá Christyan, seguinte, apostilas de webservice é um tanto complicado de encontrar. Tenho uma mas está em ingles,
se você tiver interesse nela me informe seu e-mail, que envio ela por e-mail para você.
Com relação as vantagens e desvantagens de você fazer via sockets não sei te falar, mas webservice tem sido o padrão
usado pelo mercado para fazer comunicação e transferencia de dados e a tendência e cresce cada dia mais o uso dessa
tecnologia, e já respondendo sua outra pegunta. Usando os webservices as linguagens, seja java, ruby, delphi, php ou outras
é perfeitamente possível fazer uso de tipos complexos como classes peculiares. Isso porque as tecnologias que
provem consumo de webservices fazer serialização de deserialização de tipos complexos em xml. Então você tem uma
classe Pessoa, Pedido e ou seja lá o que for o cliente que consumirar o seu webservice vai tranquilamente fazer
uso dessa classe.

segue alguns links.

Mas recomendaria você procurar por um bom livro sobre o assunto.

christyan.mendonca

Tenho interesse na sua apostila de webservices… o meu email é [email removido]
obrigado pela ajuda rogério… valeu mesmo… deu pra tirar maior parte das dúvidas…

valew

maior_abandonado

eu uso o axis 2 para web services no eclipse, a integração dele com o eclipse é facil…

se o seu server (o web service em si) é em java e não ruby, você cria uma classe, um método para cada serviço, ai no seu projeto da um new, web service… vai seguindo e apontando as coisas e o próprio eclipse gera tudo pra você, você não precisa de anotações ou algo do tipo e não precisa de um EJB container da vida, tomcat ja serve (mas tem que aponta algumas coisinhas, bem simples).

Se o seu client for em java (em java você vai acessar o web service), você da um new -> web service client, aponta o wsdl, ele gera um stub para você pelo stub você adiciona os parâmetros para o serviço, manda enviar a solicitação, chama um outro método para pegar o retorno (sim, você chama um método para enviar a solicitação e outro para pegar o retorno da solicitação), a partir desse retorno você pode trabalhar com estes dados, inclusive objetos se for o caso… você não precisa se preocupar quase com nada relativo a soap, se assemelha muito a você criar uma classe de uma API sua e disponibilizar… eu não conheço outras soluções, mal "vi" algumaas outras coisas mas até que me atende muito bem…

Criado 31 de janeiro de 2011
Ultima resposta 1 de fev. de 2011
Respostas 10
Participantes 5