Novas Arquitecturas baseadas
em Web Services
XATA 2004 – Fev 2004
José António Silva
Architect Evangelist
[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
XML Web Services
HTML
IP
e-mail
Pessoas com
Pessoas
browser
Pessoas com
Informação
composição de
serviços
Aplicações com
Aplicações
Exemplo: Aplicação 3 camadas
boa arquitectura
DNA
Aplicação Central Compras
Data Layer
Business
Layer
Presentation
Layer
Interface da aplicação
dá acesso aos dados
aplicacionais
Aplicação Contabilidade
Processo de negócio
atravessa várias aplicações
Aplicação Central Compras
Aplicação RH
O utilizador é o elo
de ligação dos
processos, o que é
lento, caro e
propício a erros
Service Oriented Architecture
troca de mensagens
Interface desacoplado
da lógica de
processamento dos
dados
boa arquitectura
3-tier service
Serviço Central Compras
Data Layer
Business
Layer
Dados e Lógica Negócio
encapsulados por uma
Web Service Façade
Service
Façade
UI
Presentation
Layer
Web Service Standards
permitem ligações
cross-platform
Serviços Contabilidade
Automação de Processos de Negócio
integração com diferentes
plataformas
Serviço Central Compras
UI Processo Compras
Business
Process
Automation
Serviço RH
Múltiplos serviços
combinados num único
processo de negócio
gerações
Paradigma
Período
Modelo Programação
Motivação
Mainframe
60s–80s
Procedural
(COBOL)
Automated business
Cliente/Servidor
80s-90s
Database (SQL)
fat-client (VB)
Desktop power
n-Tier
90s-00s
Object-Oriented
(Java, COM, ASP)
Internet/Browser
SOA
2000s
Service-oriented
(SOAP, WSDL, UDDI)
Business agility
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
Components
Functions
Private
Data
Tightly Coupled
Programming
Language
Agreements
Database
Database
Object Model
Schema
Operating
System
Operating
System
Application
Server
Loosely Coupled
Programming
Language
Database
Programming
Language
Database
Agreements
Object Model
Object Model
Operating
System
Operating
System
Schema
Application
Server
Application
Server
Basic Standards
SOAP Web Service
SOAP: Expansível

Informação extra


Opcional


soap:Header vs
soap:Body
soap:mustUnderstand
Qualificável

soap:role
(soap:actor in SOAP 1.1)
Exemplo: Composição
Addressing
Security
Reliability
<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>
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)?
Web Services Security Roadmap
Hoje
SecureConversation
Federation
Authorization
Policy
Trust
Privacy
Security
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 Specification
http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wss
Novos Protocolos
Web Services Protocols (WS-*)

Connected
Applications
Management
Business
Process
…
Security
Reliability
Transactions
Metadata



Messaging

XML
HTTP
TCP
SMTP
…

Messaging Specifications
SOAP
WS-Addressing
MTOM (Attachments)
WS-Eventing
Security Specifications
WS-Security
WS-SecureConversation
WS-Trust
WS-Federation
WS-Federation Active Requestor Profile
WS-Federation Passive Requestor Profile
Web Services Security Kerberos Binding
Reliable Messaging Specifications
WS-ReliableMessaging
Transaction Specifications
WS-Coordination
WS-AtomicTransaction
WS-BusinessActivity
Metadata Specifications
WSDL
UDDI
WS-Policy
WS-PolicyAssertions
WS-PolicyAttachment
WS-SecurityPolicy
XML Specifications
XML
Namespaces in XML
XML Information Set
XInclude
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


WS-AtomicTransaction WS-BusinessActivity


tipos de coordenação: Atomic Transaction (AT) and Business Activity (BA).
WS-ReliableMessaging


coordenação das acções de sistemas distribuídos. Por exemplo o acordo
no resultado de uma transacção em vários sistemas
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 Evolution
Secure, Reliable, Transacted
July 2003
WS-Federation
March 2003
WS-ReliableMessaging
WS-Addressing
RM Roadmap
April 2002
WS-Security and
Security Roadmap
UDDI
SOAP
2000
WSDL
WS-I
September 2003
WS-AtomicTransaction
WS-Coordination
SRT WS Whitepaper
December 2002
WS-Policy
WS-Trust
WS-SecureConversation
August 2002
WS-Transaction
WS-Coordination
Web Services Specifications Process
Specification
Published
Feedback and
Interop
Workshops
Revise spec
Participation
Standards Org
WS-I
WS-Security demonstrou sucesso do processo
Specification
Published
Customer and
Industry
Feedback
Gathered
Publish
Addendum,
Deliver Dev
Product
April
2002
April - August
2002
August
2002
Three
Partners
OASIS
Standardization
WS-I
Interoperability
Profile
September
2002
April
2003
Over 30
Partners
Over 100
Partners
Interoperability Events
& Workshops
Nov 2003
WS-Trust
WS-SecureConversation
(workshop)
September 2003
Bill Gates (Microsoft)
Steve Mills (IBM)
SOAP December 2002
Builders CDBi - EMEA
TBD 2004
WS-Federation
(workshop)
October 2003
WS-ReliableMessaging
(workshop)
2002
July 2003
September 2003
Catalyst
OASIS
(Burton conference)
WS-Security
August 2002
XML Web Services
One (East)
TBD 2004
WS-Transaction
Feedback Workshops
July 2003
WS-ReliableMessaging
February 2003
WS-Policy and
WS-Trust
2002
TBD 2004
WS-Policy
November 2003
WS-Federation
March 2003
WS-Policy and
WS-Trust
WS-* Specifications Timeline
Routing
Referral
Oct
2001
Security
Nov
2001
WSInspection
April
2002
Trust
Federation
Coordination
Security
Policy
Active
Profile
Transaction
Secure
Conversation
June August
2002 2002
Attachments
Security
Addendum
Security Profile
For Tokens
Security
Roadmap
December
2002
Infoset Addendum to
SOAP Messages w/
Attachments (MTOM)
March April
2003 2003
Passive
Profile
June
2003
Business
Activity
Sept
2003
July
2003
Policy
Reliable
Messaging
Policy
v1.1
Coordination
Policy
Attachment
Addressing
Policy
Attachment v1.1
Atomic
Transactions
Policy
Assertions v1.1
Policy
Assertions
Reliable
Message
Roadmap
Federation of
Identities
in a WS World
http://msdn.microsoft.com/webservices/understanding/specs
Boas Práticas
WS-I.ORG
www.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
Um slide do Patrocinador 
Framework (Microsoft)
ASP.NET Web Services
Web Service Enhancements
Indigo
Web Service Enhancements 2.0
Lista 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 
[email protected]
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.
Download

Novas Arquitecturas baseadas em Web Services