Web Services Armênio Cardoso Consultor, Arquiteto de Sistemas e Professor java users group de petrópolis
Agenda ::  O Que São Web Services? ::  Tipos de Aplicações. ::  XML. ::  Requisitos dos Web Services. ::  Descrição de Web Services. ::  Localização de Web Services. ::  Transporte para Web Services. ::  Frameworks para Web Services. ::  Referências Bibliográficas.
O Que São Web Services? ::  Web Services permitem que aplicações acessem componentes de software através de protocolos padronizados, tais como HTTP ou SMTP. ::  Usando a Internet e a linguagem XML, é possível criar componentes que se comunicam com outros componentes, independente da linguagem de programação, plataforma ou cultura organizacional.
O Que São Web Services? ::  Quais são as consequências dessa tecnologia? Software Serviços
O Que São Web Services? Serviços de Cálculos Cotações da Bolsa de Valores Previsão do Tempo Leilões e Comércio Eletrônico Centros de Controle Industriais Sistemas Administrativos Sistemas Públicos
Tipos de Aplicações ::  Aplicações Verticais: Cobrem um único aspecto do negócio das empresas. ::  Aplicações Horizontais: Cobrem vários aspectos do negócio das empresas.
Tipos de Aplicações ::  Uma mudança estrutural básica vem ocorrendo na forma como as aplicações são desenvolvidas para solucionar problemas corporativos. ::  Esse fato tem se tornado o maior combustível que impulsiona os Web Services. ::  No passado, o foco do desenvolvimento se situava em aplicações verticais.
Tipos de Aplicações ::  Historicamente as aplicações verticais têm sido mais fáceis de implementar do que as horizontais. ::  Agora, todas as empresas desejam dispor de eBusiness, onde uma aplicação virtual cobriria o seu portifólio de aplicações verticais e horizontais.
Tipos de Aplicações ::  Quando problemas de B2B se apresentam, verifica-se uma similaridade com a integração de aplicações verticais. ::  Cada empresa desenvolve a sua infraestrutura de forma independente e aderente à sua própria cultura. ::  B2B pode ser visto como a “cola” que junta essas aplicações de empresas diferentes.
Tipos de Aplicações ::  A única maneira de lidar com esse número enorme de entidades heterogêneas na Internet é “fatorar” o problema em um “denominador comum” mais baixo. ::  Quando os dados são transferidos de um site para outro, é necessário que estejam codificados em um padrão que todos possam dispor. http:// www.meusite.com.br /dados.xml
XML ::  XML = Extensible Markup Language é uma nova tecnologia para aplicações Web. ::  É um padrão definido pelo World Wide Web Consortium que permite que se crie tags próprias e gramáticas de linguagens próprias. ::  Site do W3 Consortium: http://www.w3.org
XML ::  Com XML é possível entender o significado das tags e estruturar informações de forma relacional ou hierárquica. ::  Mais do que isso, é possível escrever aplicações que “entendam” o significado das tags XML.
XML Conteúdo XML DTD ou Schema XSL Renderização Browser HTML PDF XSLT DTD – document type definition XSL/XSLT - stylesheet
Requisitos dos Web Services ::  Um Web Service é projetado para ser  publicado ,  descoberto  e  invocado  dinamicamente em um ambiente computacional distribuído. Descrever Descobrir Transportar
Requisitos dos Web Services ::  Existem três requisitos para os Web Services: Descrever:  descrição dos serviços, incluindo especificações de interfaces de I/O e meta informações. Descobrir:  localização de serviços a partir das características desejadas. Transportar:  enviar requisições aos serviços e receber resultados.
Requisitos dos Web Services Os padrões que estão por trás desses requisitos são WSDL, UDDI e SOAP. WSDL UDDI SOAP
Descrição de Web Services ::  WSDL = Web Services Description Language. ::  Para que aplicações clientes entendam como interagir com os Web Services, é necessário haver uma descrição das funções disponíveis. ::  O arquivo que descreve o documento está codificado em um  schema  XML chamado WSDL. schema  = gramática escrita em XML
Localização de Web Services ::  Os Web Services podem ser públicos ou privados, tornando a sua publicação opcional. ::  Para publicar Web Services, os desenvolvedores colocam arquivos de localização na Internet, contendo código WSDL descrevendo o que cada serviço faz. ::  Existem dois tipos de localização de serviços: estática e dinâmica.
Localização de Web Services ::  A localização estática envolve a descrição absoluta da URL onde se encontra o Web Service. ::  A localização dinâmica envolve um algoritmo de pesquisa que procura em uma lista de URLs, todos os diretórios que contém Web Services.
Localização de Web Services ::  UDDI = Universal Description, Discovery and Integration funciona como um repositório de Web Services (Business Registry), tal como uma lista de páginas amarelas. ::  Esse recurso permite a publicação e localização de serviços através de critérios de pesquisa, tal como o  Cadê  ou  Yahoo .
Transporte para Web Services ::  Web Services utilizam a Internet como meio físico de transporte e os protocolos HTTP e SMTP para estabelecer a comunicação. ::  Um Web Service é similar a um componente rodando no servidor Web, exposto ao mundo através de protocolos padrão.
Transporte para Web Services ::  Os  frameworks  que implementam Web Services, em geral, suportam HTTP GET, HTTP POST e SOAP (Simple Object Access Protocol). ::  Como HTTP é bastante comum, é possível desenvolver aplicações clientes de Web Services em diversas linguagens, tais como C/C++, Java, Visual Basic, Delphi etc, de forma fácil e rápida.
Transporte para Web Services ::  SOAP = Simple Object Access Protocol - descreve um formato para trocas de requisições e respostas entre clientes e Web Services. ::  SOAP é diferente do HTTP porque utiliza XML para formatar o conteúdo das mensagens e “envelopá-lo”, permitindo conduzir informações mais complexas a respeito das requisições e das respostas.
Frameworks para Web Services ::  Oracle 9i Web Services Framework. ::  Java Technology Web Services Model. ::  IBM B2Bi. ::  BEA Process Integrator-Collaborator. ::  Microsoft .NET (dot net).
Referências Bibliográficas O´Reilly Press www.ora.com Thuan Thai Hoang Lam .NET Framework Essetials Sun Microsystems java.sun.com/xml Web Services Made Easier JavaWorld www.javaworld.com Eric Armstrong Java Web services: What´s not to like? JavaWorld www.javaworld.com Sonal Bansal Gurav Pal The Web at your (machine´s) service Oracle www.oracle.com Rob Cheng Joe Meeks Developing, Deploying, Managing Web Services with Oracle 9i The Server Side www.theserverside.com Billy Newport Requirements for Building Industrial Strength Web Services

Web Services

  • 1.
    Web Services ArmênioCardoso Consultor, Arquiteto de Sistemas e Professor java users group de petrópolis
  • 2.
    Agenda :: O Que São Web Services? :: Tipos de Aplicações. :: XML. :: Requisitos dos Web Services. :: Descrição de Web Services. :: Localização de Web Services. :: Transporte para Web Services. :: Frameworks para Web Services. :: Referências Bibliográficas.
  • 3.
    O Que SãoWeb Services? :: Web Services permitem que aplicações acessem componentes de software através de protocolos padronizados, tais como HTTP ou SMTP. :: Usando a Internet e a linguagem XML, é possível criar componentes que se comunicam com outros componentes, independente da linguagem de programação, plataforma ou cultura organizacional.
  • 4.
    O Que SãoWeb Services? :: Quais são as consequências dessa tecnologia? Software Serviços
  • 5.
    O Que SãoWeb Services? Serviços de Cálculos Cotações da Bolsa de Valores Previsão do Tempo Leilões e Comércio Eletrônico Centros de Controle Industriais Sistemas Administrativos Sistemas Públicos
  • 6.
    Tipos de Aplicações:: Aplicações Verticais: Cobrem um único aspecto do negócio das empresas. :: Aplicações Horizontais: Cobrem vários aspectos do negócio das empresas.
  • 7.
    Tipos de Aplicações:: Uma mudança estrutural básica vem ocorrendo na forma como as aplicações são desenvolvidas para solucionar problemas corporativos. :: Esse fato tem se tornado o maior combustível que impulsiona os Web Services. :: No passado, o foco do desenvolvimento se situava em aplicações verticais.
  • 8.
    Tipos de Aplicações:: Historicamente as aplicações verticais têm sido mais fáceis de implementar do que as horizontais. :: Agora, todas as empresas desejam dispor de eBusiness, onde uma aplicação virtual cobriria o seu portifólio de aplicações verticais e horizontais.
  • 9.
    Tipos de Aplicações:: Quando problemas de B2B se apresentam, verifica-se uma similaridade com a integração de aplicações verticais. :: Cada empresa desenvolve a sua infraestrutura de forma independente e aderente à sua própria cultura. :: B2B pode ser visto como a “cola” que junta essas aplicações de empresas diferentes.
  • 10.
    Tipos de Aplicações:: A única maneira de lidar com esse número enorme de entidades heterogêneas na Internet é “fatorar” o problema em um “denominador comum” mais baixo. :: Quando os dados são transferidos de um site para outro, é necessário que estejam codificados em um padrão que todos possam dispor. http:// www.meusite.com.br /dados.xml
  • 11.
    XML :: XML = Extensible Markup Language é uma nova tecnologia para aplicações Web. :: É um padrão definido pelo World Wide Web Consortium que permite que se crie tags próprias e gramáticas de linguagens próprias. :: Site do W3 Consortium: http://www.w3.org
  • 12.
    XML :: Com XML é possível entender o significado das tags e estruturar informações de forma relacional ou hierárquica. :: Mais do que isso, é possível escrever aplicações que “entendam” o significado das tags XML.
  • 13.
    XML Conteúdo XMLDTD ou Schema XSL Renderização Browser HTML PDF XSLT DTD – document type definition XSL/XSLT - stylesheet
  • 14.
    Requisitos dos WebServices :: Um Web Service é projetado para ser publicado , descoberto e invocado dinamicamente em um ambiente computacional distribuído. Descrever Descobrir Transportar
  • 15.
    Requisitos dos WebServices :: Existem três requisitos para os Web Services: Descrever: descrição dos serviços, incluindo especificações de interfaces de I/O e meta informações. Descobrir: localização de serviços a partir das características desejadas. Transportar: enviar requisições aos serviços e receber resultados.
  • 16.
    Requisitos dos WebServices Os padrões que estão por trás desses requisitos são WSDL, UDDI e SOAP. WSDL UDDI SOAP
  • 17.
    Descrição de WebServices :: WSDL = Web Services Description Language. :: Para que aplicações clientes entendam como interagir com os Web Services, é necessário haver uma descrição das funções disponíveis. :: O arquivo que descreve o documento está codificado em um schema XML chamado WSDL. schema = gramática escrita em XML
  • 18.
    Localização de WebServices :: Os Web Services podem ser públicos ou privados, tornando a sua publicação opcional. :: Para publicar Web Services, os desenvolvedores colocam arquivos de localização na Internet, contendo código WSDL descrevendo o que cada serviço faz. :: Existem dois tipos de localização de serviços: estática e dinâmica.
  • 19.
    Localização de WebServices :: A localização estática envolve a descrição absoluta da URL onde se encontra o Web Service. :: A localização dinâmica envolve um algoritmo de pesquisa que procura em uma lista de URLs, todos os diretórios que contém Web Services.
  • 20.
    Localização de WebServices :: UDDI = Universal Description, Discovery and Integration funciona como um repositório de Web Services (Business Registry), tal como uma lista de páginas amarelas. :: Esse recurso permite a publicação e localização de serviços através de critérios de pesquisa, tal como o Cadê ou Yahoo .
  • 21.
    Transporte para WebServices :: Web Services utilizam a Internet como meio físico de transporte e os protocolos HTTP e SMTP para estabelecer a comunicação. :: Um Web Service é similar a um componente rodando no servidor Web, exposto ao mundo através de protocolos padrão.
  • 22.
    Transporte para WebServices :: Os frameworks que implementam Web Services, em geral, suportam HTTP GET, HTTP POST e SOAP (Simple Object Access Protocol). :: Como HTTP é bastante comum, é possível desenvolver aplicações clientes de Web Services em diversas linguagens, tais como C/C++, Java, Visual Basic, Delphi etc, de forma fácil e rápida.
  • 23.
    Transporte para WebServices :: SOAP = Simple Object Access Protocol - descreve um formato para trocas de requisições e respostas entre clientes e Web Services. :: SOAP é diferente do HTTP porque utiliza XML para formatar o conteúdo das mensagens e “envelopá-lo”, permitindo conduzir informações mais complexas a respeito das requisições e das respostas.
  • 24.
    Frameworks para WebServices :: Oracle 9i Web Services Framework. :: Java Technology Web Services Model. :: IBM B2Bi. :: BEA Process Integrator-Collaborator. :: Microsoft .NET (dot net).
  • 25.
    Referências Bibliográficas O´ReillyPress www.ora.com Thuan Thai Hoang Lam .NET Framework Essetials Sun Microsystems java.sun.com/xml Web Services Made Easier JavaWorld www.javaworld.com Eric Armstrong Java Web services: What´s not to like? JavaWorld www.javaworld.com Sonal Bansal Gurav Pal The Web at your (machine´s) service Oracle www.oracle.com Rob Cheng Joe Meeks Developing, Deploying, Managing Web Services with Oracle 9i The Server Side www.theserverside.com Billy Newport Requirements for Building Industrial Strength Web Services