Web ServicesWeb Services com  SOAP e REST
Introdução    Por volta de 1999, surgiu a necessidade de se padronizar a comunicação entrediferentes plataformas (PC, Main...
Modelos de computação       Os web services surgiram na segunda metade da década de 90 como a evolução dos    modelos de c...
RMI                  Remote Method Invocation – Invocação de Método Remoto       É uma Interface que permite aprogramas es...
DCOM                          Distributed Component Object Model –                        Modelo de Componentes Objetos Di...
CORBA                       Common Object Request Broker Architecture –                            Arquitetura de Objetos ...
Origem dos web services     As tecnologias citadas anteriormente tiveram sucesso na integração de software emambientes de ...
Interoperabilidade            Não podemos falar de webservices sem falarmos sobre    interoperabilidade, que é:        A c...
Orientação a Objetos Vs Orientação a                                   ServiçosOrientação a objetosAproveita objetos e o m...
O que é Web ServiceWeb Service (Serviço Web)    É um conjunto de protocolos e padrões que servem para trocar dados entre a...
XML               eXtensible Markup Language - Linguagem Extensível de Marcação     Linguagem de marcação é um agregado de...
XML   - Sintaxe<?xml version="1.0"?><raiz><filho1>  <filho2>  </filho2> </filho1></raiz>
XML                    Exemplo: Envio de mensagem de aviso.<?xml version="1.0"?>  <aviso date="12/11/99">        <para>Jan...
XMLExemplo: Envio de mensagem de aviso.
SOAP               Simple Object Access Protocol - Protocolo Simples de Acesso a                                         O...
Arquitetura para web services                                        SOAP criada pela W3C●   WSDL (Descreve o WevService) ...
SOAP na prática    O funcionamento dos web services na práticanão ocorre exatamente foi especificado.    Normalmente, a fi...
Formas de envio de                                         Mensagens ao web service          Exitem duas forma de envio de...
RESTful●   Baseado na arquitetura Rest●   Crescente adoção
O que é REST                Roy Fielding, 2000●   Architectural Styles and the Design of Network-based Software Architectu...
Foco nos Recursos●   Tudo que é importante para aplicação●   Substantivos Alunos, Livros, Clientes●   Identidade de um rec...
Princípios do REST●   HTTP provê recursos suficientes para as transações●   Interface Uniforme
Verbos do HTTP●   GET – Obter●   POST - Inserir●   PUT - Alterar●   DELETE – Excluir
Representações●   Os recursos estão desassociados de suas representações.    Exemplos:    –   text/html    –   application...
STATELESS●   Não mantêm o estado da transaçao.●   Requisições independentes.●   Facilita a escalabilidade.
Status CodeCada requisição gera uma resposta contendo um status code.
Exemplo 1
Exemplo 2
Exemplo 3
SOAP Vs Rest                       SOAP                                              REST●   Protocolo de comunicação;    ...
SOAP Vs REST
Conclusão   Depois desta apresentação nos perguntamos qual é o melhor SOAP ou REST?   A resposta é simples, DEPENDE de qua...
Dúvidas
Referências   1    O que é RMI:●   http://www.ime.uerj.br/~alexszt/cursos/topesp_inter/trabs/992/g6/    DCOM:●   http://pt...
Referências   2    Livro : web Services SOAP em Java●   Autor: Daniel Adorno Gomes - Editora Novatec    O debate SOAP vs R...
Web services com Restful e Soap Visite o blog:  http://carledwinj.wordpress.com/2013/07/10/criando-web-service-e-web-servi...
Próximos SlideShares
Carregando em…5
×

Web services com Restful e Soap Visite o blog: http://carledwinj.wordpress.com/2013/07/10/criando-web-service-e-web-service-client-com-jax-ws-passo-a-passo/

5.821 visualizações

Publicada em

Web service Soap vs Restful, http://carledwinj.wordpress.com/

Publicada em: Tecnologia
0 comentários
7 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
5.821
No SlideShare
0
A partir de incorporações
0
Número de incorporações
592
Ações
Compartilhamentos
0
Downloads
21
Comentários
0
Gostaram
7
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Web services com Restful e Soap Visite o blog: http://carledwinj.wordpress.com/2013/07/10/criando-web-service-e-web-service-client-com-jax-ws-passo-a-passo/

  1. 1. Web ServicesWeb Services com SOAP e REST
  2. 2. Introdução Por volta de 1999, surgiu a necessidade de se padronizar a comunicação entrediferentes plataformas (PC, Mainframe, Mac, Windows, Linux entre outros) elinguagens de programaçao (PHP, C#, Java, etc). Diversos padrões foram propostos, RPC,DCOM, CORBA, etc, mas nenhumobteve êxito suficiente, tanto pela independencia de plataforma como pelo modeloproposto. É neste contexto que sujem os WEB SERVICES, como solução para umamelhor comunicação entre os sistemas distribuídos. Nesta apresentação falaremos sobre dois padrões para desenvolvimento de web services o SOAP e o Rest.
  3. 3. Modelos de computação Os web services surgiram na segunda metade da década de 90 como a evolução dos modelos de computação, podemos citar entre eles:● RMI (Remote Method Invocation) Invocação Remota de Métodos.● DCOM (Distributed Component Object Model)● CORBA (Common Object Request Broker Architecture)
  4. 4. RMI Remote Method Invocation – Invocação de Método Remoto É uma Interface que permite aprogramas escritos em Java chamarcertos métodos em um servidor remoto. A interface RMI permite que objetosJava em hosts diferentes comuniquem-se entre si. Cada objeto remoto implementa umainterface remota que especifica quais deseus métodos podem ser invocadospelos clientes. Os clientes podeminvocar métodos de um objeto remotoquase exatamente da mesma maneiraque eles invocam métodos locais.
  5. 5. DCOM Distributed Component Object Model – Modelo de Componentes Objetos Distribuídos É uma tecnologia proprietária da Microsoftpara a criação de componentes de softwaredistribuídos em computadores interligadosem rede. Utiliza o RPC mecanismo detransparência para enviar e receberinformações entre os componentes COM(isto é, clientes e servidores ) na mesmarede. Sua primeira versão surgiu em 1995com o Windows NT 4. Seu tipo de comunicação é cliente –servidor. Pode utilizar n protocolos de transporte,como NetBios, TCP/IP, IPX/SPX e UDP.
  6. 6. CORBA Common Object Request Broker Architecture – Arquitetura de Objetos Distribuídos É um padrão criado pela OMG (ObjectManagement Group) para permitir a integraçãoentre aplicações heterogêneas(diferentes) comlinguagens e em ambientes tambémheterogêneos. O DCE (Distributed Computer Environment) foio começo dessa tendência de computaçãodistribuída em empresas, porém o DCE não éorientado a objetos, assim surgiu o CORBA, queé uma arquitetura de objetos para computaçãodistribuída. Utiliza ORM(request/response) módulointermediario entre o objeto e o cliente, e IDLpara interoperabilidade entre sistemas.
  7. 7. Origem dos web services As tecnologias citadas anteriormente tiveram sucesso na integração de software emambientes de redes locais e homogêneos. Quando a internet avançou para o mercado corporativo, surgiu também a necessidade deintegrar aplicações além das redes locais, por consequencia em ambientes heterogêneos, éneste contexto que surge a tecnologia que chamamos de web services, proveniente de umconsórcio formado por grandes empresas como IBM, Microsoft e a BEA entre outraspertencentes ao W3C.
  8. 8. Interoperabilidade Não podemos falar de webservices sem falarmos sobre interoperabilidade, que é: A capacidade que componentes dentro de uma infraestrutura de TI tem de conversar entre si. Assim, com interoperabilidade garante-se que aplicações possam conversar de forma a trocar e processar dados geridos por outras aplicações.● Uma nova forma de trabalhar e disponibilizar serviços.● Permite que qualquer aplicação acesse os serviços, independente da linguagem.● Acesso local(intranet) ou distribuído(internet).
  9. 9. Orientação a Objetos Vs Orientação a ServiçosOrientação a objetosAproveita objetos e o mas o objeto pode não ser útil novamente dentro do contexto sendoutilizado, pode ser necessário alterar o código e validar novamente.Orientação a serviçosO serviço é totalmente aproveitável e não existe a necessidade de testá-lo novamente o mesmo jáfoi validado. Processo de reutilização mais abrangente.
  10. 10. O que é Web ServiceWeb Service (Serviço Web) É um conjunto de protocolos e padrões que servem para trocar dados entre aplicações. Técnologia utilizada para integrar sistemas, impregada principalmente em ambientesheterogêneos. Podemos desenvolver aplicações, softwares ou componentes capazes deinteragir, com outros softwares enviando ou recebendo informações, independente dalinguagem de programação, do sistema operacional ou hardware utilizado. A única premissa é que para se comunicar com os web services deve-se usar o formatoXML. Exitem atualmente dois padrões principais para desenvolvimento de web services: SOAP eREST.
  11. 11. XML eXtensible Markup Language - Linguagem Extensível de Marcação Linguagem de marcação é um agregado de códigos que podem ser aplicados a dadosou textos para serem lidos por computadores ou pessoas. Exemplos:HTML, XHTML e XML. É uma linguagem de marcação recomendada pela W3C para a criação de documentos comdados organizados hierarquicamente, tais como textos, banco de dados ou desenhos vetoriais.A linguagem XML é classificada como extensível porque permite definir os elementos demarcação. O XML traz uma sintaxe básica que pode ser utilizada para compartilhar informações entrediferentes computadores e aplicações. Auxilia os sistemas de informação no compartilhamento de dados (especialmente viainternet), codificar documentos e inserir seriais nos dados comparando o texto com o de outraslinguagens baseadas em serialização. Uma das suas principais características é sua portabilidade, pois, por exemplo, um bancode dados pode escrever um arquivo XML para que outro banco consiga lê-lo.
  12. 12. XML - Sintaxe<?xml version="1.0"?><raiz><filho1> <filho2> </filho2> </filho1></raiz>
  13. 13. XML Exemplo: Envio de mensagem de aviso.<?xml version="1.0"?> <aviso date="12/11/99"> <para>Janice</para> <de>Jefferson</de> <cabecalho>Lembre-se</cabecalho> <corpo>Amanha voce tem prova de matematica</corpo> </aviso>
  14. 14. XMLExemplo: Envio de mensagem de aviso.
  15. 15. SOAP Simple Object Access Protocol - Protocolo Simples de Acesso a Objetos É Protocolo Simples de Acesso a Objetos, é um protocolo de comunicação baseado emXML que permite a comunicação de mensagens entre aplicações via HTTP, normalmenteutilizado em WebServices. Uma das grandes qualidades desse protocolo é sua independência de plataforma elinguagem além de ser simples e extensível por utilizar XML.
  16. 16. Arquitetura para web services SOAP criada pela W3C● WSDL (Descreve o WevService) É um arquivo XML, que descreve detalhadamente um web service, especificando suas operações e fomatos de entrada e saída R de cada operação. eg ser es WSDL vice o istr web açõ● UDDI (Registra, Publica e Descobre Serviços do WS) 2 we a 1 b ep re o form É um mecânismo que armazena arquivos WSDL e fornece ao 3 se u rv blic provedor meios para que os web services sejam registrados e ic a sob ém in publicados, permitindo que os ws sejam pesquisados e localizados INTERNET e pelos clientes. t Ob● CLIENTE (Software consumidor de Serviços) 3 WSDL É um software que consome as operações do web service e faz Efetua download solicitações e recebe resultados do web service via XML. do WSDL 4 Envia solicitação XML● PROVEDOR DE WEB SERVICES 5 Recebe resposta XML É um componente que corresponde a um servidor de aplicações CLIENTE PROVEDOR DE ou web container, dependendo do caso, em que o web service ficará WEB SERVICES armazenado. O provedor de WS pode também armazenar o arquivo WSDL.
  17. 17. SOAP na prática O funcionamento dos web services na práticanão ocorre exatamente foi especificado. Normalmente, a figura do UDDI não existe. Issofaz com que a comunicação entre o Cliente e oProvedor de web service ocorra sem WSDLintermediações, conforme ilustrado ao lado. 1 Efetua download do WSDL Outra questão prática que não pode seresquecida é que a W3C especifica que as 2 Envia solicitação XMLsolicitações e respostas XML possam trafegar por 3 Recebe resposta XML PROVEDOR DE CLIENTEmeio de qualquer protocolo como HTTP, FTP, SMTP, WEB SERVICESTCP puro etc. INTERNET / INTRANETO que vemos na prática é a utilização do XMLtrafegando somente sobre HTTP, devido ser umprotocolo dominante já há muito tempo.
  18. 18. Formas de envio de Mensagens ao web service Exitem duas forma de envio de mensagem para que o cliente possa enviar solicitações para web services:● One Way Messaging: ● Request-Response Messaging: Envio de mensagens unilateral, onde Envio de mensagens bilateral, onde o o cliente envia uma solicitação se cliente envia uma solicitação ao web service, preocupar com aresposta. que executa o processamento da solicitação e envia resposta ao cliente. O web service executa o processamento da solicitação e não enviará resposta ao cliente. Solicitação Solicitação XML Web Service Web Service Web Service Web Service Client XML Client Resposta Sender - Remetente Receiver - Recebedor Sender - Remetente XML Receiver - Recebedor
  19. 19. RESTful● Baseado na arquitetura Rest● Crescente adoção
  20. 20. O que é REST Roy Fielding, 2000● Architectural Styles and the Design of Network-based Software Architectures● Representational State Transfer (Transferência do Estado Representativo)● Enfoque para Web● Estilo arquitetural com foco nos recursos
  21. 21. Foco nos Recursos● Tudo que é importante para aplicação● Substantivos Alunos, Livros, Clientes● Identidade de um recurso● URI (Uniform Resource Identifier) http://unip.br/alunos http://unip.br/alunos/1234
  22. 22. Princípios do REST● HTTP provê recursos suficientes para as transações● Interface Uniforme
  23. 23. Verbos do HTTP● GET – Obter● POST - Inserir● PUT - Alterar● DELETE – Excluir
  24. 24. Representações● Os recursos estão desassociados de suas representações. Exemplos: – text/html – application/XML – application/Json – application/x-java-serialized-object
  25. 25. STATELESS● Não mantêm o estado da transaçao.● Requisições independentes.● Facilita a escalabilidade.
  26. 26. Status CodeCada requisição gera uma resposta contendo um status code.
  27. 27. Exemplo 1
  28. 28. Exemplo 2
  29. 29. Exemplo 3
  30. 30. SOAP Vs Rest SOAP REST● Protocolo de comunicação; ● Estilo de arquitetura de software;● Maior complexidade e especificações bem ● Abordagem mais simples e menos definidas burocrática● Utiliza HTTP como meio de transporte; ● Fortemente relacionado e utilização efetiva do protocolo HTTP.● Permite diferentes protocolos para transporte de solicitações e respostas; ● Não necessita de um contrato formal, embora possa ser utilizado WSDL ou● Utiliza WSDL para definir um conjunto de WADL métodos do servidor ● Muitos recursos (URIs), métodos● Poucas URIs, muitos métodos customizados uniformes
  31. 31. SOAP Vs REST
  32. 32. Conclusão Depois desta apresentação nos perguntamos qual é o melhor SOAP ou REST? A resposta é simples, DEPENDE de qual problema precisa ser resolvido. A cada artigo, livro ouapostilas lidas sobre o assunto aumenta a dúvida, pois ambas arquiteturas oferecem condiçõessuficientes para resolver problemas. SOAP pode transportar informações por vários protocolos eREST utiliza somente o HTTP, porém é mais fácil de implementar.....
  33. 33. Dúvidas
  34. 34. Referências 1 O que é RMI:● http://www.ime.uerj.br/~alexszt/cursos/topesp_inter/trabs/992/g6/ DCOM:● http://pt.wikipedia.org/wiki/DCOM CORBA:● http://tinyurl.com/cym3kcn Como funciona o SOAP – Protocolo Simples de Acesso a Objetos● http://zarelli.wordpress.com/tag/o-que-e-soap/ ARQUITETURA REST E O SERVIÇO WEB RESTFUL.● http://sao-paulo.pm.org/artigo/2010/RESTful● RESTful Web Service tutorial: An Introduction for beginners● http://tinyurl.com/c7rqnux
  35. 35. Referências 2 Livro : web Services SOAP em Java● Autor: Daniel Adorno Gomes - Editora Novatec O debate SOAP vs REST:● http://www.inospito.net/2007/10/o-debate-soap-vs-rest/ Diferenças entre: XML-RPC, SOAP e REST:● http://tinyurl.com/cokf2h3 Como funciona um web service REST● http://www.matera.com/br/2012/10/como-funciona-um-webservice-rest/ AR● http://sao-paulo.pm.org/artigo/2010/RESTful● RE● http://tinyurl.com/c7rqnux

×