entendendo microsoft application server: windows server appfabric, wf, wcf, windows azure services...

34
Entendendo Microsoft Application Server: AppFabric, WF, WCF, Windows Azure Service Bus e mais… Evilázaro Alves CTO – Chief Technology Officer BR Soluções Integradas @evilazaro

Upload: evilazaro-alves

Post on 06-May-2015

1.454 views

Category:

Technology


0 download

DESCRIPTION

Application Server e Middleware Microsoft

TRANSCRIPT

Page 1: Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, Windows Azure Services Bus e mais

Entendendo Microsoft Application Server: AppFabric, WF, WCF, Windows Azure Service Bus e mais…Evilázaro AlvesCTO – Chief Technology OfficerBR Soluções Integradas@evilazaro

Page 2: Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, Windows Azure Services Bus e mais

Service Bus for Windows Server

Entendendo o Problema

AppFabric Hosting Services

AppFabric Caching ServicesO que é o Windows Server

AppFabric

AppFabric Caching Services Demo

Agenda

Page 3: Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, Windows Azure Services Bus e mais

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

Page 4: Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, Windows Azure Services Bus e mais

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

Page 5: Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, Windows Azure Services Bus e mais

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

Page 6: Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, Windows Azure Services Bus e mais

AppFabric Caching Services

Page 7: Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, Windows Azure Services Bus e mais

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

Page 8: Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, Windows Azure Services Bus e mais

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

Page 9: Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, Windows Azure Services Bus e mais

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

Page 10: Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, Windows Azure Services Bus e mais

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

Page 11: Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, Windows Azure Services Bus e mais

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)

Page 12: Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, Windows Azure Services Bus e mais

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

Page 13: Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, Windows Azure Services Bus e mais

Windows Server AppFabric Caching ServicesDEMO

Page 14: Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, Windows Azure Services Bus e mais

AppFabric Hosting Services

Page 15: Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, Windows Azure Services Bus e mais

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

Page 16: Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, Windows Azure Services Bus e mais

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

Page 17: Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, Windows Azure Services Bus e mais

Other Activities

Base Activity Library

Workflow

Activities

Windows Workflow Foundation

WF Runtime

Visual Studio

WF Workflow Designer

Page 18: Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, Windows Azure Services Bus e mais

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.

Page 19: Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, Windows Azure Services Bus e mais

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

Page 20: Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, Windows Azure Services Bus e mais

Workflow Service

• Um serviço WCF, cuja lógica é implementada como Workflow é chamado um Workflow Service

WF Runtime

WCF

Client

Page 21: Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, Windows Azure Services Bus e mais

IIS Worker Process

WCF Service

Workflow Service

WF

Client

AppFabric Hosting Services

AppFabric Hosting Services

IIS Manager

WCF

Page 22: Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, Windows Azure Services Bus e mais

Client

PersistenceStore

Monitoring Database

Hosting a Workflow Service

IIS Manager

Workflow Service

WF

WCF

IIS Worker Process

AppFabric Extensions

Page 23: Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, Windows Azure Services Bus e mais

Windows Server AppFabric Hosting ServicesDEMO

Page 24: Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, Windows Azure Services Bus e mais

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

Page 25: Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, Windows Azure Services Bus e mais

AppFabric Hosting Services e BizTalk ServerCenário

ERP Application

AppFabric Hosting Services

Workflow Service

Client

BizTalkServer

Adapters

Orchestration

Page 26: Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, Windows Azure Services Bus e mais

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!

Page 27: Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, Windows Azure Services Bus e mais

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

Page 28: Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, Windows Azure Services Bus e mais

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

Page 29: Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, Windows Azure Services Bus e mais

Criando aplicações compostasCenário

AppFabric Hosting Services

Client

CRM Application

Purchasing Application

Business Partner

ServiceBus

BizTalk Server

ERPApplication

Workflow Service

Page 30: Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, Windows Azure Services Bus e mais

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

Page 31: Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, Windows Azure Services Bus e mais

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

Page 32: Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, Windows Azure Services Bus e mais

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

Page 33: Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, Windows Azure Services Bus e mais

Dúvidas?!

Evilázaro [email protected]@evilazaro

Page 34: Entendendo Microsoft Application Server: Windows Server AppFabric, WF, WCF, Windows Azure Services Bus e mais

OBRIGADO!

Evilázaro Alves