A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

WS-I: Interoperabilidade no Desenho e Consumo de Web Services Outubro 2003.

Apresentações semelhantes


Apresentação em tema: "WS-I: Interoperabilidade no Desenho e Consumo de Web Services Outubro 2003."— Transcrição da apresentação:

1 WS-I: Interoperabilidade no Desenho e Consumo de Web Services Outubro 2003

2 Agenda Introdução WS-I.org Introdução WS-I.org Perfis de Interoperabilidade Perfis de Interoperabilidade Aplicações Exemplo Aplicações Exemplo Ferramentas de Teste Ferramentas de Teste Programa de Conformidade Programa de Conformidade

3 Introdução WS-I.org Contexto Negócios têm que inovar cada vez mais rapidamente Negócios têm que inovar cada vez mais rapidamente Sucesso passa por dispor de muita interoperabilidade Sucesso passa por dispor de muita interoperabilidade –Dentro da empresa –Entre parceiros de negócio –Num conjunto diversificado de plataformas, aplicações e linguagens de programação Tecnologias Internet são um dado, e interoperabilidade é um requisito Tecnologias Internet são um dado, e interoperabilidade é um requisito

4 Introdução WS-I.org Comentários Se é um fornecedor de infra-estrutura e não alinha com o WS-I, nem sequer apareça – não faremos negócio consigo -- Merrill Lynch CTO John McKinley

5 Introdução WS-I.org Standards XML (eXtensible Markup Language) XML (eXtensible Markup Language) –Não está acoplado a qualquer linguagem de programação, sistema operativo ou vendedor de software. –É útil para descrever formatos de documentos para a Web e também para dados estruturados. XML Namespaces XML Namespaces –Evitar conflitos de nomeclatura XML Schema (XSD) XML Schema (XSD) –Descrever classes de documentos XML

6 Introdução WS-I.org Standards – XML Schema

7 Introdução WS-I.org Standards (cont.) SOAP (Simple Object Access Protocol) SOAP (Simple Object Access Protocol) –Protocolo simples para a troca de informação estruturada num ambiente distribuído e descentralizado. –Messaging Framework: Estabelece um formato extensível de mensagens XML, as quais podem ser enviadas através de diversos protocolos subjacentes WSDL (Web Services Description Language) WSDL (Web Services Description Language) –Documentar serviços (operações, mensagens, …) –Simplificar consumo dos serviços (criação automática de classes proxy) UDDI (Universal Description and Discovery Interface) UDDI (Universal Description and Discovery Interface) –Catalogar serviços existentes –Também conhecido como as Páginas Amarelas dos WebServices Matrix

8 Introdução WS-I.org Standards (cont.) SOAP (Simple Object Access Protocol) SOAP (Simple Object Access Protocol) –Protocolo simples para a troca de informação estruturada num ambiente distribuído e descentralizado. –Messaging Framework: Estabelece um formato extensível de mensagens XML, as quais podem ser enviadas através de diversos protocolos subjacentes WSDL (Web Services Description Language) WSDL (Web Services Description Language) –Documentar serviços (operações, mensagens, …) –Simplificar consumo dos serviços (criação automática de classes proxy) UDDI (Universal Description and Discovery Interface) UDDI (Universal Description and Discovery Interface) –Catalogar serviços existentes –Também conhecido como as Páginas Amarelas dos WebServices

9 Introdução WS-I.org Standards - WSDL Conjunto de definições que caracterizam um Web Service Definição do formato das mensagens relevantes. Típica mas não necessariamente através de XML Schema Cada mensagem é constituída por zero/uma ou mais partes. Cada parte é de um tipo bem definido. Tipicamente estes tipos são tipos base de XML Schema ou tipos definidos na tag Cada mensagem é constituída por zero/uma ou mais partes. Cada parte é de um tipo bem definido. Tipicamente estes tipos são tipos base de XML Schema ou tipos definidos na tag Um tipo de porto é um conjunto de operações. Um operação é uma acção disponibilizada por um serviço. A cada operação está associado um conjunto de mensagens de input e um conjunto de mensagens de output. Forma como um é exposto num protocolo de transporte (e.g., HTTP, MIME, TCP,…). Define características das mensagens nesse protocolo, e forma como protocolo é utilizado. Conjunto de vários portos, cada um dos quais instancia operações de acordo com um binding num determinado endpoint. ...

10 Introdução WS-I.org Standards (cont.) SOAP (Simple Object Access Protocol) SOAP (Simple Object Access Protocol) –Protocolo simples para a troca de informação estruturada num ambiente distribuído e descentralizado. –Messaging Framework: Estabelece um formato extensível de mensagens XML, as quais podem ser enviadas através de diversos protocolos subjacentes WSDL (Web Services Description Language) WSDL (Web Services Description Language) –Documentar serviços (operações, mensagens, …) –Simplificar consumo dos serviços (criação automática de classes proxy) UDDI (Universal Description and Discovery Interface) UDDI (Universal Description and Discovery Interface) –Catalogar serviços existentes –Também conhecido como as Páginas Amarelas dos WebServices

11 Introdução WS-I.org Contexto Flexibilidade dos standards Flexibilidade dos standards Evolução rápida dos standards Evolução rápida dos standards Coordenação entre standards Coordenação entre standards Conformidade das implementações Conformidade das implementações

12 Introdução WS-I.org Flexibilidade dos standards SOAP SOAP –Encoding vs Literal –Document vs RPC –Header attributes: mustUnderstand, actor/role –Protocolo: tipicamente HTTP; existem bindings para SMTP, TCP –HTTP: Cookies, Redirection, SOAPAction WSDL WSDL –Mensagens: XML, … –Types: XML Schema, … –Port Types: One-Way, Request-Response, … –Bindings: SOAP, HTTP GET, SMTP, … UDDI UDDI –Arbitrariedade dos tModel

13 Introdução WS-I.org Evolução rápida dos Standards XML 1.0 XML nd Ed WSDL 1.0WSDL 1.1 WSDL 1.2 SOAP 1.0SOAP 1.1SOAP 1.2 XML Schema 1.0 UDDI 1.0UDDI 2.0 UDDI 3.0 WS-I Basic Profile 1.0WS-I.org 2004 XML Namespaces 1.0

14 Introdução WS-I.org Contexto Flexibilidade dos standards Flexibilidade dos standards Evolução rápida dos standards Evolução rápida dos standards Coordenação entre standards Coordenação entre standards Conformidade das implementações Conformidade das implementações

15 Porquê mais um grupo para lidar com Web Services? Porquê mais um grupo para lidar com Web Services? Trabalho à volta de Web Services é realizado por muitas entidades: –Orgs de Standards: W3C, OASIS, IETF, … –Orgs ad-hoc: UDDI.org –Vendedores: GXA

16 Introdução WS-I.org Missão […] WS-I é uma organização aberta da indústria que tem como propósito promover Interoperabilidade de Web Services entre diversas plataformas, sistemas operativos e linguagens de programação […]

17 Introdução WS-I.org Missão Qual é a missão? – –Estabelecer uma definição clara de Web Services – –Clarificar as especificações que estejam maduras para implementar – –Publicar indicações sobre a melhor forma de utilizar as especificações – –Apoiar programadores através de exemplos concretos e de ferramentas de suporte WS-I subscreve especificações que tenham sido largamente adoptadas pela industria WS-I não escreve novas especificações, mas adopta o trabalho realizado por outros (Standards integrator)

18 Introdução WS-I.org Deliverables Perfis de Interoperabilidade – – Basic 1.0: XML, XSD, SOAP, WSDL, UDDI Use Cases e Cenários de Utilização – –Capturam respectivamente requisitos de negócio e técnicos para uso Web Services Aplicações Exemplo – –Supply Chain Management (Gestão Cadeia de Fornecimento) Ferramentas de teste – –Monitor e Analisador – Verificar conformidade com Perfis

19 Introdução WS-I.org Relações entre materiais Aplicação Exemplo Materiais e Ferramentas de Teste Use Cases e Cenários de Utilização Perfil (e.g., Basic Profile) Conjunto Regras Feedback Orienta Regras Restrições Feedback Verifica / Feedback RestriçõesOrienta Requisitos

20 Agenda Introdução WS-I.org Introdução WS-I.org Perfis de Interoperabilidade Perfis de Interoperabilidade Aplicações Exemplo Aplicações Exemplo Ferramentas de Teste Ferramentas de Teste Programa de Conformidade Programa de Conformidade

21 Perfis de Interoperabilidade WS-I Basic Profiles Um Basic Profile é: –Um conjunto de especificações de Web Services com versões especificas –Restrições e recomendações quanto ao uso das mesmas

22 Perfis de Interoperabilidade WS-I Basic Profiles Basic Profile 1.0 Basic Profile 1.0 –http://www.ws-i.org/Profiles/Basic/ /BasicProfile- 1.0a.html (~50 páginas) 1.0a.htmlhttp://www.ws-i.org/Profiles/Basic/ /BasicProfile- 1.0a.html –Publicado em Agosto 2003 Basic Profile 1.1 Basic Profile 1.1 –Actualização Incremental à versão 1.0 –SOAP with Attachments Basic Security Profile Basic Security Profile –Segurança no Transporte –Segurança de Mensagens SOAP –Outros aspectos (de acordo com Basic Profile 1.0 e 1.1)

23 Perfis de Interoperabilidade Filosofia de um Basic Profile Não é garantia de interoperabilidade Não é garantia de interoperabilidade Restringe em lugar de relaxar Restringe em lugar de relaxar Procura compatibilidade futura Procura compatibilidade futura

24 Perfis de Interoperabilidade WS-I Basic Profile 1.0 Base Base –HTTP (1.0 ou 1.1) –XML 1.0 –XML Namespaces –XML Schema 1.0 SOAP 1.1 SOAP 1.1 –Restrição mais significativa: MUST NOT use SOAP 1.1 Section 5 (SOAP Encoding) WSDL 1.1 WSDL 1.1 –MUST use XML Schema 2001 and SOAP/HTTP binding UDDI 2.0 UDDI 2.0

25 Perfis de Interoperabilidade WS-I Basic Profile 1.1 Soap with Attachments Soap with Attachments –W3C Note, Dezembro 2000 –http://www.w3.org/TR/SOAP-attachments

26 Perfis de Interoperabilidade Basic Profile Segurança Imposições reduzidas Imposições reduzidas –Permite mecanismos de segurança baseados em HTTP SSL/TLS SSL/TLS client certificates client certificates HTTP Authentication HTTP Authentication –Não define nenhum mecanismo para segurança das mensagens SOAP (e.g. WS- Security)

27 Perfis de Interoperabilidade Basic Security Profile Baseado em standards Baseado em standards –HTTP sobre TLS (HTTPS) –SOAP Attachments Security –OASIS Web Services Security v1.0 Work in progress! Work in progress!

28 Perfis de Interoperabilidade Conformidade Critérios de conformidade são estabelecidos: Critérios de conformidade são estabelecidos: –Por requisitos –Para artifacts Mensagem (SOAP/HTTP) Mensagem (SOAP/HTTP) –Scoped to the entire message Description (WSDL) Description (WSDL) –Scoped to wsdl:port (or parts of a port) Regdata / Discovery (UDDI) Regdata / Discovery (UDDI) –Scoped to bindingTemplate or tModels Considera-se que uma instância de um artifact tem conformidade quando todos os requisitos correspondentes se verificarem Considera-se que uma instância de um artifact tem conformidade quando todos os requisitos correspondentes se verificarem O Basic Profile NÃO estabelece um critério que indique se as ferramentas e plataformas estão em conformidade O Basic Profile NÃO estabelece um critério que indique se as ferramentas e plataformas estão em conformidade

29 Perfis de Interoperabilidade Conformidade Definem-se várias instâncias de processamento Definem-se várias instâncias de processamento –Instância (e.g. ASMX) –Consumidor (e.g. classe proxy e wsdl.exe) Tanto Instâncias como Consumidores devem respeitar as regras para: Tanto Instâncias como Consumidores devem respeitar as regras para: –Senders –Receivers

30 Agenda Introdução WS-I.org Introdução WS-I.org Perfis de Interoperabilidade Perfis de Interoperabilidade Aplicações Exemplo Aplicações Exemplo Ferramentas de Teste Ferramentas de Teste Programa de Conformidade Programa de Conformidade

31 Aplicação Exemplo Introdução Web Services Standard que promovam Interoperabilidade Web Services Standard que promovam Interoperabilidade –Entre plataformas, aplicações e linguagens de programação –Interoperabilidade consistente e fiável entre tecnologias de Web services de vários vendedores –Integrador de standards para ajudar ao avanço de Web services de forma estruturada e coerente Guidance Boas Práticas SpecsProfiles Consenso WS-I Exemplos Prova

32 Aplicação Exemplo Descrição Aplicação simples de Gestão de Cadeia de Fornecimento (Supply Chain Management) Aplicação simples de Gestão de Cadeia de Fornecimento (Supply Chain Management) –Baseada em Web Services –Demonstra uma aplicação que tem conformidade com Basic Profile 1.0 –Não é necessariamente representativa das Best Practices Doc/Literal & RPC/Literal Doc/Literal & RPC/Literal Demonstra 3 padrões de troca de Mensagens Demonstra 3 padrões de troca de Mensagens –One-Way –Request-Response –Callback

33 Aplicação Exemplo Basic Callback 1 I_Sample/services/WarehouseCallBack

34 Aplicação exemplo inclui algumas funcionalidades que não são as mais correctas para plataformas Microsoft Permite RPC/Literal Permite RPC/Literal –The Argument Against SOAP Encoding SOAP encoding. SOAP encoding sometimes called "Section 5 encoding", after the portion of the SOAP 1.1 specification where it is defined is a shadow from SOAP's past that has no place in the future of Web services Propõe funcionalidade através de mecanismos não standardizados Propõe funcionalidade através de mecanismos não standardizados –Callback Exemplo equivalente WS-Addressing: Exemplo equivalente WS-Addressing: Aplicação Exemplo Recomendações MS

35 UC1: Purchase Goods UC2: Source Goods UC3: Replenish Stock Retailer System UC4: Supply Finished Goods UC5: Manufacture Finished Goods Manufacturing System UC8: Configure and run demo UC8: View Events UC7: Log Events Demo System > Consumer Demo User >

36

37 Aplicação Exemplo Implementações IBM, BEA, Microsoft, Sun, Oracle, SAP, Corillian, Bowstreet IBM, BEA, Microsoft, Sun, Oracle, SAP, Corillian, Bowstreet Registada no UDDI Registada no UDDI –Procurar serviços com %ws-i% Implementação da Microsoft implementation Implementação da Microsoft implementation –Using.NET v1.0 –http://www.coldrooster.com/wsi/webclient

38 Agenda Introdução WS-I.org Introdução WS-I.org Perfis de Interoperabilidade Perfis de Interoperabilidade Aplicações Exemplo Aplicações Exemplo Ferramentas de Teste Ferramentas de Teste Programa de Conformidade Programa de Conformidade

39 Ferramentas de Teste Objectivos Materiais e Ferramentas de Teste de Web Services servem vários propósitos: Materiais e Ferramentas de Teste de Web Services servem vários propósitos: –Testar Conformidade com WS-I Basic Profile(s) –Testar Interoperabilidade e diagnosticar problemas –Ajudar programadores de Web Services a auto validar a interoperabilidade e conformidade com WS-I –Estabelecer metodologia de testes WS-I –Fornecer feedback a outros grupos de trabalho do WS-I Ferramentas de teste não certificam que um Web Service ou um cliente estão de acordo com WS-I * Profile Ferramentas de teste não certificam que um Web Service ou um cliente estão de acordo com WS-I * Profile Ferramentas e materiais de testes são versionados e essas versões existem em cada plataforma Ferramentas e materiais de testes são versionados e essas versões existem em cada plataforma –Desenvolvidas em ambos Java e C#

40 Ferramentas de Teste Arquitectura User Application Or WS Web Service Log file MONITOR ANALYZER Results

41 Monitor Interceptor Requestor Web Service SOAP Message SOAP Message Logger Monitor Config File Monitor SOAP Message Message Log

42 Monitor XML Schema Interceptor Message Log Requestor Web Service Analyzer WSDL SOAP Message SOAP Message Logger Conformance Report Monitor Config File Analyzer Config File Test Assertion Document Monitor Analyzer UDDI

43 Conformance Report Configuration Environment Artifact Assertion results Summaries DiscoveryDescriptionMessage Result Artifact type Result Assertion Result per target Result per target Result per target Result All Result Artifact type Pass Fail NotApplicable NotTested Result types Port Binding PortType Message Operation Binding Template TModel XSLT

44 Analyzer Conformance Report Analyzer Config File Test Assertion Document XSLT HTML report

45 Ferramentas de Teste Função do Monitor Captura Mensagens: Interceptor Captura Mensagens: Interceptor –Especifico de um Transporte –Captura mensagens e erros na camada de transporte Logging e Formatação: Logger Logging e Formatação: Logger –Grava output execução do Interceptor –Formata entradas no log (XML) e exporta-o para um ficheiro SenderReceiverInterceptor Logger Log File

46 LOG file (ficheiro XML) Test Procedure 3 (HTTP) Test Procedure 4 (SOAP) Test Procedure 2 (WSDL) Relatórios Teste WS Definition (WSDL, port) WS-I Profile(s) Activação selectiva de procedimentos teste UDDI Test Procedure 1 (UDDI) Ferramentas de Teste Analisador Analise da descrição WSDL Analise da descrição WSDL –Testa Conformidade do WSDL, e Target Ports Analise das mensagens do Web Service Analise das mensagens do Web Service –Lê e correlaciona registos no Log –Executa procedimentos de teste relevantes para o perfil Relatório de Conformidade Relatório de Conformidade –Cobertura, Validação (WS ports pass/fail), Erros Desacoplado de Monitorização Desacoplado de Monitorização –Testes de conformidade podem ser executados em run-time ou posteriormente

47 Ferramentas de Teste Source e Binários / /

48 Ferramentas de teste demo demo

49 Ferramentas de Teste Monitorizar a Aplicação Exemplo Página Carrinho Compras Seleccionar Items e Quantidades Submeter Encomenda Serviço Retalhista getCatalog submitOrder shipGoods Armazém A shipGoods submitPO Monitor Fabricante X Submit PO SubmitShipNotice

50 Agenda Introdução WS-I.org Introdução WS-I.org Perfis de Interoperabilidade Perfis de Interoperabilidade Aplicações Exemplo Aplicações Exemplo Ferramentas de Teste Ferramentas de Teste Programa de Conformidade Programa de Conformidade

51 Programa de Conformidade Objectivos Vendedores de tecnologia poderão invocar conformidade com perfis WS-I – –Demonstra liderança em Web Services e Interoperabilidade – –Invoca alinhamento com melhores práticas da industria Programa auto gerido – –Baseado em Relatórios emitidos pelo Vendedor – –Clientes terão informação necessária para auditar e duplicar os testes de conformidade WS-I fornecerá índice de relatórios no seu site.org

52 Programa de Conformidade Descrição Tipo de clausulas de conformidade: – –Artifacts: Schema e WSDL. (e.g., de indústrias verticais) – –Instancias de Web Services (e.g., MapPoint.NET) – –Aplicações (e.g., SAP, GreatPlains) Conformidade de plataformas e ferramentas ainda está em estudo

53 Programa de conformidade Relação com.NET Connected Qual a relação com o programa.NET Connected? – –WS-I é mais restritivo – –São fornecidas regras sobre detalhes dos specs, não apenas sobre quais os specs a utilizar – –Algumas características dos spec são abandonadas pelo WS-I (e.g., SOAP encoding) As aplicações.NET Connected PODEM ter conformidade com WS-I Aplicações em conformidade com WS-I e que tenham conformidade com na Framework.NET são todas.NET Connected Premium

54 Building Interoperable Web Services: WS-I Basic Profile 1.0 us/dnsvcinter/html/wsi-bp_msdn_landingpage.asp Building Interoperable Web Services: WS-I Basic Profile 1.0 us/dnsvcinter/html/wsi-bp_msdn_landingpage.asp us/dnsvcinter/html/wsi-bp_msdn_landingpage.asp us/dnsvcinter/html/wsi-bp_msdn_landingpage.asp –Foca aspectos chave do WS-I e dá indicações de como lidar com algumas restrições –Descreve como tirar partido do Visual Studio para criar Web Services que estejam em conformidade com as especificações WS-I Utilize a aplicação de exemplo WS-I como exemplo de como se deve ou não deve desenhar um Web Service Utilize a aplicação de exemplo WS-I como exemplo de como se deve ou não deve desenhar um Web Service A aplicação exemplo WS-I demonstra boas práticas de interoperabilidade, mas não necessariamente de outros aspectos como por exemplo performance ou segurança A aplicação exemplo WS-I demonstra boas práticas de interoperabilidade, mas não necessariamente de outros aspectos como por exemplo performance ou segurança Programa de Conformidade Boas Práticas

55 Patterns & Practices

56 Resumo WS-I disponibiliza regras muito claras acerca de como construir Web Services interoperaveis WS-I disponibiliza regras muito claras acerca de como construir Web Services interoperaveis Os perfis de interoperabilidade definem o caminho para a interoperabilidade Os perfis de interoperabilidade definem o caminho para a interoperabilidade Aplicações Exemplo dão dicas de como seguir o caminho indicado Aplicações Exemplo dão dicas de como seguir o caminho indicado As Ferramentas de Teste ajudam os programadores a confirmar que construíram os Web Services da forma correcta As Ferramentas de Teste ajudam os programadores a confirmar que construíram os Web Services da forma correcta Aplicações e Web Services podem utilizar uma marca de conformidade do WS-I se seguirem o processo obrigatório Aplicações e Web Services podem utilizar uma marca de conformidade do WS-I se seguirem o processo obrigatório

57 Resumo O que pode fazer Desenhar e construir Web Services que seguem as regras WS-I Desenhar e construir Web Services que seguem as regras WS-I Verificar que os Web Services fornecidos por produtos estão em conformidade com os Perfis Verificar que os Web Services fornecidos por produtos estão em conformidade com os Perfis –Utilizar as ferramentas de teste e dar feedback sobre as mesmas Planear a publicação de relatórios de conformidade Planear a publicação de relatórios de conformidade Evangelizar WS-I para os seus clientes, parceiros e fornecedores Evangelizar WS-I para os seus clientes, parceiros e fornecedores –Actualizar produtos para obter conformidade

58 © 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.


Carregar ppt "WS-I: Interoperabilidade no Desenho e Consumo de Web Services Outubro 2003."

Apresentações semelhantes


Anúncios Google