SlideShare uma empresa Scribd logo
1 de 50
Baixar para ler offline
Web Services



         Fábio de Sousa Leal
      fabiosl@dsc.ufcg.edu.br




                                1
Agenda
•   Introdução
•   Principais Tecnologias
•   Exemplo de Aplicação
•   Composição de Web Services
•   Semantic Web Services
•   Conclusão
•   Referências



                                 2
Introdução


Introdução   Principais Tecnologias Exemplo de Aplicação   Composição de Web   3
          Services   Semantic Web Services  Conclusão    Referências
Contexto

     • Na época do “Boom” da Web, vários processos
       manuais passaram a ser realizados online.

     • Fazia-se necessária a criação de um arcabouço
       de ferramentas que automatizasse processos.

     • Tais ferramentas precisavam ser interoperáveis
       e escaláveis para promover o reuso dos sistemas
       já utilizados remotamente.

Introdução   Principais Tecnologias Exemplo de Aplicação  Composição de Web Services   4
                    Semantic Web Services Conclusão    Referências
Contexto
•    Algumas possíveis antecessoras dos Web Services:
     CORBA, DCOM, URPC, RMI.


•    Essas tecnologias ainda existem hoje,mas o formato
     XML, da W3C se mantém líder nos Web Services.

•    “ It was XML's invention that really paved the way for Web
     services. As a widely heralded, platform-independent standard
     for data description that could also be used to describe message-
     passing protocols, XML was a logical choice for the job of
     standardized application-to-application communication.” (Jason
     Levitt)

Introdução   Principais Tecnologias Exemplo de Aplicação   Composição de Web   5
          Services   Semantic Web Services  Conclusão    Referências
O que é um Web Service?
•      “A Web Service is a piece of business logic, located somewhere on the
       internet, that is accessible through standard-based Internet protocols,
       such as HTTP or SMTP. Using a web service could be as simple as
       logging into a site or as complex as facilitating a multiorganization
       business negotiation.”
                                           (David Chappel, Java Web Services)




•      Padrões fechados não são aceitos como soluções para um
       Web Service.




    Introdução   Principais Tecnologias Exemplo de Aplicação   Composição de Web   6
              Services   Semantic Web Services  Conclusão    Referências
Características de um Web
          Service
•      XML-Based: Evita que protocolos fechados prejudiquem a
       interoperabilidade do Web Service.


•      Baixo acoplamento: O Web Service pode mudar sem que
       seus clientes mudem suas aplicações.


•      Síncrono/Assíncrono: Web Services devem disponibilizar
       os dois tipos de transmissão, para que suas aplicações
       possam escolher qual o melhor para as mesmas.




    Introdução   Principais Tecnologias Exemplo de Aplicação   Composição de Web   7
              Services   Semantic Web Services  Conclusão    Referências
Características de um
             Web Service
•      Suporte a chamadas RPC: Web Services devem suportar
       chamadas remotas de procedimentos, funções e métodos.


•      Suporte a diferentes tipos de documentos: Como são
       baseados em XML, Web Services devem ser flexíveis
       quanto aos tipos de documentos que manipulam.




    Introdução   Principais Tecnologias Exemplo de Aplicação   Composição de Web   8
              Services   Semantic Web Services  Conclusão    Referências
Principais Tecnologias


Introdução   Principais Tecnologias Exemplo de Aplicação   Composição de Web   9
          Services   Semantic Web Services  Conclusão    Referências
Principais Tecnologias

•      SOAP: Estrutura de empacotamento padrão para transportar
       documentos XML através de protocolos de Internet (HTTP, SMTP,
       FTP).


•      WSDL: Tecnologia que padroniza a descrição da interface de um web
       service. Descreve propriedades como parâmetros de entrada/saída
       para uma chamada externa, estrutura de uma função e o protocolo
       que é utilizado no mesmo.


•      UDDI: Repositório mundial de Web Services. Útil para publicar e/ou
       descobrir serviços que já foram criados e utilizar os já existentes.


    Introdução   Principais Tecnologias Exemplo de Aplicação   Composição de Web   10
              Services   Semantic Web Services  Conclusão    Referências
Principais Tecnologias




             Imagem 1 -Funcionamento Básico de um Web Service
Introdução   Principais Tecnologias Exemplo de Aplicação   Composição de Web   11
          Services   Semantic Web Services  Conclusão    Referências
SOAP – Simple Object Access
             Protocol

•   Protocolo para trocar informações pela
    em um ambiente distribuído.
•   Codificação de objetos para transporte
    pela rede, criando um “envelope”.
•   De simples implementação.
•   Defasado em relação à sua segurança
    e confiabilidade.
•   Mais “simples” que seus antecessores.

                                                           HTTP           MIME
                                                           SMTP


Introdução   Principais Tecnologias Exemplo de Aplicação   Composição de Web   12
          Services   Semantic Web Services  Conclusão    Referências
SOAP – Simple Object Access
                Protocol



                                                                       Configurações




Envelope




   Introdução   Principais Tecnologias Exemplo de Aplicação   Composição de Web   13
             Services   Semantic Web Services  Conclusão    Referências
WSDL – Web Services Description
Language

•   Descreve a interface para
    alguém que utilizará o
    serviço:
•   Operações (input e output);
•   Acesso    (Protocolo               de
    comunicação);
•   Endpoint        (Localização       do
    serviço);
•   XML-Based;



Introdução   Principais Tecnologias Exemplo de Aplicação   Composição de Web   14
          Services   Semantic Web Services  Conclusão    Referências
UDDI – Universal Description,
      Discovery and Integration.

•   Protocolo avançado para publicação e
    descoberta de Web Services.
•   Padrão proposto pela fundação OASIS,
    que é formada por empresas como a
    Microsoft, IBM e Sun e visa a
    padronização de alguns elementos da
    Web.
•   Conceito de “Páginas Amarelas”,
    similar às de listas telefônicas.
•   Define Registros para Web Services:
       •    Provedor.
       •    Informações do serviço.
       •    Acesso técnico.


    Introdução   Principais Tecnologias Exemplo de Aplicação   Composição de Web   15
              Services   Semantic Web Services  Conclusão    Referências
Exemplo de Aplicação


Introdução   Principais Tecnologias Exemplo de Aplicação   Composição de Web   16
          Services   Semantic Web Services  Conclusão    Referências
Portal Business-to-Consumer
                (B2C)

•    Empresa que lida com passagens de vendas aéreas.


•    Novas parcerias com outras empresas vão surgindo.


•    Não poderíamos oferecer serviços de locação de carros
     aos compradores de passagens aéreas em nosso próprio
     site? O sistema é “flexível” o bastante?


•    Novas parcerias podem surgir.


•    Solução: Web Service!
Introdução   Principais Tecnologias Exemplo de Aplicação   Composição de Web   17
          Services   Semantic Web Services  Conclusão    Referências
Indústria de Saúde
•    Um médico com um Smartphone ou Handheld poderia
     acessar seus históricos de saúde, assim como os de seus
     familiares.
•    Prescrições  eletrônicas tornariam-se  possíveis,  e
     poderiam ser enviados para a farmácia da qual você é
     cliente.
•    Classe de medicamentos utilizada pelo paciente também
     disponível (genéricos, marcas preferidas, alergias).
•    Padronização no envio das prescrições seria possível via
     Web Service.



Introdução   Principais Tecnologias Exemplo de Aplicação   Composição de Web   18
          Services   Semantic Web Services  Conclusão    Referências
Amazon.com
•    Infraestrutura de T.I como Web Service.
•    Terceirização da rede de uma empresa.
•    Pay as-you-go.
•    Computação altamente escalável.
•    Simple Storage Service (3S).




Introdução   Principais Tecnologias Exemplo de Aplicação   Composição de Web   19
          Services   Semantic Web Services  Conclusão    Referências
Exemplo de Aplicação

•    Existem sites que armazenam pequenos Web Services.


•    Aplicações pequenas, tais como enviar SMS’s ou um
     mapeamento de IP ao seu país.


                            www.xmethods.com




Introdução   Principais Tecnologias Exemplo de Aplicação   Composição de Web   20
          Services   Semantic Web Services  Conclusão    Referências
Web Services + NetBeans
    “Hello, World!”



                      Hands-On!!!



Introdução   Principais Tecnologias Exemplo de Aplicação   Composição de Web   21
          Services   Semantic Web Services  Conclusão    Referências
Composição de Web
       Services


Introdução   Principais Tecnologias Exemplo de Aplicação   Composição de Web   22
          Services   Semantic Web Services  Conclusão    Referências
Problemas em Web
                 Services
•    Apesar de ser uma boa ferramenta a ser utilizada, os Web
     services ainda têm problemas:
        o    As descrições           dos     serviços      são      realizadas
             manualmente.
        o    Todas as tarefas associadas a esses ligação desses
             serviços têm que ser desempenhadas por humanos.
        o    Lentidão.
        o    Escalabilidade?!




Introdução   Principais Tecnologias Exemplo de Aplicação   Composição de Web   23
          Services   Semantic Web Services  Conclusão    Referências
“Utopia” de Web Services

•      Interação dinâmica em uma comunidade de negócios
       aberta é vista como o “Santo Graal” dos Web Services.


•      Clientes automatizados fariam o browsing de registros
       UDDI, descobririam os serviços adequados, como interagir
       com os serviços e, finalmente, invocariam os serviços,
       tudo automaticamente.


•      No entanto... UDDI não é tão utilizado atualmente, e fica
       difícil chegar a esse estado.



    Introdução   Principais Tecnologias Exemplo de Aplicação   Composição de Web   24
              Services   Semantic Web Services  Conclusão    Referências
Composição de Web
Services
•    Agregação de Web Services.


•    Amplamente utilizado em Service Oriented Architecture.


•    Composição, de início, manual.


•    Reunir diversos serviços pequenos pode ser mais viável
     do que construir um grande que resolva tudo.


•    Reuso de Código.


Introdução   Principais Tecnologias Exemplo de Aplicação   Composição de Web   25
          Services & Semantic Web Services  Conclusão    Referências
Semantic Web Services



 Introdução   Principais Tecnologias Exemplo de Aplicação   Composição de Web   26
           Services   Semantic Web Services  Conclusão    Referências
Um pouco de Semantic Web
•    Integração de dados!


•    Tornar dados independentes de sua representação.


•    Fazer união dos resultados obtidos, unindo-os em uma
     só base de dados.


•    Fazer pesquisas no “todo” ao invés de pesquisar em
     partes (datasets) separadas.




Introdução  Principais Tecnologias Exemplo de Aplicação   Composição de Web
         Services   Semantic Web Services  Conclusão    Referências
Exemplo




                                Database A




Introdução  Principais Tecnologias Exemplo de Aplicação   Composição de Web
         Services   Semantic Web Services  Conclusão    Referências
Exemplo




                           Database A - Grafo
Introdução  Principais Tecnologias Exemplo de Aplicação   Composição de Web
         Services   Semantic Web Services  Conclusão    Referências
Exemplo




                                Database F



Introdução  Principais Tecnologias Exemplo de Aplicação   Composição de Web
         Services   Semantic Web Services  Conclusão    Referências
Exemplo




                           Database F - Grafo
Introdução  Principais Tecnologias Exemplo de Aplicação   Composição de Web
         Services   Semantic Web Services  Conclusão    Referências
Exemplo




                 Database A + F – Grafo Desconexo
Introdução  Principais Tecnologias Exemplo de Aplicação   Composição de Web
         Services   Semantic Web Services  Conclusão    Referências
Exemplo




                           Database A + F – Merge Possível
Introdução  Principais Tecnologias Exemplo de Aplicação   Composição de Web
         Services   Semantic Web Services  Conclusão    Referências
Exemplo




              Database A + F – Merge (de ID) realizado
Introdução  Principais Tecnologias Exemplo de Aplicação   Composição de Web
         Services   Semantic Web Services  Conclusão    Referências
Exemplo

•    Consultas agora podem ser realizadas tanto como:
        •   “Give me the title of the original”
        •   “Donnes-moi le titre de l’original ”


•    A informação, apesar de não constar na base de dados
     utilizada pelo usuário, pode ser obtida através de junções.


•    No entanto, mais informações podem ser obtidas com a
     simples adição de mais algumas tags especificando os
     atributos.


Introdução  Principais Tecnologias Exemplo de Aplicação   Composição de Web
         Services   Semantic Web Services  Conclusão    Referências
Exemplo




        Database A + F – Merge de autor e de ID realizado
Introdução  Principais Tecnologias Exemplo de Aplicação   Composição de Web
         Services   Semantic Web Services  Conclusão    Referências
Resultados Obtidos
•    Mais coesão nas queries.


•    Novos dados, como informações pessoais do autor podem
     ser reveladas a partir desse processo.


•    Fazer a introdução de mais três tags e a junção de
     diferentes bases de dados possibilitou novas descobertas.


•    Um usuário que procura um livro pelo nome do seu autor,
     pode ter, agora, mais informações sobre as demais obras
     do mesmo.


Introdução  Principais Tecnologias Exemplo de Aplicação   Composição de Web
         Services   Semantic Web Services  Conclusão    Referências
Mas… o que fizemos?
•    Fizemos algo que humanos fazem com certa facilidade.


•    Unimos diferentes bases de dados que
        o   Estão em locais diferentes da Web.
        o   São de diferentes formatos.
        o   Têm diferentes nomes para seus atributos.


•     Isso pode ser melhorado através de:
        o   Ontologias
        o   Regras Extras
        o   RDF, OWL!

Introdução  Principais Tecnologias Exemplo de Aplicação   Composição de Web
         Services   Semantic Web Services  Conclusão    Referências
Visão Geral – Semantic WS

Dinâmica




 Estática




            Sintaxe       Semântica
Sintaxe!
Falta semântica nas definições de Web Services Tradicionais!
Semantic Web Services

            Tecnologia da Web Semântica
                      Dados legíveis para a máquina
                    Ontologias como modelos de dados




             Tecnologia dos Web Services
                Descoberta automática, seleção e composição
                  Execução de serviços baseados na Web


•    Semantic Web Services são uma solução integrada da nova
     geração da Web.
Composição & Semantic
Web Services
•    Composição automática de Serviços.


•    Surgiu com a idéia da Web Semântica.


•    A definição semântica definida por WSDL não é uma
     tarefa trivial para a máquina.


•    Criação de várias linguagens de marcação para agregar
     semântica aos dados.


•    OWL; OWL-S; DAML+OIL; DAML-L; DAML-S; WSMO;
Introdução   Principais Tecnologias Exemplo de Aplicação   Composição de Web   42
          Services & Semantic Web Services  Conclusão    Referências
OWL-S
Semantic Markup for Web Services
•   Uma ontologia de OWL para descrever Web Services.


•   Não é uma tecnologia que tenta substituir os padrões
    atuais para Web Services.
       o    Tenta dar um suporte à semântica dos Web Services.
       o    Depende de WSDL para fazer as invocações de WS.
       o    Estende UDDI para a descoberta de novos WS’s.
•   Objetivos
       o    Descoberta automática de Web Services.
       o    Chamada automática de Web Services.
       o    Composição automática                 de    Web       Services      e
            interoperabilidade.
Introdução   Principais Tecnologias Exemplo de Aplicação   Composição de Web   43
          Services & Semantic Web Services  Conclusão    Referências
Web Service Modeling Ontology - WSMO

•   Uma ontologia e framework conceitual para descrever Web
    Services e aspectos relacionados.
•   É descrito em Semantic Web Services Language (SWSL).
•   Baseado no Web Service Modeling Framework (WSMF).


                 Modelo
                Conceitual
                para SWS




                                                                 Ambiente de
Linguagem formal                                                execução para
   para WSMO                                                       WSMO

Introdução   Principais Tecnologias Exemplo de Aplicação   Composição de Web   44
          Services & Semantic Web Services  Conclusão    Referências
Conclusão


Introdução   Principais Tecnologias Exemplo de Aplicação   Composição de Web   45
          Services   Semantic Web Services  Conclusão    Referências
Conclusão

•    Tecnologia promissora.


•    A parte de Semantic Web Services ainda não está
     totalmente consolidada, e novas padronizações estão
     surgindo.


•    Independência de linguagem e de plataforma!


•    Pontos como segurança, escalabilidade e confiabilidade
     são de grande importância na implementação de um WS.


Introdução   Principais Tecnologias Exemplo de Aplicação   Composição de Web   46
          Services   Semantic Web Services  Conclusão    Referências
Conclusão




Introdução   Principais Tecnologias Exemplo de Aplicação   Composição de Web   47
          Services   Semantic Web Services  Conclusão    Referências
Referências


Introdução   Principais Tecnologias Exemplo de Aplicação   Composição de Web   48
          Services   Semantic Web Services  Conclusão    Referências
Livros




Introdução   Principais Tecnologias Exemplo de Aplicação   Composição de Web   49
          Services   Semantic Web Services  Conclusão    Referências
Referências
http://soa.sys-con.com/node/439687 - A Performance Comparison of Popular Open Source Web Services Engines
http://www.informationweek.com/news/software/development/showArticle.jhtml?articleID=6506480
http://uddi.xml.org/uddi-101
http://www.w3c.org.au/presentations/2003-08-21-web-services-interop/msm-ws.html#id2628715
Implementation Issues of A Cloud Computing Platform PAPER
http://pt.wikibooks.org/wiki/Sistemas_de_Informa%C3%A7%C3%A3o_Distribu%C3%ADdos/Interopera%C3%A7%C3
%A3o/Web_Services/Linhas_de_pesquisa#Composi.C3.A7.C3.A3o_de_Web_services
http://homepages.di.fc.ul.pt/~ler/docencia/tm0405/slides/HenriqueMoniz.pdf
http://www.scientificamerican.com/article.cfm?id=the-semantic-web
axel.deri.ie/~axepol/.../20050316-BITSeminar-Bolzano.ppt
www.w3.org/2009/Talks/1030-Philadelphia-IH/Tutorial.ppt
http://www.slideshare.net/bpedro/web-services-in-portuguese
http://www.slideshare.net/ioannis.baltopoulos/introduction-to-web-services
http://www.wsmo.org/papers/publications/wsmf.paper.pdf


____
Slides de amanhã:
(SOAP + Proximo).


 Introdução   Principais Tecnologias Exemplo de Aplicação   Composição de Web                               50
           Services   Semantic Web Services  Conclusão    Referências

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Sistema Operativo Open Source
Sistema Operativo Open SourceSistema Operativo Open Source
Sistema Operativo Open Source
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Aula UML - Unified Modeling Language
Aula UML - Unified Modeling LanguageAula UML - Unified Modeling Language
Aula UML - Unified Modeling Language
 
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosBanco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
 
Virtualização - Máquinas Virtuais
Virtualização - Máquinas VirtuaisVirtualização - Máquinas Virtuais
Virtualização - Máquinas Virtuais
 
Modelagem de dados
Modelagem de dados Modelagem de dados
Modelagem de dados
 
Qualidade de Software
Qualidade de SoftwareQualidade de Software
Qualidade de Software
 
Apresentação rest api
Apresentação rest apiApresentação rest api
Apresentação rest api
 
Aula 1: Virtualização
Aula 1: VirtualizaçãoAula 1: Virtualização
Aula 1: Virtualização
 
Arquitetura orientada a serviços (SOA)
Arquitetura orientada a serviços (SOA)Arquitetura orientada a serviços (SOA)
Arquitetura orientada a serviços (SOA)
 
Fundamentos de arquitetura Web
Fundamentos de arquitetura WebFundamentos de arquitetura Web
Fundamentos de arquitetura Web
 
Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)
Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)
Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01
 
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
Banco de Dados II Aula 14 - Projeto de Banco de Dados e Estudo de Caso (Postg...
 
Bootstrap praticas mais usadas
Bootstrap praticas mais usadas Bootstrap praticas mais usadas
Bootstrap praticas mais usadas
 
Curso de Desenvolvimento Web - Módulo 02 - CSS
Curso de Desenvolvimento Web - Módulo 02 - CSSCurso de Desenvolvimento Web - Módulo 02 - CSS
Curso de Desenvolvimento Web - Módulo 02 - CSS
 
HTML5 Básico: Formulários (aula 2)
HTML5 Básico: Formulários (aula 2)HTML5 Básico: Formulários (aula 2)
HTML5 Básico: Formulários (aula 2)
 
Análise e Modelagem de Software
Análise e Modelagem de SoftwareAnálise e Modelagem de Software
Análise e Modelagem de Software
 
Aps lista de exercícios
Aps lista de exercíciosAps lista de exercícios
Aps lista de exercícios
 
Sistemas Distribuídos - Aula 07 - Servicos Web
Sistemas Distribuídos - Aula 07 - Servicos WebSistemas Distribuídos - Aula 07 - Servicos Web
Sistemas Distribuídos - Aula 07 - Servicos Web
 

Destaque

Replicação de dados
Replicação de dadosReplicação de dados
Replicação de dados
elliando dias
 

Destaque (8)

Web Services
Web ServicesWeb Services
Web Services
 
Web Services Tutorial
Web Services TutorialWeb Services Tutorial
Web Services Tutorial
 
Replicação de dados
Replicação de dadosReplicação de dados
Replicação de dados
 
Trabalho sobre a ISO/IEC 15504
Trabalho sobre a ISO/IEC 15504Trabalho sobre a ISO/IEC 15504
Trabalho sobre a ISO/IEC 15504
 
ISO 15504
ISO 15504ISO 15504
ISO 15504
 
Sistemas Distribuídos - Replicação de Banco de Dados
Sistemas Distribuídos - Replicação de Banco de DadosSistemas Distribuídos - Replicação de Banco de Dados
Sistemas Distribuídos - Replicação de Banco de Dados
 
Web service introduction
Web service introductionWeb service introduction
Web service introduction
 
Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)
 

Semelhante a Introdução a Web Services

Web Services - Grupo F
Web Services - Grupo FWeb Services - Grupo F
Web Services - Grupo F
mdmansur
 
Integração de sistemas da informação - Abordagens de integração
Integração de sistemas da informação - Abordagens de integraçãoIntegração de sistemas da informação - Abordagens de integração
Integração de sistemas da informação - Abordagens de integração
Joao Johanes
 

Semelhante a Introdução a Web Services (20)

Web Services
Web ServicesWeb Services
Web Services
 
Web Services - Grupo F
Web Services - Grupo FWeb Services - Grupo F
Web Services - Grupo F
 
Web Service - XML
Web Service - XMLWeb Service - XML
Web Service - XML
 
ASP.NET - Web Services
ASP.NET - Web ServicesASP.NET - Web Services
ASP.NET - Web Services
 
PHP nas Nuvens
PHP nas NuvensPHP nas Nuvens
PHP nas Nuvens
 
Web Services com Apache Axis
Web Services com Apache AxisWeb Services com Apache Axis
Web Services com Apache Axis
 
Web Services XML - .NET framework
Web Services XML - .NET frameworkWeb Services XML - .NET framework
Web Services XML - .NET framework
 
AAB301 - Rich Internet Application - wcamb
AAB301 - Rich Internet Application - wcambAAB301 - Rich Internet Application - wcamb
AAB301 - Rich Internet Application - wcamb
 
Web services
Web servicesWeb services
Web services
 
Think Cloud! - Hands On @ ESTCB 24 Mar 2012
Think Cloud!  - Hands On @ ESTCB 24 Mar 2012Think Cloud!  - Hands On @ ESTCB 24 Mar 2012
Think Cloud! - Hands On @ ESTCB 24 Mar 2012
 
Web services
Web  servicesWeb  services
Web services
 
Integração de sistemas da informação - Abordagens de integração
Integração de sistemas da informação - Abordagens de integraçãoIntegração de sistemas da informação - Abordagens de integração
Integração de sistemas da informação - Abordagens de integração
 
DotNet vs. Java
DotNet vs. JavaDotNet vs. Java
DotNet vs. Java
 
Soa conceitos
Soa conceitosSoa conceitos
Soa conceitos
 
Web Services
Web ServicesWeb Services
Web Services
 
Pense Aberto, Pense Linux
Pense Aberto, Pense LinuxPense Aberto, Pense Linux
Pense Aberto, Pense Linux
 
WebServices-XML
WebServices-XMLWebServices-XML
WebServices-XML
 
Aula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para WebAula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para Web
 
Architecture In a Box - Plataforma de Aplicações
Architecture In a Box - Plataforma de AplicaçõesArchitecture In a Box - Plataforma de Aplicações
Architecture In a Box - Plataforma de Aplicações
 
Mac5700
Mac5700Mac5700
Mac5700
 

Introdução a Web Services

  • 1. Web Services Fábio de Sousa Leal fabiosl@dsc.ufcg.edu.br 1
  • 2. Agenda • Introdução • Principais Tecnologias • Exemplo de Aplicação • Composição de Web Services • Semantic Web Services • Conclusão • Referências 2
  • 3. Introdução Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 3 Services Semantic Web Services Conclusão Referências
  • 4. Contexto • Na época do “Boom” da Web, vários processos manuais passaram a ser realizados online. • Fazia-se necessária a criação de um arcabouço de ferramentas que automatizasse processos. • Tais ferramentas precisavam ser interoperáveis e escaláveis para promover o reuso dos sistemas já utilizados remotamente. Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services 4 Semantic Web Services Conclusão Referências
  • 5. Contexto • Algumas possíveis antecessoras dos Web Services: CORBA, DCOM, URPC, RMI. • Essas tecnologias ainda existem hoje,mas o formato XML, da W3C se mantém líder nos Web Services. • “ It was XML's invention that really paved the way for Web services. As a widely heralded, platform-independent standard for data description that could also be used to describe message- passing protocols, XML was a logical choice for the job of standardized application-to-application communication.” (Jason Levitt) Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 5 Services Semantic Web Services Conclusão Referências
  • 6. O que é um Web Service? • “A Web Service is a piece of business logic, located somewhere on the internet, that is accessible through standard-based Internet protocols, such as HTTP or SMTP. Using a web service could be as simple as logging into a site or as complex as facilitating a multiorganization business negotiation.” (David Chappel, Java Web Services) • Padrões fechados não são aceitos como soluções para um Web Service. Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 6 Services Semantic Web Services Conclusão Referências
  • 7. Características de um Web Service • XML-Based: Evita que protocolos fechados prejudiquem a interoperabilidade do Web Service. • Baixo acoplamento: O Web Service pode mudar sem que seus clientes mudem suas aplicações. • Síncrono/Assíncrono: Web Services devem disponibilizar os dois tipos de transmissão, para que suas aplicações possam escolher qual o melhor para as mesmas. Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 7 Services Semantic Web Services Conclusão Referências
  • 8. Características de um Web Service • Suporte a chamadas RPC: Web Services devem suportar chamadas remotas de procedimentos, funções e métodos. • Suporte a diferentes tipos de documentos: Como são baseados em XML, Web Services devem ser flexíveis quanto aos tipos de documentos que manipulam. Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 8 Services Semantic Web Services Conclusão Referências
  • 9. Principais Tecnologias Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 9 Services Semantic Web Services Conclusão Referências
  • 10. Principais Tecnologias • SOAP: Estrutura de empacotamento padrão para transportar documentos XML através de protocolos de Internet (HTTP, SMTP, FTP). • WSDL: Tecnologia que padroniza a descrição da interface de um web service. Descreve propriedades como parâmetros de entrada/saída para uma chamada externa, estrutura de uma função e o protocolo que é utilizado no mesmo. • UDDI: Repositório mundial de Web Services. Útil para publicar e/ou descobrir serviços que já foram criados e utilizar os já existentes. Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 10 Services Semantic Web Services Conclusão Referências
  • 11. Principais Tecnologias Imagem 1 -Funcionamento Básico de um Web Service Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 11 Services Semantic Web Services Conclusão Referências
  • 12. SOAP – Simple Object Access Protocol • Protocolo para trocar informações pela em um ambiente distribuído. • Codificação de objetos para transporte pela rede, criando um “envelope”. • De simples implementação. • Defasado em relação à sua segurança e confiabilidade. • Mais “simples” que seus antecessores. HTTP MIME SMTP Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 12 Services Semantic Web Services Conclusão Referências
  • 13. SOAP – Simple Object Access Protocol Configurações Envelope Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 13 Services Semantic Web Services Conclusão Referências
  • 14. WSDL – Web Services Description Language • Descreve a interface para alguém que utilizará o serviço: • Operações (input e output); • Acesso (Protocolo de comunicação); • Endpoint (Localização do serviço); • XML-Based; Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 14 Services Semantic Web Services Conclusão Referências
  • 15. UDDI – Universal Description, Discovery and Integration. • Protocolo avançado para publicação e descoberta de Web Services. • Padrão proposto pela fundação OASIS, que é formada por empresas como a Microsoft, IBM e Sun e visa a padronização de alguns elementos da Web. • Conceito de “Páginas Amarelas”, similar às de listas telefônicas. • Define Registros para Web Services: • Provedor. • Informações do serviço. • Acesso técnico. Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 15 Services Semantic Web Services Conclusão Referências
  • 16. Exemplo de Aplicação Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 16 Services Semantic Web Services Conclusão Referências
  • 17. Portal Business-to-Consumer (B2C) • Empresa que lida com passagens de vendas aéreas. • Novas parcerias com outras empresas vão surgindo. • Não poderíamos oferecer serviços de locação de carros aos compradores de passagens aéreas em nosso próprio site? O sistema é “flexível” o bastante? • Novas parcerias podem surgir. • Solução: Web Service! Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 17 Services Semantic Web Services Conclusão Referências
  • 18. Indústria de Saúde • Um médico com um Smartphone ou Handheld poderia acessar seus históricos de saúde, assim como os de seus familiares. • Prescrições eletrônicas tornariam-se possíveis, e poderiam ser enviados para a farmácia da qual você é cliente. • Classe de medicamentos utilizada pelo paciente também disponível (genéricos, marcas preferidas, alergias). • Padronização no envio das prescrições seria possível via Web Service. Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 18 Services Semantic Web Services Conclusão Referências
  • 19. Amazon.com • Infraestrutura de T.I como Web Service. • Terceirização da rede de uma empresa. • Pay as-you-go. • Computação altamente escalável. • Simple Storage Service (3S). Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 19 Services Semantic Web Services Conclusão Referências
  • 20. Exemplo de Aplicação • Existem sites que armazenam pequenos Web Services. • Aplicações pequenas, tais como enviar SMS’s ou um mapeamento de IP ao seu país. www.xmethods.com Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 20 Services Semantic Web Services Conclusão Referências
  • 21. Web Services + NetBeans “Hello, World!” Hands-On!!! Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 21 Services Semantic Web Services Conclusão Referências
  • 22. Composição de Web Services Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 22 Services Semantic Web Services Conclusão Referências
  • 23. Problemas em Web Services • Apesar de ser uma boa ferramenta a ser utilizada, os Web services ainda têm problemas: o As descrições dos serviços são realizadas manualmente. o Todas as tarefas associadas a esses ligação desses serviços têm que ser desempenhadas por humanos. o Lentidão. o Escalabilidade?! Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 23 Services Semantic Web Services Conclusão Referências
  • 24. “Utopia” de Web Services • Interação dinâmica em uma comunidade de negócios aberta é vista como o “Santo Graal” dos Web Services. • Clientes automatizados fariam o browsing de registros UDDI, descobririam os serviços adequados, como interagir com os serviços e, finalmente, invocariam os serviços, tudo automaticamente. • No entanto... UDDI não é tão utilizado atualmente, e fica difícil chegar a esse estado. Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 24 Services Semantic Web Services Conclusão Referências
  • 25. Composição de Web Services • Agregação de Web Services. • Amplamente utilizado em Service Oriented Architecture. • Composição, de início, manual. • Reunir diversos serviços pequenos pode ser mais viável do que construir um grande que resolva tudo. • Reuso de Código. Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 25 Services & Semantic Web Services Conclusão Referências
  • 26. Semantic Web Services Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 26 Services Semantic Web Services Conclusão Referências
  • 27. Um pouco de Semantic Web • Integração de dados! • Tornar dados independentes de sua representação. • Fazer união dos resultados obtidos, unindo-os em uma só base de dados. • Fazer pesquisas no “todo” ao invés de pesquisar em partes (datasets) separadas. Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências
  • 28. Exemplo Database A Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências
  • 29. Exemplo Database A - Grafo Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências
  • 30. Exemplo Database F Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências
  • 31. Exemplo Database F - Grafo Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências
  • 32. Exemplo Database A + F – Grafo Desconexo Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências
  • 33. Exemplo Database A + F – Merge Possível Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências
  • 34. Exemplo Database A + F – Merge (de ID) realizado Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências
  • 35. Exemplo • Consultas agora podem ser realizadas tanto como: • “Give me the title of the original” • “Donnes-moi le titre de l’original ” • A informação, apesar de não constar na base de dados utilizada pelo usuário, pode ser obtida através de junções. • No entanto, mais informações podem ser obtidas com a simples adição de mais algumas tags especificando os atributos. Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências
  • 36. Exemplo Database A + F – Merge de autor e de ID realizado Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências
  • 37. Resultados Obtidos • Mais coesão nas queries. • Novos dados, como informações pessoais do autor podem ser reveladas a partir desse processo. • Fazer a introdução de mais três tags e a junção de diferentes bases de dados possibilitou novas descobertas. • Um usuário que procura um livro pelo nome do seu autor, pode ter, agora, mais informações sobre as demais obras do mesmo. Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências
  • 38. Mas… o que fizemos? • Fizemos algo que humanos fazem com certa facilidade. • Unimos diferentes bases de dados que o Estão em locais diferentes da Web. o São de diferentes formatos. o Têm diferentes nomes para seus atributos. • Isso pode ser melhorado através de: o Ontologias o Regras Extras o RDF, OWL! Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web Services Semantic Web Services Conclusão Referências
  • 39. Visão Geral – Semantic WS Dinâmica Estática Sintaxe Semântica
  • 40. Sintaxe! Falta semântica nas definições de Web Services Tradicionais!
  • 41. Semantic Web Services Tecnologia da Web Semântica Dados legíveis para a máquina Ontologias como modelos de dados Tecnologia dos Web Services Descoberta automática, seleção e composição Execução de serviços baseados na Web • Semantic Web Services são uma solução integrada da nova geração da Web.
  • 42. Composição & Semantic Web Services • Composição automática de Serviços. • Surgiu com a idéia da Web Semântica. • A definição semântica definida por WSDL não é uma tarefa trivial para a máquina. • Criação de várias linguagens de marcação para agregar semântica aos dados. • OWL; OWL-S; DAML+OIL; DAML-L; DAML-S; WSMO; Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 42 Services & Semantic Web Services Conclusão Referências
  • 43. OWL-S Semantic Markup for Web Services • Uma ontologia de OWL para descrever Web Services. • Não é uma tecnologia que tenta substituir os padrões atuais para Web Services. o Tenta dar um suporte à semântica dos Web Services. o Depende de WSDL para fazer as invocações de WS. o Estende UDDI para a descoberta de novos WS’s. • Objetivos o Descoberta automática de Web Services. o Chamada automática de Web Services. o Composição automática de Web Services e interoperabilidade. Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 43 Services & Semantic Web Services Conclusão Referências
  • 44. Web Service Modeling Ontology - WSMO • Uma ontologia e framework conceitual para descrever Web Services e aspectos relacionados. • É descrito em Semantic Web Services Language (SWSL). • Baseado no Web Service Modeling Framework (WSMF). Modelo Conceitual para SWS Ambiente de Linguagem formal execução para para WSMO WSMO Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 44 Services & Semantic Web Services Conclusão Referências
  • 45. Conclusão Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 45 Services Semantic Web Services Conclusão Referências
  • 46. Conclusão • Tecnologia promissora. • A parte de Semantic Web Services ainda não está totalmente consolidada, e novas padronizações estão surgindo. • Independência de linguagem e de plataforma! • Pontos como segurança, escalabilidade e confiabilidade são de grande importância na implementação de um WS. Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 46 Services Semantic Web Services Conclusão Referências
  • 47. Conclusão Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 47 Services Semantic Web Services Conclusão Referências
  • 48. Referências Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 48 Services Semantic Web Services Conclusão Referências
  • 49. Livros Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 49 Services Semantic Web Services Conclusão Referências
  • 50. Referências http://soa.sys-con.com/node/439687 - A Performance Comparison of Popular Open Source Web Services Engines http://www.informationweek.com/news/software/development/showArticle.jhtml?articleID=6506480 http://uddi.xml.org/uddi-101 http://www.w3c.org.au/presentations/2003-08-21-web-services-interop/msm-ws.html#id2628715 Implementation Issues of A Cloud Computing Platform PAPER http://pt.wikibooks.org/wiki/Sistemas_de_Informa%C3%A7%C3%A3o_Distribu%C3%ADdos/Interopera%C3%A7%C3 %A3o/Web_Services/Linhas_de_pesquisa#Composi.C3.A7.C3.A3o_de_Web_services http://homepages.di.fc.ul.pt/~ler/docencia/tm0405/slides/HenriqueMoniz.pdf http://www.scientificamerican.com/article.cfm?id=the-semantic-web axel.deri.ie/~axepol/.../20050316-BITSeminar-Bolzano.ppt www.w3.org/2009/Talks/1030-Philadelphia-IH/Tutorial.ppt http://www.slideshare.net/bpedro/web-services-in-portuguese http://www.slideshare.net/ioannis.baltopoulos/introduction-to-web-services http://www.wsmo.org/papers/publications/wsmf.paper.pdf ____ Slides de amanhã: (SOAP + Proximo). Introdução Principais Tecnologias Exemplo de Aplicação Composição de Web 50 Services Semantic Web Services Conclusão Referências