Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect...

43
baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist [email protected] http://canoas.com/blog/

Transcript of Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect...

Page 1: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

Novas Arquitecturas baseadas em Web ServicesXATA 2004 – Fev 2004

José António SilvaArchitect [email protected] http://canoas.com/blog/

Page 2: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

vamos falar sobre…

Service-Orientation

XML, SOAP, WSDL, UDDI

Novos Protocolos WS-*

WS-* Workshop Process

Web Services Interoperability WS-I.ORG

Page 3: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

Service-Orientation

Page 4: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

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

Page 5: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

Protocolos na NET

IP

e-mail

Pessoas comPessoas

HTML

browser

Pessoas comInformação

XML Web Services

composição de serviços

Aplicações comAplicações

Page 6: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

Exemplo: Aplicação 3 camadas

Data Layer Presentation Layer

BusinessLayer

Aplicação Central Compras

boa arquitecturaDNA

Interface da aplicação dá acesso aos dados aplicacionais

Page 7: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

Aplicação RH

Aplicação Central Compras

Aplicação ContabilidadeO utilizador é o

elo de ligação dos processos, o que é lento, caro e propício a erros

Processo de negócio atravessa várias

aplicações

Page 8: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

Service Oriented Architecture

Data Layer Presentation Layer

BusinessLayer

Serviço Central Compras

ServiceFaçade

UI

boa arquitectura 3-tier service

troca de mensagens

Dados e Lógica Negócio

encapsulados por uma Web Service

Façade

Interface desacoplado da

lógica de processamento dos

dados

Web Service Standards permitem ligaçõescross-platform

Page 9: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

Automação de Processos de Negócio

Serviço Central Compras UI Processo Compras

Serviço RH

Serviços Contabilidade

BusinessProcess

Automation

Múltiplos serviços combinados num único processo de negócio

integração com diferentes plataformas

Page 10: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

geraçõesParadigma Período Modelo Programação Motivação

Mainframe 60s–80sProcedural(COBOL)

Automated business

Cliente/Servidor 80s-90sDatabase (SQL) fat-client (VB)

Desktop power

n-Tier 90s-00sObject-Oriented(Java, COM, ASP)

Internet/Browser

SOA 2000sService-oriented(SOAP, WSDL, UDDI)

Business agility

Page 11: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

Serviços, Componentes, Objectos, … 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

Functions

Components

Service

PrivateData

Page 12: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

Tightly Coupled

Schema

Agreements

ProgrammingLanguage

Object Model

ApplicationServer

Database

Database

OperatingSystem

OperatingSystem

Page 13: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

Schema

Agreements

ProgrammingLanguage

Object Model

ApplicationServer

Database

OperatingSystem

Database

OperatingSystem

ProgrammingLanguage

Object Model

ApplicationServer

Loosely Coupled

Page 14: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

Basic Standards

Page 15: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

SOAP Web Service

Page 16: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

SOAP: Expansível

Informação extra soap:Header vs

soap:Body

Opcional soap:mustUnderstand

Qualificável soap:role

(soap:actor in SOAP 1.1)

Page 17: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

Exemplo: Composição

AddressingAddressing

<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>

SecuritySecurity

ReliabilityReliability

Page 18: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

Web Services Basic Standards Stack

WSDL (API description)WSDL (API description)

SOAP (messaging)SOAP (messaging)

XML (XML (lingua francalingua franca))

UDDI (discovery)UDDI (discovery)

HTTP (transport)HTTP (transport)

Page 19: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

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)?

Page 20: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

Security in a Web Services World – IBM/MSFT White Paperhttp://msdn.microsoft.com/library/en-us/dnwssecur/html/securitywhitepaper.asp

Abril 2002

WS-Security Specification http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wss

SecuritySecuritySecuritySecurity

PrivacyPrivacyPrivacyPrivacyTrustTrustTrustTrustPolicyPolicyPolicyPolicy

AuthorizationAuthorizationAuthorizationAuthorizationFederationFederationFederationFederationSecureConversationSecureConversationSecureConversationSecureConversation

SOAP FoundationSOAP FoundationSOAP FoundationSOAP Foundation

HojeHoje

Web Services Security RoadmapWeb Services Security Roadmap

Page 21: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

Novos Protocolos

Page 22: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

ConnectedConnected Applications Applications ManagementManagement BusinessBusiness

ProcessProcess ……

SecuritySecurity ReliabilityReliability TransactionsTransactions

MessagingMessaging

XMLXMLM

etad

ata

Met

adat

a

HTTPHTTP TCPTCP SMTPSMTP ……

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 Specifications

WS-Coordination WS-AtomicTransaction WS-BusinessActivity

   Metadata Specifications

WSDLUDDI WS-Policy WS-PolicyAssertions WS-PolicyAttachment WS-SecurityPolicy

   XML Specifications

XML Namespaces in XMLXML Information Set XInclude   

Web Services Protocols (WS-*)

Page 23: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

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

Page 24: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

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

Page 25: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

Novas especificações (2)

WS-Addressing – Virtualização dos endpoints para cada serviço WS-Addressing WS-Eventing

Attachments - Message Transmission Optimization Mechanism MTOM

Page 26: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

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)

Page 27: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

WS-* Workshop Process

Processo de desenvolvimento de novas especificaçõeshttp://msdn.microsoft.com/webservices/community/workshops/

Page 28: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

WS Architecture EvolutionSecure, Reliable, Transacted

SOAPUDDI

WSDL

April 2002WS-Security and Security

Roadmap

August 2002WS-TransactionWS-Coordination

WS-I

2000

December 2002WS-PolicyWS-Trust

WS-SecureConversation

July 2003WS-Federation

March 2003WS-ReliableMessaging

WS-AddressingRM Roadmap

September 2003WS-

AtomicTransactionWS-Coordination

SRT WS Whitepaper

Page 29: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

Web Services Specifications Process

Specification Specification PublishedPublished

Feedback and Feedback and Interop Interop

WorkshopsWorkshops

Revise specRevise spec Standards OrgStandards Org WS-IWS-I

ParticipationParticipation

Page 30: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

WS-Security demonstrou sucesso do processo

Specification Specification PublishedPublished

Customer and Customer and Industry Industry

FeedbackFeedbackGatheredGathered

Publish Publish Addendum,Addendum,Deliver Dev Deliver Dev

ProductProduct

OASIS OASIS StandardizationStandardization

April April 20022002

April - August April - August

20022002

August August 20022002

September September 20022002

WS-IWS-IInteroperability Interoperability

ProfileProfile

April April 20032003

ThreeThreePartnersPartners

Over 30 Over 30 PartnersPartners

Over 100 Over 100 PartnersPartners

Page 31: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

Interoperability Events& Workshops

August 2002XML Web

Services One (East)

September 2003 Bill Gates (Microsoft)

Steve Mills (IBM)

October 2003WS-

ReliableMessaging(workshop)

Nov 2003WS-Trust

WS-SecureConversation

(workshop)

September 2003 OASISWS-Security

December 2002

CDBi - EMEA

July 2003Catalyst(Burton

conference)

SOAPBuilders

2002

TBD 2004WS-Federation

(workshop)

Page 32: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

Feedback Workshops

March 2003

WS-Policy and

WS-Trust

2002

TBD 2004WS-

Transaction

July 2003WS-

ReliableMessaging

February 2003

WS-Policy and WS-Trust November

2003WS-Federation

TBD 2004WS-Policy

Page 33: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com
Page 34: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

WS-* Specifications Timeline

Oct2001

December2002

Routing

SecurityAddendum

Security Transaction

PolicyAssertions

Coordination

Policy

PolicyAttachment

Referral

Trust

SecureConversation

SecurityPolicy

August2002

WS-Inspection

Security ProfileFor Tokens

Attachments

Nov2001

April2002

June2002

March2003

SecurityRoadmap

ReliableMessaging

Addressing

ReliableMessageRoadmap

June2003

PolicyAssertions v1.1

Policyv1.1

PolicyAttachment v1.1

Infoset Addendum toSOAP Messages w/

Attachments (MTOM)

April2003

July2003

Federation

Federation ofIdentities

in a WS World

PassiveProfile

ActiveProfile

AtomicTransactions

Coordination

Sept2003

BusinessActivity

http://msdn.microsoft.com/webservices/understanding/specshttp://msdn.microsoft.com/webservices/understanding/specs

Page 35: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

Boas Práticas

WS-I.ORG

Page 36: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

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

Page 37: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com
Page 38: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

Um slide do Patrocinador

Page 39: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

Framework (Microsoft)

ASP.NET Web Services

Web Service Enhancements

Indigo

Page 40: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

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/

Page 41: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

sumário

Service-OrientationDesacopladosBem limitados/AutónomosPartilhar apenas Contratos/Politica

Composição de protocolos WS-*

Processo Ágil de desenvolvimento de novas specs

Interoperabilidade aplicando as recomendações do WS-I.ORG

Page 42: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

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/

Page 43: Novas Arquitecturas baseadas em Web Services XATA 2004 – Fev 2004 José António Silva Architect Evangelist joseas@microsoft.com

Obrigado

[email protected]@microsoft.comhttp://canoas.com/blog/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.