Escolar Documentos
Profissional Documentos
Cultura Documentos
em Web Services
XATA 2004 – Fev 2004
Service-Orientation
browser composição de
e-mail serviços
Pessoas com
Pessoas
Pessoas com
Informação Aplicações com
Aplicações
Exemplo: Aplicação 3 camadas
boa arquitectura
DNA
Interface da aplicação
dá acesso aos dados
aplicacionais
O utilizador é o elo
Aplicação Contabilidade de ligação dos
processos, o que é
lento, caro e
propício a erros
Processo de negócio
atravessa várias aplicações
Aplicação RH
Service Oriented Architecture
Interface desacoplado
da lógica de
processamento dos
dados
troca de mensagens
boa arquitectura
3-tier service
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
Procedural
Mainframe 60s–80s Automated business
(COBOL)
Database (SQL)
Cliente/Servidor 80s-90s Desktop power
fat-client (VB)
Object-Oriented
n-Tier 90s-00s Internet/Browser
(Java, COM, ASP)
Service-oriented
SOA 2000s Business agility
(SOAP, WSDL, UDDI)
Serviços, Componentes, Objectos, …
Evolução natural Service
Function Component Service
Serviços contem mensagens,
componentes e dados
Dados privados e completamente Private
encapsulados pelo serviço Data
Mensagens são a única forma de
entrada e saída num serviço
Components
Functions
Tightly Coupled
Programming
Language
Database
Agreements
Database
Object Model
Schema
Operating Operating
System System
Application
Server
Loosely Coupled
Programming Programming
Language Language
Operating
Operating Schema
System
System
Application
Application Server
Server
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
<S:Envelope … >
<S:Header>
<wsa:ReplyTo>
<wsa:Address>http://business456.com/User12</wsa:Address>
Addressing </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"
Security EncodingType=“wssec:Base64Binary">
dWJzY3JpYmVyLVBlc…..eFw0wMTEwMTAwMD
</wssec:BinarySecurityToken>
</wssec:Security>
<wsrm:Sequence>zzz
Reliability <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)
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 Security
SOAP Foundation
WS-Security Specification
http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wss
Novos Protocolos
Web Services Protocols (WS-*)
Messaging Specifications
SOAP
WS-Addressing
Connected Business MTOM (Attachments)
Applications Management … WS-Eventing
Process
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
Metadata
Security Reliability Transactions Reliable Messaging Specifications
WS-ReliableMessaging
Transaction Specifications
WS-Coordination
WS-AtomicTransaction
Messaging WS-BusinessActivity
Metadata Specifications
WSDL
XML UDDI
WS-Policy
WS-PolicyAssertions
WS-PolicyAttachment
WS-SecurityPolicy
HTTP TCP SMTP …
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-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
Participation
WS-Security demonstrou sucesso do processo
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
Security Active
Routing Coordination Policy Profile
Infoset Addendum to
Secure SOAP Messages w/ Passive Business
Referral Security Transaction Conversation Attachments (MTOM) Profile Activity
Oct Nov April June August December March April June July Sept
2001 2001 2002 2002 2002 2002 2003 2003 2003 2003 2003
WS- Attachments Policy Reliable Policy Coordination
Inspection Messaging v1.1
Security Profile
For Tokens Policy Policy
Assertions Assertions v1.1
http://msdn.microsoft.com/webservices/understanding/specs
Boas Práticas
WS-I.ORG
www.ws-i.org
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
Interoperabilidade aplicando as
recomendações do WS-I.ORG
Referências
Microsoft
MSDN Portugal
http://www.microsoft.com/portugal/msdn/
WS-* specs
http://msdn.microsoft.com/webservices/understanding/specs/
Weblogs
Don Box (Microsoft)
http://www.gotdotnet.com/team/dbox/
LooselyCoupled.com
http://www.looselycoupled.com/blog/
joseas@microsoft.com
http://canoas.com/blog/