Upload
bruno-grande
View
215
Download
0
Embed Size (px)
Citation preview
SETEMBRO, 2010 | SÃO PAULO
Rafael Godinhohttp://blogs.msdn.com/rafaelgodinhoEspecialista em DesenvolvimentoMicrosoft
Plataforma Azure AppFabric - utilizando o Service Bus e o Access Control Services
CÓDIGO DA SESSÃO: COS201
Desafio: HelloCloudMinha primeira aplicação na nuvem
• Construa e publique sua aplicação no Windows Azure• Mostre sua aplicação no estande Windows Azure• Preencha o formulário• Concorra a 10 assinaturas MSDN Premium
Visite o estande de Windows Azure e saiba
todos os detalhes deste Desafio!
5
Agenda
Camada de serviçosServiços no ambiente empresarialWindows Azure AppFabric
Service BusAccess Control Service
Perguntas e respostas
6
Camada de serviços
Fonte: P&P - Application Architecture Guide 2.0
7
Camada de serviços
Fonte: Martin Fowler - Patterns of Enterprise Application Architecture
8
Camada de serviçosDefinição
“A camada de serviço define uma fronteira da aplicação com as operações disponíveis a partir da perspectiva dos clientes. Ela encapsula as regras de negócio, controla as transações e coordena as respostas.”
Fonte: Martin Fowler - Patterns of Enterprise Application Architecture – Tradução livre
9
Serviços com o .NET Framework Windows Communication Foundation - WCF
ABC A B C
A B C
Address Binding Contract
(Onde) (Como) (O quê)
Cliente Serviço
MensagemBv
Bv
Bv
Bv
10
Serviços nas empresas “Spaghetti”
CRM
HR
E-Commerce
ERP
11
Serviços nas empresas EAI – Enterprise Application Integration
CRM
HR
E-Commerce
ERP
12
Serviços nas empresas ESB – Enterprise Service Bus
CRM
HR
E-Commerce
ERP
13
Serviços entre empresasISB – Internet Service Bus
ISB
14
Windows Azure AppFabric
Estende as tecnologias .NET para a nuvemPadrões abertos e interoperáveis
REST, SOAP, RSS, AtomPubSDK para Java, PHP, Ruby
Aproveitamento de conhecimento
15
AppFabric Portal
20
Service Bus
Principais desafiosFacilidade e segurança no uso de aplicaçõesDesenvolvedor desconhece os consumidores dos serviçosDispositivos e serviços protegidos atrás de firewalls
AbordagemFornecer um “Service Bus” com alta disponibilidade/escalabilidade suportando protocolos abertos
21
Service Bus
Service Bus
Registry
Endpoints
Empresa XAplicação X
(Serviço)
Empresa YAplicação Y
(Cliente)
1. Registrarendpoints
2. Localizar endpoints
3. Acessar aplicação
22
Bindings
WCF Binding Service Bus Binding
BasicHttpBinding BasicHttpRelayBindingWebHttpBinding WebHttpRelayBindingWSHttpBinding WSHttpRelayBindingWS2007HttpBinding WS2007HttpRelayBindingWSHttpContextBinding WSHttpRelayContextBindingWS2007FederationHttpBinding WS2007FederationHttpRelayBindingNetTcpBinding NetTcpRelayBindingNetTcpContextBinding NetTcpRelayContextBindingn/a NetOnewayRelayBindingn/a NetEventRelayBinding
23
Registro do serviço
Mapeamento de URIs para Serviços
[http|sb]://{account}.servicebus.windows.net/{user-defined}
Root
solution.servicebus.windows.
net
accounts
contoso
…
svc
24
Conectividade
Service Bus
Empresa XAplicação X
(Serviço)
Empresa YAplicação Y
(Cliente)
1. Relay
2. Direct Connection
25
Service Bus
26
Cenário
Cozinha
Pedidos
Cozinha
Service Bus
Parceiro 1
...
Parceiro N
27
Publish/Subscribe
Publisher
Service Bus
Subscriber 1
...
Subscriber N
NetEventRelayBinding
28
Publish/Subscribe
29
Cenário
Pizzaria
Service Bus
Fornecedor1
...
Fornecedor N
30
Access ControlPrincipais desafios
Muitas opções (providers, fornecedores, protocolos)Responsabilidade da aplicação
AbordagemCBA (Claim Based Authentication) para RESTLógica fora da aplicação
PadrõesSWT (Simple Web Tokens)WRAP (Web Resource Authorization Protocol)HTTP
CenáriosChave simétricaAmbiente federado
31
Chave simétrica
ClienteACS
Serviço
1. Chave
2. Token SWT
3. Requisição + Token SWT
WRAP
32
Ambiente federado
ClienteACS
Serviço
1. A
uten
ticaç
ão
2. Token SA
ML
5. Requisição + Token SWT
ADFSv2
3. Token SAML
4. Token SWT
WRAP
WS-Federation
Relação de confiança
33
Access Control Service
34
Cenário
Cliente ACS
Pizzaria
1. Chave
2. Token SWT
3. Requisição + Token SWT
WRAP
35
Cenários de integração
Enterprise + EnterpriseAplicação empresarial acessando recursos de empresa parceira
Nuvem + EnterpriseAplicação na nuvem acessando informações na empresa
Banco de dadosServidor de e-mailCRMERP
36
Integração Nuvem + Enterprise
37
Cenário
Service Bus
Site Pizzari
a
Datacenter Pizzaria
Serviço
BD
38
Futuro
https://portal.appfabriclabs.com/Integração com Windows Identity FoundationWindows Live ID, OpenID, Google, Yahoo e FacebookADFSv2OAuth, WS-Trust, WS-Federation
39
Resumo
Camada de serviçosServiços no ambiente empresarial
SpaghettiEAIESBISB
Windows Azure AppFabricService BusAccess Control
Cenário de integração
40
Referências
Windows Azurehttp://www.azure.com/
Windows Azure Platform Training Kit - June Update
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=413E88F8-5966-4A83-B309-53B7B77EDF78&displaylang=en
Windows Azure AppFabric SDK V1.0 - July Update
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=39856a03-1490-4283-908f-c8bf0bfad8a5&displaylang=en
Por favor preencha a avaliação
42
© 2008 Microsoft Corporation. Todos os direitos reservados. Microsoft, Windows, Windows Vista e outros nomes de produtos são ou podem ser marcas registradas e/ou marcas comerciais nos EUA e/ou outros países.Este documento é meramente informativo e representa a visão atual da Microsoft Corporation a partir da data desta apresentação. Como a Microsoft deve atender a condições de mercado em constante alteração, este
documento não deve ser interpretado como um compromisso por parte da Microsoft, e a Microsoft não pode garantir a precisão de qualquer informação fornecida após a data desta apresentação. A MICROSOFT NÃO DÁ QUALQUER GARANTIA, SEJA ELA EXPRESSA, IMPLÍCITA OU ESTATUTÁRIA, REFERENTE ÀS INFORMAÇÕES DESTA APRESENTAÇÃO.