430 likes | 556 Views
Novas Arquitecturas baseadas em Web Services. XATA 2004 – Fev 2004. José António Silva Architect Evangelist joseas@microsoft.com http://canoas.com/blog/. vamos falar sobre…. Service-Orientation XML, SOAP, WSDL, UDDI Novos Protocolos WS-* WS-* Workshop Process
E N D
Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António SilvaArchitect Evangelistjoseas@microsoft.comhttp://canoas.com/blog/
vamos falar sobre… Service-Orientation XML, SOAP, WSDL, UDDI Novos Protocolos WS-* WS-* Workshop Process Web Services Interoperability WS-I.ORG
porque é que construímos sistemas distribuídos? • demasiado trabalho para uma só máquina • dados pertencem a diferentes organizações • dados pertencem a diferentes sistemas • funcionalidades de determinados sistemas • necessidades de execução diferentes • necessidades de segurança diferentes
XML Web Services HTML IP composição de serviços browser e-mail Pessoas comPessoas Pessoas comInformação Aplicações comAplicações Protocolos na NET
Exemplo: Aplicação 3 camadas boa arquitecturaDNA Aplicação Central Compras Presentation Layer Business Layer Data Layer Interface da aplicação dá acesso aos dados aplicacionais
O utilizador é o elo de ligação dos processos, o que é lento, caro e propício a erros Aplicação Contabilidade Processo de negócio atravessa várias aplicações Aplicação Central Compras Aplicação RH
Service Façade Business Layer Service Oriented Architecture Interface desacoplado da lógica de processamento dos dados troca de mensagens boa arquitectura 3-tier service Serviço Central Compras UI Presentation Layer Data Layer Web Service Standards permitem ligaçõescross-platform Dados e Lógica Negócio encapsulados por uma Web Service Façade
Serviço Central Compras Serviços Contabilidade Serviço RH Automação de Processos de Negócio integração com diferentes plataformas UI Processo Compras BusinessProcess Automation Múltiplos serviços combinados num único processo de negócio
Serviços, Componentes, Objectos, … Service • Evolução natural • Function Component Service • Serviços contem mensagens, componentes e dados • Dados privados e completamente encapsulados pelo serviço • Mensagens são a única forma de entrada e saída num serviço Private Data Components Functions
Tightly Coupled Programming Language Database Agreements Database Object Model Schema Operating System Operating System Application Server
Loosely Coupled Programming Language Programming Language Database Database Agreements Object Model Object Model Operating System Operating System Schema Application Server Application Server
SOAP: Expansível • Informação extra • soap:Header vssoap:Body • Opcional • soap:mustUnderstand • Qualificável • soap:role (soap:actor in SOAP 1.1)
Exemplo: Composição <S:Envelope … > <S:Header> <wsa:ReplyTo> <wsa:Address>http://business456.com/User12</wsa:Address> </wsa:ReplyTo> <wsa:To>http://fabrikam123.com/Traffic</wsa:To> <wsa:Action>http://fabrikam123.com/Traffic/Status</wsa:Action> <wssec:Security> <wssec:BinarySecurityToken ValueType="wssec:X509v3" EncodingType=“wssec:Base64Binary"> dWJzY3JpYmVyLVBlc…..eFw0wMTEwMTAwMD </wssec:BinarySecurityToken> </wssec:Security> <wsrm:Sequence>zzz <wsu:Identifier>http://fabrikam123.com/seq1234</wsu:Identifier> <wsrm:MessageNumber>10</wsrm:MessageNumber> </wsrm:Sequence> </S:Header> <S:Body> <app:TrafficStatus xmlns:app="http://highwaymon.org/payloads"> <road>520W</road><speed>3MPH</speed> </app:TrafficStatus> </S:Body> </S:Envelope> Addressing Security Reliability
Web Services Basic Standards Stack UDDI (discovery) WSDL (API description) SOAP (messaging) XML (lingua franca) HTTP (transport)
Limitações actuais: • Segurança? • Garantias de Entrega? • Transacções? • Outros Transportes? • Mensagens Assíncronas (One-Way)? • Encaminhamento (Routing/Addressing)? • Outros padrões (Ex: Pub/Sub)?
SecureConversation Federation Authorization Policy Trust Privacy Web Services Security Roadmap Security Hoje SOAP Foundation Security in a Web Services World – IBM/MSFT White Paper http://msdn.microsoft.com/library/en-us/dnwssecur/html/securitywhitepaper.asp Abril 2002 WS-Security Specificationhttp://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wss
Web Services Protocols (WS-*) • Messaging SpecificationsSOAP WS-Addressing MTOM (Attachments) WS-Eventing • Security SpecificationsWS-Security WS-SecureConversation WS-Trust WS-Federation WS-Federation Active Requestor ProfileWS-Federation Passive Requestor ProfileWeb Services Security Kerberos Binding • Reliable Messaging SpecificationsWS-ReliableMessaging • Transaction SpecificationsWS-Coordination WS-AtomicTransaction WS-BusinessActivity • Metadata SpecificationsWSDLUDDI WS-Policy WS-PolicyAssertions WS-PolicyAttachment WS-SecurityPolicy • XML SpecificationsXML Namespaces in XMLXML Information Set XInclude Connected Applications BusinessProcess Management … Security Reliability Transactions Metadata Messaging XML … HTTP TCP SMTP
WS-* Objectivos • Arquitectura • Modular/Composable • De Aplicabilidade Genérica (B2B, EAI, Devices) • Baseado em Standards • Modelo Federado • Resultados tangíveis • Qualidade no desenvolvimento • Adopção generalizada por todos os intervenientes do mercado • Rápido time-to-market
Novas especificações (1) • WS-Security – protecção via integridade, confidencialidade e autenticação directamente na mensagem XML (XML-SIG, XML-ENC) • WS-Security • WS-SecureConversation • WS-Trust • WS-Federation • WS-Policy – descrição e comunicação das políticas de utilização de WS • WS-SecurityPolicy • WS-PolicyAssertions • WS-PolicyAttachment
Novas especificações (2) • WS-Addressing – Virtualização dos endpoints para cada serviço • WS-Addressing • WS-Eventing • Attachments - Message Transmission Optimization Mechanism • MTOM
Novas especificações (3) • WS-Coordination • coordenação das acções de sistemas distribuídos. Por exemplo o acordo no resultado de uma transacção em vários sistemas • WS-AtomicTransaction WS-BusinessActivity • tipos de coordenação: Atomic Transaction (AT) and Business Activity (BA). • WS-ReliableMessaging • Garantia de entrega, uma e uma só vez • BPEL4WS • gestão de processos e protocolos de interacção (BPM)
WS-* Workshop Process Processo de desenvolvimento de novas especificações http://msdn.microsoft.com/webservices/community/workshops/
WS Architecture EvolutionSecure, Reliable, Transacted July 2003 WS-Federation March 2003 WS-ReliableMessaging WS-Addressing RM Roadmap September 2003 WS-AtomicTransaction WS-Coordination SRT WS Whitepaper April 2002 WS-Security and Security Roadmap December 2002 WS-Policy WS-Trust WS-SecureConversation UDDI SOAP WS-I August 2002WS-TransactionWS-Coordination WSDL 2000
Web Services Specifications Process Specification Published Feedback and Interop Workshops Revise spec Standards Org WS-I Participation
WS-Security demonstrou sucesso do processo Specification Published Customer and Industry FeedbackGathered Publish Addendum,Deliver Dev Product OASIS Standardization WS-IInteroperability Profile April 2002 April - August 2002 August 2002 September 2002 April 2003 ThreePartners Over 30 Partners Over 100 Partners
Interoperability Events& Workshops Nov 2003 WS-Trust WS-SecureConversation (workshop) September 2003 Bill Gates (Microsoft)Steve Mills (IBM) TBD 2004 WS-Federation (workshop) SOAPBuilders 2002 December 2002CDBi - EMEA October 2003 WS-ReliableMessaging (workshop) July 2003Catalyst(Burton conference) September 2003 OASISWS-Security August 2002XML Web Services One (East)
TBD 2004 WS-Transaction Feedback Workshops July 2003 WS-ReliableMessaging TBD 2004 WS-Policy February 2003 WS-Policy and WS-Trust November 2003 WS-Federation 2002 March 2003 WS-Policy and WS-Trust
WS-* Specifications Timeline http://msdn.microsoft.com/webservices/understanding/specs
Boas Práticas WS-I.ORG
170+ fabricantes software envolvidos • Interoperabilidade entre plataformas, aplicações e linguagens • Maior evidência de que a indústria está alinhada com os web services www.ws-i.org
Framework (Microsoft) ASP.NET Web Services Web Service Enhancements Indigo
Web Service Enhancements 2.0Lista de funcionalidades • Modelo programação orientado a Mensagens • Suporte para variados hosts • WS-Addressing • WS-Policy • WS-Security • WS-SecurityPolicy • WS-SecureConversation • WS-Trust • Download, Documentação e Anúncios:http://msdn.microsoft.com/webservices/
sumário Service-Orientation Desacoplados Bem limitados/Autónomos Partilhar apenas Contratos/Politica Composição de protocolos WS-* Processo Ágil de desenvolvimento de novas specs Interoperabilidade aplicando as recomendações do WS-I.ORG
Referências • Microsoft • MSDN Portugal • http://www.microsoft.com/portugal/msdn/ • Microsoft Patterns & Practices • http://msdn.microsoft.com/practices/ • WS-* specs • http://msdn.microsoft.com/webservices/understanding/specs/ • Weblogs • Don Box (Microsoft) • http://www.gotdotnet.com/team/dbox/ • Clemens Vasters (Newtelligence AG) • http://staff.newtelligence.net/clemensv/ • LooselyCoupled.com • http://www.looselycoupled.com/blog/ • Canoas’blog (o meu !) • http://canoas.com/blog/
Obrigado joseas@microsoft.com http://canoas.com/blog/ © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.