1 / 93

Web Services

Web Services. Equipe: Cláudia Brito Lyra Nunes da Silva Clindemberg Mendes Patrício Luiz Eugênio Fernandes Tenório Marcelo Faro do Amaral Lemos Marco Antônio Costa Simões Paula Geralda Barbosa Coelho Simith. Tópicos. Web Services CORBA e Web Services SOAP & WSDL UDDI WSFL ebXML.

odina
Download Presentation

Web Services

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Web Services Equipe: Cláudia Brito Lyra Nunes da Silva Clindemberg Mendes Patrício Luiz Eugênio Fernandes Tenório Marcelo Faro do Amaral Lemos Marco Antônio Costa Simões Paula Geralda Barbosa Coelho Simith

  2. Tópicos • Web Services • CORBA e Web Services • SOAP & WSDL • UDDI • WSFL • ebXML

  3. Web Services

  4. Integração de Aplicações • O desafio da interoperação entre ambientes heterogêneos

  5. Integração de Aplicações • Diversidade de componentes • EJB, CORBA, DCOM ... • Diversidade de linguagens • Java, C/C++, C# ... • Firewalls • Falta de padrões para interoperação

  6. Integração de Aplicações • Definindo o formato para troca de dados

  7. Business-to-Business • Aplicações se conhecem e conversam entre si

  8. Web Services • Aplicações oferecem serviços que podem ser acessados dinamicamente

  9. Web Services • Próxima geração de serviços baseados na internet que utiliza padrões da indústria, como XML, SOAP, UDDI e ebXML, para conectar aplicações e provê novos serviços via Internet • serviços mais robustos e integrados • Nova “onda” de componentes • serviços como componentes reutilizáveis • “blocos” que integrados produzirão novos serviços

  10. Web Services • Definição • Modelo computacional distribuído • fracamente acoplado • utiliza mecanismos de transporte padrão (HTTP e HTTPS) • modelo de programação síncrona e assíncrona • utiliza XML para o transporte de dados • Descrito através de metadados (XML) • Localizável através de pesquisas em diretórios de serviços

  11. Web Services • Service-oriented • paradigma de orientação a serviços • Serviços inteligentes • coarse grained services • Tecnologia • basicamente é XML sobre HTTP • XML: porque o mercado concorda • HTTP: livre acesso através de firewalls

  12. Web Services • A web “costumava” ter foco em pessoas • A web está se tornando um plataforma A2A (application-to-application) • B2B é um caso especial • Web Services é a plataforma computacional distribuída sobre a qual aplicações A2A serão construídas

  13. Arquitetura Típica de uma Aplicação Web Web Services

  14. Web Services

  15. Web Services

  16. Web Services pode ser visto como middleware ?

  17. Tecnologias Web Services • Any technology-service paradigm • Tipicamente • SOAP: transporte de dados (XML/HTTP) • WSDL: descrição dos serviços • UDDI: registro e busca de serviços • ebXML: framework para e-commerce • WSFL: composição de Web Services

  18. SOAP • Simple Object Access Protocol • Modelo de mensagens independente do protocolo de transporte • suporte para HTTP • Modelo de codificação para tipos do sistema • exemplo: XML para objetos Java, e vice-versa • RPC sobre HTTP

  19. WSDL • Web Services Definition Language • Provê descrição funcional de serviços • IDL description • Protocol and deployment details • idealmente deveria provê todas as informações necessárias para acessar o serviço (programaticamente) • Machine-readable description

  20. UDDI • Universal Description, Discovery and Integration • Coleção de diretórios (peers) que contém informações sobre negócios e serviços • Conjunto de especificações baseadas em padrões para a descrição e pesquisa de serviços

  21. UDDI

  22. WSFL • Web Services Flow Language • Composição de Web Services • controle do fluxo de mensagens • Construída sobre WSDL • Modelos de utilização • Flow Model • compõe serviços existentes em novos serviços, definindo o workflow entre os serviços compostos • Global Model • descreve a interação entre serviços sem definir a função (serviço) composto

  23. Web Services • Papéis • Service provider • Service broker • Service requester • Operations • Publish • Find • Bind

  24. Business Web • Novo tipo de aplicação

  25. Business Web • É um Web Services composto por outros Web Services

  26. Business Web

  27. Que tipos de aplicações utilizarão Web Services?

  28. Web Services • Benefícios • baixo acoplamento entre aplicações • evolução independente de aplicações • B2B a baixo custo (reuso) • EAI (Enterprise Application Integration) não intrusiva • diversidade de componentes não afeta interoperabilidade • diversidade de linguagens não afeta interoperabilidade • padronização (futura)dos mecanismos de interoperação

  29. Web Services em Java

  30. Web Services em Java • Estende HTTP e Servlets/JSP para suportar “program-to-program” ou “business-to-business” • (Re)utiliza a infra-estrutura J2EE

  31. WebServices Pack • Empacotamento de todas as tecnologias necessárias para o desenvolvimento de web services WebService Pack Tomcat JAX Pack Java Server Faces JSP TagLibrary

  32. Web Services • Companhias estão anunciando sua estratégia para Web Services • IBM, Sun, Oracle, HP, ... • duas plataformas devem dominar o mercado: a plataforma Java e .NET • Novos servidores de aplicação já oferecem soluções para o desenvolvimento de web services • WebSphere 4.0 (IBM) • WebLogic 6.1 (BEA) • ...

  33. Web Services • Considerações • operações precisam ser restringidas por mecanismos de segurança negociáveis • Encriptação, autenticação, autorização ... • requer padrões bem definidos e largamente adotados • performance • Transformação XML <-> 0101010

  34. Web Services • Conclusão • é uma forma nova de utilizar tecnologias e conceitos já existentes • viabilizada pelo contexto tecnológico e comercial atual

  35. CORBA e Web Services

  36. CORBA e Web Services • Características benéficas a integração: • Web Services: • Um middleware para middleware • Pode ser utilizado com um middleware existente (ex. COM/DCOM, J2EE, CORBA) • CORBA: • Uma arquitetura aberta composta de ~42 interfaces definidas para serviços horizontais e verticais • Independência de protocolo de aplicação com a utilização de mapeamentos para GIOP

  37. CORBA e Web Services • Possíveis cenários de integração: • Implementando objetos CORBA utilizando Web Services; • Implementando Web Services utilizando objetos CORBA; • Expondo objetos CORBA como Web Services;

  38. CORBA e Web Services • Implementado objetos CORBA usando Web Services:

  39. CORBA e Web Services • Implementado Web Services usando objetos CORBA:

  40. CORBA e Web Services • Expondo objetos CORBA como Web Services:

  41. CORBA e Web Services • Comparação entre protocolos de transporte:

  42. SOAP

  43. SOAP – Simple Object Access Protocol • Definição: • É um protocolo que descreve mensagens trocadas entre processos, chamadas remotas a métodos e padrões para transporte via HTTP. • Baseado em XML • Se propõe a desempenhar o mesmo papel do IIOP (padrão CORBA), ORPC (padrão DCOM) e JRMP(padrão Java RMI) para Sistemas Distribuídos na Internet.

  44. Para que mais um protocolo ? • SOAP é baseado em texto (XML) enquanto os demais protocolos (IIOP,JRMP,ORPC) são binários • Vantagens: facilidade de depuração e maior adaptabilidade aos firewalls • Desvantagem: tamanho da mensagem SOAP é bem maior que os protocolos binários podendo gerar perda de performance • Padrão aberto e independente de plataforma

  45. Arquitetura do SOAP • Um envelope que descreve o conteúdo da mensagem e como processá-la • Um conjunto de regras de codificação que descrevem como os tipos de dados definidos na aplicação são serializados • Uma convenção para representar chamadas remotas a métodos (RPC) e suas respostas

  46. Exemplo de Mensagem SOAP <SOAP-ENV:Envelope xmlns:SOAP-ENV=“http://schemas.xmlsoap.org/soap/envelope/” xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” xmlns:xsd=“http://www.w3.org/2001/XMLSchema” <SOAP-ENV:Header> </SOAP-ENV:Header> <SOAP-ENV:Body> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

  47. Exemplo: SOAP Body <SOAP-ENV:Body> <ns1:sayHelloTo xmlns:ns1=“Hello” SOAP-ENV:encodingStyle=“http://schemas.xmlsoap.org/soap/encoding/”> <name xsi:type=“xsd:string”>Maria</name> </ns1:sayHelloTo> <SOAP-ENV:Body>

  48. Implementando um Web Service SOAP • A Especificação SOAP restringe-se aos detalhes da mensagem que é trocada entre os processos • Não há qualquer padronização quanto às API’s para implementar Serviços ou clientes • Existem uma série de ferramentas disponíveis: MS SOAP Toolkit, IBM WSTK, Apache-SOAP, GLUE, etc

  49. Pré-Requisitos • O requisito básico é possuir um Servidor Web com suporte para servlets • O Serviço pode ser implementado em diversas linguagens de programação e de script • Tomando Java como exemplo, um serviço é uma classe Java comum sem qualquer alteração adicional

  50. Exemplo de Serviço public class HelloServer { public String sayHelloTo(String nome) { return "Ola "+nome+", como vai ?"; } public String sayHelloTo(Name nome) { return "Ola "+nome.getName()+", como vai ?"; } }

More Related