Upload
evilazaro-alves
View
1.453
Download
0
Embed Size (px)
DESCRIPTION
Application Server e Middleware Microsoft
Citation preview
Entendendo Microsoft Application Server: AppFabric, WF, WCF, Windows Azure Service Bus e mais…Evilázaro AlvesCTO – Chief Technology OfficerBR Soluções Integradas@evilazaro
Service Bus for Windows Server
Entendendo o Problema
AppFabric Hosting Services
AppFabric Caching ServicesO que é o Windows Server
AppFabric
AppFabric Caching Services Demo
Agenda
Evilázaro AlvesProfissional
Chief Technology Officer BR Soluções Integradas
Títulos e CertificaçõesMicrosoft Most Valuable ProfessionalMicrosoft Business Management Solutions SpecialistMicrosoft Technology SpecialistSOACP – SOA Certified Professional – SOA School
Comunidade MicrosoftFundador WCF Brasil – http://www.wcfbrasil.ning.comBlog – http://www.evilazaro.com.br
ContatosE-mail: [email protected]: @evilazaro
Qual o problema?• Quem deveria criar infraestrutura de aplicativos?
• Soluções Possíveis:• Application developers• Software vendors, e.g., Microsoft
Windows Server AppFabric faz isto
O que é o Windows Server AppFabric?• Tecnologia de Infraestrutura de
aplicações baseada em duas partes principais:• AppFabric Caching Services• Fornece features de cache distribuído
• AppFabric Hosting Services• Fornece serviços de host e gerenciamento para aplicações
construídas utilizando Windows Communication Foundation (WCF) 4
• Principalmente aplicações WCF construídas utilizando Windows Workflow Foundation (WF)
• Uma aplicação pode usar estas duas features separadamente ou em conjunto
AppFabric Caching Services
Qual o Problema?
• Como posso aumentar a performance e a escalabilidade de aplicações que acessam dados?
• Soluções Possíveis:• Comprar um servidor de banco de dados Maior• Dados de cache que são frequentemente acessados no mesmo
servidor que a lógica do aplicativo• Armazenar dados em cache em um ou mais computadores
compartilhados
AppFabric Caching Services faz isto
AppFabric Caching
Cache Cluster
AppFabric CachingServices
Cache Server
Cached Data
Cache Client
Local Cache
Cached Data
AppFabric CachingServices
Cache Server
Cached Data
AppFabric CachingServices
Cache Server
Cached Data
Como dados ficam dentro e fora do Cache• Todos os dados no cache são
explicitamente colocados lá por um cache client• AppFabric Caching Services fornece uma API• Seu código pode ser escrito para usar o cache
• O objeto ASP.NET Session pode armazenar seu estado no AppFabric Caching Services através de uma opção de configuração• Seu código pode usar o cache sem alterações
• O cache pode excluir dados:• Depois de um timeout configurado
Web Server
ASP.NET Pages
Web Server
Usando AppFabric Caching Services com ASP.NETCenário
Web Server
ASP.NET Pages
1) Fornece dados que são armazenados no
objeto Session
2) Armazena dados do Objeto de Sessão
no cache
3) Faz o pedido que se baseia em dados armazenadoso objeto de sessão
Application Database
AppFabric Caching Services
Cache Cluster
4) Recupera dados do objeto de sessão
do cache
ASP.NET Pages
Que tipos de dados podem ser armazenados em cache?• Dados que são acessados/alterados por
um único cliente• Informações em um objeto de sessão do ASP.NET
• Dados imutáveis que são acessados por vários clientes• Informações de um catálogo de produtos de um e-commerce
• Dados que são acessados/alterados por vários clientes• AppFabric Caching Services fornece controle de concorrência
otimista e pessimista (lock-based)
Usando AppFabric Caching Services para Alta DisponibilidadeCenário
AppFabric Caching Services
Cache Server
Cached Data
AppFabric Caching Services
Cache Server
Cached Data
Cache Client
1) Cache server holding primary copy of data item
X fails or is shut down
Cache Cluster
2) Access data item X
3) Return value of data item X from secondary
copy
Primary copies
X
Secondary copies
X
Windows Server AppFabric Caching ServicesDEMO
AppFabric Hosting Services
Qual o Problema?
• Onde devo hospedar meus serviços WCF?• Especialmente aqueles construidos usando WF?• E como eu posso Gerencia-los?
• Possiveis Soluções:• Construir meu próprio processo de host• Usar a infraestrutura de hospedagem e gerenciamento do IIS / WAS
AppFabric Hosting Services melhora isto
WCF
Service
HTTP, SOAP, Outros
Windows Communication Foundation• WCF fornece uma base comum para a
construção e consumo de serviços• RESTful, SOAP, e outros
Visual Studio
Endpoint
Client
Other Activities
Base Activity Library
Workflow
Activities
Windows Workflow Foundation
WF Runtime
Visual Studio
WF Workflow Designer
Por que usar WF?
• Permite criar aplicações escaláveis• Com gerenciamento de estado interno (workflows de longa
duração)
• Permite a criação da lógica da aplicação de forma unificada
• Fornece controle interno de execução da aplicação.
Por que usar WF?
• Torna a programação paralela mais fácil• Baseado nas bibliotecas de atividades Parallel
• Ajuda a criar lógica reutilizável• Utilizando custom activities
• Permite definir a lógica graficamente• Com o Workflow Designer
Workflow Service
• Um serviço WCF, cuja lógica é implementada como Workflow é chamado um Workflow Service
WF Runtime
WCF
Client
IIS Worker Process
WCF Service
Workflow Service
WF
Client
AppFabric Hosting Services
AppFabric Hosting Services
IIS Manager
WCF
Client
PersistenceStore
Monitoring Database
Hosting a Workflow Service
IIS Manager
Workflow Service
WF
WCF
IIS Worker Process
AppFabric Extensions
Windows Server AppFabric Hosting ServicesDEMO
Web Server
ASP.NET Pages
Web Server
Escalando um Workflow Service com AppFabric Hosting ServicesCenário
Web Server
Persistence
Store
AppFabric HostingServices
AppFabric HostingServices
1) Make first request to application
2) Invoke workflow
service3) Persist workflow state after handling
request
6) Load workflow state and handle request
4) Make second request to application
5) Invoke workflow
service
ASP.NET Pages
ASP.NET Pages
AppFabric Hosting Services e BizTalk ServerCenário
ERP Application
AppFabric Hosting Services
Workflow Service
Client
BizTalkServer
Adapters
Orchestration
AppFabric Hosting Services ou BizTalk Server?Faça sua escolha
• AppFabric Hosting Services e BizTalk Server tem algumas similaridades técnicas como:• Ambos usam workflow/orquestração• Ambos podem usar comunicação baseada em WCF
• Decidir qual usar geralmente é fácil:• AppFabric Hosting Services é para aplicações• BizTalk Server é para integração
• Construir o seu próprio servidor de integração, utilizando serviços de hospedagem do AppFabric provavelmente não vai fazer sentido. Alto custo!
AppFabric Hosting Services e Service BusCenário
Organization Y
Client
3) Discover Service Bus endpoint
4) Invoke operation on Service Bus endpoint
Organization X
AppFabric Hosting Services
Service
WCF
1) Register service endpoint
Service Bus
2) Expose Service Bus endpoint
5) Invoke operation on service endpoint
On Premises e Cloud
• Windows Azure Service Bus contém:• Service Bus• Access Control• Caching Services
• Windows Server AppFabric contém:• Caching Services• Hosting Services
Criando aplicações compostasCenário
AppFabric Hosting Services
Client
CRM Application
Purchasing Application
Business Partner
ServiceBus
BizTalk Server
ERPApplication
Workflow Service
Usando Hosting e Caching juntosScenario
WebServer
AppFabric HostingServices
Service requests spread across middle-
tier servers
AppFabric CachingServices
Cache Cluster
Cache requests spread across cache servers
User requests spread across Web servers
Conclusões
• Windows Server AppFabric fornece serviços de suporte/infra-estrutura para aplicações• Serviços de armazenamento em cache para aplicativos ASP.NET e
outros• Hospedagem de serviços WCF, especialmente Workflow Services
• O objetivo é permitir que desenvolvedores de aplicativos passem mais tempo construindo a lógica do aplicativo• E menos tempo construíndo infra-estrutura
Links1. Website – www.Microsoft.com/WindowsAzure/AppFabric 2. MSDN Developer Center –
http://msdn.microsoft.com/en-us/azure/netservices.aspx 3. Blog – http://www.evilazaro.com.br4. Twitter – http://twitter.com/azure_appfabric 5. Website – http://www.microsoft.com/biztalk/6. Website – http://msdn.microsoft.com/biztalk/7. AppFabric on Microsoft.com – http://www.microsoft.com/appfabric8. Developer Center – http://msdn.microsoft.com/appfabric
OBRIGADO!
Evilázaro Alves