SlideShare uma empresa Scribd logo
1 de 36
Web Services



Web Services com
  SOAP e REST
Introdução


    Por volta de 1999, surgiu a necessidade de se padronizar a comunicação entre
diferentes plataformas (PC, Mainframe, Mac, Windows, Linux entre outros) e
linguagens de programaçao (PHP, C#, Java, etc).
     Diversos padrões foram propostos, RPC,DCOM, CORBA, etc, mas nenhum
obteve êxito suficiente, tanto pela independencia de plataforma como pelo modelo
proposto.
     É neste contexto que sujem os WEB SERVICES, como solução para uma
melhor 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.
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)
RMI
                  Remote Method Invocation – Invocação de Método Remoto




       É uma Interface que permite a
programas escritos em Java chamar
certos métodos em um servidor remoto.
   A interface RMI permite que objetos
Java em hosts diferentes comuniquem-
se entre si.
   Cada objeto remoto implementa uma
interface remota que especifica quais de
seus métodos podem ser invocados
pelos clientes. Os clientes podem
invocar métodos de um objeto remoto
quase exatamente da mesma maneira
que eles invocam métodos locais.
DCOM
                          Distributed Component Object Model –
                        Modelo de Componentes Objetos Distribuídos

   É uma tecnologia proprietária da Microsoft
para a criação de componentes de software
distribuídos em computadores interligados
em rede.
            Utiliza o RPC mecanismo de
transparência para enviar e receber
informações entre os componentes COM
(isto é, clientes e servidores ) na mesma
rede. Sua primeira versão surgiu em 1995
com 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.
CORBA
                       Common Object Request Broker Architecture –

                            Arquitetura de Objetos Distribuídos

       É um padrão criado pela OMG (Object
Management Group) para permitir a integração
entre aplicações heterogêneas(diferentes) com
linguagens    e   em     ambientes     também
heterogêneos.
   O DCE (Distributed Computer Environment) foi
o começo dessa tendência de computação
distribuída em empresas, porém o DCE não é
orientado a objetos, assim surgiu o CORBA, que
é uma arquitetura de objetos para computação
distribuída.
     Utiliza  ORM(request/response)     módulo
intermediario entre o objeto e o cliente, e IDL
para interoperabilidade entre sistemas.
Origem dos web services


     As tecnologias citadas anteriormente tiveram sucesso na integração de software em
ambientes de redes locais e homogêneos.
    Quando a internet avançou para o mercado corporativo, surgiu também a necessidade de
integrar 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 um
consórcio formado por grandes empresas como IBM, Microsoft e a BEA entre outras
pertencentes ao W3C.
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).
Orientação a Objetos Vs Orientação a
                                   Serviços


Orientação a objetos
Aproveita objetos e o mas o objeto pode não ser útil novamente dentro do contexto sendo
utilizado, pode ser necessário alterar o código e validar novamente.


Orientação a serviços
O 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.
O que é Web Service


Web 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 ambientes
heterogêneos. Podemos desenvolver aplicações, softwares ou componentes capazes de
interagir, com outros softwares enviando ou recebendo informações, independente da
linguagem de programação, do sistema operacional ou hardware utilizado.
   A única premissa é que para se comunicar com os web services deve-se usar o formato
XML.
  Exitem atualmente dois padrões principais para desenvolvimento de web services: SOAP e
REST.
XML
               eXtensible Markup Language - Linguagem Extensível de Marcação




     Linguagem de marcação é um agregado de códigos que podem ser aplicados a dados
ou 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 com
dados organizados hierarquicamente, tais como textos, banco de dados ou desenhos vetoriais.
A linguagem XML é classificada como extensível porque permite definir os elementos de
marcação.
    O XML traz uma sintaxe básica que pode ser utilizada para compartilhar informações entre
diferentes computadores e aplicações.
      Auxilia os sistemas de informação no compartilhamento de dados (especialmente via
internet), codificar documentos e inserir seriais nos dados comparando o texto com o de outras
linguagens baseadas em serialização.
    Uma das suas principais características é sua portabilidade, pois, por exemplo, um banco
de dados pode escrever um arquivo XML para que outro banco consiga lê-lo.
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>Janice</para>
        <de>Jefferson</de>
        <cabecalho>Lembre-se</cabecalho>
        <corpo>Amanha voce tem prova de matematica</corpo>
  </aviso>
XML
Exemplo: Envio de mensagem de aviso.
SOAP
               Simple Object Access Protocol - Protocolo Simples de Acesso a
                                         Objetos




      É Protocolo Simples de Acesso a Objetos, é um protocolo de comunicação baseado em
XML que permite a comunicação de mensagens entre aplicações via HTTP, normalmente
utilizado em WebServices.
     Uma das grandes qualidades desse protocolo é sua independência de plataforma e
linguagem além de ser simples e extensível por utilizar XML.
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.
SOAP na prática


    O funcionamento dos web services na prática
não ocorre exatamente foi especificado.
    Normalmente, a figura do UDDI não existe. Isso
faz com que a comunicação entre o Cliente e o
Provedor    de    web     service    ocorra   sem                                            WSDL
intermediações, conforme ilustrado ao lado.                    1   Efetua download do WSDL
         Outra questão prática que não pode ser
esquecida é que a W3C especifica que as                        2    Envia solicitação XML

solicitações e respostas XML possam trafegar por               3    Recebe resposta XML        PROVEDOR DE
                                                     CLIENTE
meio de qualquer protocolo como HTTP, FTP, SMTP,                                               WEB SERVICES
TCP puro etc.                                                      INTERNET / INTRANET

O que vemos na prática é a utilização do XML
trafegando somente sobre HTTP, devido ser um
protocolo dominante já há muito tempo.
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
RESTful


●   Baseado na arquitetura Rest
●   Crescente adoção
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
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
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/XML
    –   application/Json
    –   application/x-java-serialized-object
STATELESS


●   Não mantêm o estado da transaçao.
●   Requisições independentes.
●   Facilita a escalabilidade.
Status Code


Cada requisição gera uma resposta contendo um status code.
Exemplo 1
Exemplo 2
Exemplo 3
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
SOAP Vs REST
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 ou
apostilas lidas sobre o assunto aumenta a dúvida, pois ambas arquiteturas oferecem condições
suficientes para resolver problemas. SOAP pode transportar informações por vários protocolos e
REST utiliza somente o HTTP, porém é mais fácil de implementar.....
Dúvidas
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
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

Mais conteúdo relacionado

Destaque

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 

Destaque (20)

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 

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. Web Services Web Services com SOAP e REST
  • 2. Introdução Por volta de 1999, surgiu a necessidade de se padronizar a comunicação entre diferentes plataformas (PC, Mainframe, Mac, Windows, Linux entre outros) e linguagens de programaçao (PHP, C#, Java, etc). Diversos padrões foram propostos, RPC,DCOM, CORBA, etc, mas nenhum obteve êxito suficiente, tanto pela independencia de plataforma como pelo modelo proposto. É neste contexto que sujem os WEB SERVICES, como solução para uma melhor 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. 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. RMI Remote Method Invocation – Invocação de Método Remoto É uma Interface que permite a programas escritos em Java chamar certos métodos em um servidor remoto. A interface RMI permite que objetos Java em hosts diferentes comuniquem- se entre si. Cada objeto remoto implementa uma interface remota que especifica quais de seus métodos podem ser invocados pelos clientes. Os clientes podem invocar métodos de um objeto remoto quase exatamente da mesma maneira que eles invocam métodos locais.
  • 5. DCOM Distributed Component Object Model – Modelo de Componentes Objetos Distribuídos É uma tecnologia proprietária da Microsoft para a criação de componentes de software distribuídos em computadores interligados em rede. Utiliza o RPC mecanismo de transparência para enviar e receber informações entre os componentes COM (isto é, clientes e servidores ) na mesma rede. Sua primeira versão surgiu em 1995 com 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. CORBA Common Object Request Broker Architecture – Arquitetura de Objetos Distribuídos É um padrão criado pela OMG (Object Management Group) para permitir a integração entre aplicações heterogêneas(diferentes) com linguagens e em ambientes também heterogêneos. O DCE (Distributed Computer Environment) foi o começo dessa tendência de computação distribuída em empresas, porém o DCE não é orientado a objetos, assim surgiu o CORBA, que é uma arquitetura de objetos para computação distribuída. Utiliza ORM(request/response) módulo intermediario entre o objeto e o cliente, e IDL para interoperabilidade entre sistemas.
  • 7. Origem dos web services As tecnologias citadas anteriormente tiveram sucesso na integração de software em ambientes de redes locais e homogêneos. Quando a internet avançou para o mercado corporativo, surgiu também a necessidade de integrar 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 um consórcio formado por grandes empresas como IBM, Microsoft e a BEA entre outras pertencentes ao W3C.
  • 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. Orientação a Objetos Vs Orientação a Serviços Orientação a objetos Aproveita objetos e o mas o objeto pode não ser útil novamente dentro do contexto sendo utilizado, pode ser necessário alterar o código e validar novamente. Orientação a serviços O 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. O que é Web Service Web 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 ambientes heterogêneos. Podemos desenvolver aplicações, softwares ou componentes capazes de interagir, com outros softwares enviando ou recebendo informações, independente da linguagem de programação, do sistema operacional ou hardware utilizado. A única premissa é que para se comunicar com os web services deve-se usar o formato XML. Exitem atualmente dois padrões principais para desenvolvimento de web services: SOAP e REST.
  • 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 dados ou 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 com dados organizados hierarquicamente, tais como textos, banco de dados ou desenhos vetoriais. A linguagem XML é classificada como extensível porque permite definir os elementos de marcação. O XML traz uma sintaxe básica que pode ser utilizada para compartilhar informações entre diferentes computadores e aplicações. Auxilia os sistemas de informação no compartilhamento de dados (especialmente via internet), codificar documentos e inserir seriais nos dados comparando o texto com o de outras linguagens baseadas em serialização. Uma das suas principais características é sua portabilidade, pois, por exemplo, um banco de dados pode escrever um arquivo XML para que outro banco consiga lê-lo.
  • 12. XML - Sintaxe <?xml version="1.0"?> <raiz> <filho1> <filho2> </filho2> </filho1> </raiz>
  • 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. XML Exemplo: Envio de mensagem de aviso.
  • 15. SOAP Simple Object Access Protocol - Protocolo Simples de Acesso a Objetos É Protocolo Simples de Acesso a Objetos, é um protocolo de comunicação baseado em XML que permite a comunicação de mensagens entre aplicações via HTTP, normalmente utilizado em WebServices. Uma das grandes qualidades desse protocolo é sua independência de plataforma e linguagem além de ser simples e extensível por utilizar XML.
  • 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. SOAP na prática O funcionamento dos web services na prática não ocorre exatamente foi especificado. Normalmente, a figura do UDDI não existe. Isso faz com que a comunicação entre o Cliente e o Provedor de web service ocorra sem WSDL intermediações, conforme ilustrado ao lado. 1 Efetua download do WSDL Outra questão prática que não pode ser esquecida é que a W3C especifica que as 2 Envia solicitação XML solicitações e respostas XML possam trafegar por 3 Recebe resposta XML PROVEDOR DE CLIENTE meio de qualquer protocolo como HTTP, FTP, SMTP, WEB SERVICES TCP puro etc. INTERNET / INTRANET O que vemos na prática é a utilização do XML trafegando somente sobre HTTP, devido ser um protocolo dominante já há muito tempo.
  • 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. RESTful ● Baseado na arquitetura Rest ● Crescente adoção
  • 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. 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. Princípios do REST ● HTTP provê recursos suficientes para as transações ● Interface Uniforme
  • 23. Verbos do HTTP ● GET – Obter ● POST - Inserir ● PUT - Alterar ● DELETE – Excluir
  • 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. STATELESS ● Não mantêm o estado da transaçao. ● Requisições independentes. ● Facilita a escalabilidade.
  • 26. Status Code Cada requisição gera uma resposta contendo um status code.
  • 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
  • 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 ou apostilas lidas sobre o assunto aumenta a dúvida, pois ambas arquiteturas oferecem condições suficientes para resolver problemas. SOAP pode transportar informações por vários protocolos e REST utiliza somente o HTTP, porém é mais fácil de implementar.....
  • 34.
  • 35. 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
  • 36. 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