patterns & practices for composing cloud services

Post on 24-Feb-2016

35 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Patterns & Practices for Composing Cloud Services. Haishi Bai Technical Evangelist, Windows Azure 3-526. Agenda. The Starting Point Sprint 1: Relay Sprint 2: Claim-based Identity Sprint 3: Loose-coupling Sprint 4 : Integration Looking ahead. The Starting Point. Server. Client. - PowerPoint PPT Presentation

TRANSCRIPT

Patterns & Practices for Composing Cloud ServicesHaishi BaiTechnical Evangelist, Windows Azure3-526

The Starting PointSprint 1: RelaySprint 2: Claim-based IdentitySprint 3: Loose-couplingSprint 4: IntegrationLooking ahead

Agenda

• Local SQL Server Database (mocked)

• WCF Server• WPF Client• Windows Authentication• MVVM

The Starting PointClient

Views

Proxy

Server

Service

Repositories Public

EntitiesPrivateEntities

DataRecords View

Model

PublicEntitiesTCP

Sprint 1 ChallengesClient

Views

Proxy

Server

Service

Repositories Public

EntitiesPrivateEntities

DataRecords View

Model

PublicEntities

Web Client

API

Proxy

HTML ViewsView Model

PublicEntities

PublicEntities

PublicEntities?

TCP

Integration Strategies• Data

• Shared data source• Import/export• Data sync

• Connectivity• Expose public endpoints• Windows Azure Virtual Network• Windows Azure Service Bus Relay

• Brokered• Middleware• Message-based Integration

Service Bus Relay• Securely expose on-premises WCF services to

public• No firewall or network infrastructure changes

DEMO: Service Bus Relay

Sprint 1 ArchitectureClient

Views

Proxy

Server

Service

Repositories Public

EntitiesPrivateEntities

DataRecords View

Model

PublicEntities

Web Client

API

Proxy

HTML ViewsView Model

PublicEntities

PublicEntities

PublicEntities

TCPRelay

Relay Endpoint

PublicEntities

Sprint 2 ChallengesClient

Views

Proxy

Server

Service

Repositories Public

EntitiesPrivateEntities

DataRecords View

Model

PublicEntities

Web Client

API

Proxy

HTML ViewsView Model

PublicEntities

PublicEntities

?

TCP

PublicEntities

Relay

Relay Endpoint

PublicEntities

Windows Azure Active Directory• Provide access control for your applications• Single sign-on across your applications• Social connections across the enterprise• Integrate with you on-premises AD

1

WAADTenant

ApplicationWIF

App

Login Page

2 3

4

ADApplicationWIF

App

DEMO: Windows Azure Active Directory

Sprint 2 ArchitectureClient

Views

Proxy

Server

Service

Repositories Public

EntitiesPrivateEntities

DataRecords View

Model

PublicEntities

Web Client

API

Proxy

HTML ViewsView Model

PublicEntities

PublicEntities

PublicEntities

TCPRelay

Relay Endpoint

PublicEntities

WAAD

Directory Sync

Sprint 3 ChallengeClient

Views

Proxy

Server

Service

Repositories Public

EntitiesPrivateEntities

DataRecords View

Model

PublicEntities

Web Client

API

Proxy

HTML ViewsView Model

PublicEntities

PublicEntities

PublicEntities

TCP

WAAD

Relay

Relay Endpoint

PublicEntities

Directory Sync

Loose Coupling Pattern with Service Bus• Brokered message communication• Loose-coupling among systems• Asynchronous pattern• Workload leveling

DEMO: Service Bus Queue

Sprint 3 ArchitectureClient

Views

Proxy

Server

Service

Repositories Public

EntitiesPrivateEntities

DataRecords View

Model

PublicEntities

Web Client

API

Proxy

HTML ViewsView Model

PublicEntities

PublicEntities

PublicEntities

TCP

WAAD

Relay

Relay Endpoint

PublicEntities

Directory Sync

Order Taker

Order Queue

Sprint 4 ChallengeClient

Views

Proxy

Server

Service

Repositories Public

EntitiesPrivateEntities

DataRecords View

Model

PublicEntities

Web Client

API

Proxy

HTML ViewsView Model

PublicEntities

PublicEntities

PublicEntities

TCP

WAAD

Relay

Relay Endpoint

PublicEntities

Directory Sync

Order Taker

Order Queue

DEMO: AMQP

Sprint 4 ArchitectureClient

Views

Proxy

Server

Service

Repositories Public

EntitiesPrivateEntities

DataRecords View

Model

PublicEntities

Web Client

API

Proxy

HTML ViewsView Model

PublicEntities

PublicEntities

PublicEntities

TCP

WAAD

Relay

Relay Endpoint

PublicEntities

Directory Sync

Order Taker

Order Queue

AMQP

Message-based Integration PatternsPipes and filtersMessage routerMessage translatorMessage endpointPoint-to-point channelPublish-subscribe channelData type channelInvalid message channelDead letter channelGuaranteed deliveryChannel adapterMessaging bridgeMessage busCommand messageDocument messageEvent message

Request-replyReturn addressCorrelationSequenceExpirationFormat indicatorContent based routerMessage filterDynamic routerRecipient listSplitterAggregatorSequencerComposed message processorScatter-gather

Routing slipProcess managerMessage brokerEnvelop wrapperContent enricherContent filterClaim checkNormalizerCanonical data modelMessage gatewayMessaging mapperTransactional clientPolling consumerEvent-driven consumerCompeting consumersMessage dispatcher

Selective consumerDurable subscriberIdempotent receiverService ActivatorControl busDetourWire tapMessage historyMessage storeSmart proxyTest messageChannel purger

Sprint 5 ArchitectureClient

Views

Proxy

Server

Service

Repositories Public

EntitiesPrivateEntities

DataRecords View

Model

PublicEntities

Web Client

API

Proxy

HTML ViewsView Model

PublicEntities

PublicEntities

PublicEntities

TCP

WAAD

Relay

Relay Endpoint

PublicEntities

Cache

Directory Sync

BLOB

CDN

Order Taker

Order Queue

Sprint 6 ArchitectureClient

Views

Proxy

Server

Service

Repositories Public

EntitiesPrivateEntities

DataRecords View

Model

PublicEntities

Web Client

API

Proxy

HTML ViewsView Model

PublicEntities

PublicEntities

PublicEntities

TCP

WAAD

Relay

Relay Endpoint

PublicEntities

Cache

Directory Sync

BLOB

CDN

Order Taker

Order Queue

Server

Service

Repositories

Order Taker

Data Sync

ServerSprint 7 ArchitectureClient

Views

Proxy

PublicEntities

View Model

Web Client

API

Proxy

HTML ViewsView Model

PublicEntities

PublicEntities

WAAD

Cache

BLOB

CDN

Order Queue

Server

Service

Repositories

Order Taker

TCP

LB

Mobile

Mobile

Web Client ServerSprint 8 ArchitectureClient

Views

Proxy

PublicEntities

View Model

Web Client

API

Proxy

HTML ViewsView Model

PublicEntities

PublicEntities

WAAD

Cache

BLOB

CDN

Order Queue

Server

Service

Repositories

Order Taker

TCP

LB

Mobile

Mobile

Accounting BizTalk

Office

Epilogue: Recipe-VVM• R – Repository• E – Entity• C – Claim-based architecture• I – Action API and Query API• PE – Public Entity• V – View• VM – View Model

Resourceswww.bing.comwww.windowsazure.commsdn.microsoft.com

@HaishiBai2010

@trontron

blog.haishibai.com

Evaluate this session

Scan this QR code to evaluate this session and be automatically entered in a drawing to win a prize!

© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

top related