novas arquitecturas baseadas em web services xata 2004 – fev 2004 josé antónio silva architect...
TRANSCRIPT
Novas Arquitecturas baseadas em Web ServicesXATA 2004 – Fev 2004
José António SilvaArchitect [email protected] http://canoas.com/blog/
vamos falar sobre…
Service-Orientation
XML, SOAP, WSDL, UDDI
Novos Protocolos WS-*
WS-* Workshop Process
Web Services Interoperability WS-I.ORG
Service-Orientation
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
Protocolos na NET
IP
Pessoas comPessoas
HTML
browser
Pessoas comInformação
XML Web Services
composição de serviços
Aplicações comAplicações
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
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
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
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
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
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
Tightly Coupled
Schema
Agreements
ProgrammingLanguage
Object Model
ApplicationServer
Database
Database
OperatingSystem
OperatingSystem
Schema
Agreements
ProgrammingLanguage
Object Model
ApplicationServer
Database
OperatingSystem
Database
OperatingSystem
ProgrammingLanguage
Object Model
ApplicationServer
Loosely Coupled
Basic Standards
SOAP Web Service
SOAP: Expansível
Informação extra soap:Header vs
soap:Body
Opcional soap:mustUnderstand
Qualificável soap:role
(soap:actor in SOAP 1.1)
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
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)
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)?
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
Novos Protocolos
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-*)
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çõeshttp://msdn.microsoft.com/webservices/community/workshops/
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
Web Services Specifications Process
Specification Specification PublishedPublished
Feedback and Feedback and Interop Interop
WorkshopsWorkshops
Revise specRevise spec Standards OrgStandards Org WS-IWS-I
ParticipationParticipation
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
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)
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
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
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
Um slide do Patrocinador
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-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
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
[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.