patterns & practices for composing cloud services
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 PresentationTRANSCRIPT
![Page 1: Patterns & Practices for Composing Cloud Services](https://reader036.vdocument.in/reader036/viewer/2022081517/568166ef550346895ddb4bbb/html5/thumbnails/1.jpg)
![Page 2: Patterns & Practices for Composing Cloud Services](https://reader036.vdocument.in/reader036/viewer/2022081517/568166ef550346895ddb4bbb/html5/thumbnails/2.jpg)
Patterns & Practices for Composing Cloud ServicesHaishi BaiTechnical Evangelist, Windows Azure3-526
![Page 3: Patterns & Practices for Composing Cloud Services](https://reader036.vdocument.in/reader036/viewer/2022081517/568166ef550346895ddb4bbb/html5/thumbnails/3.jpg)
The Starting PointSprint 1: RelaySprint 2: Claim-based IdentitySprint 3: Loose-couplingSprint 4: IntegrationLooking ahead
Agenda
![Page 4: Patterns & Practices for Composing Cloud Services](https://reader036.vdocument.in/reader036/viewer/2022081517/568166ef550346895ddb4bbb/html5/thumbnails/4.jpg)
• 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
![Page 5: Patterns & Practices for Composing Cloud Services](https://reader036.vdocument.in/reader036/viewer/2022081517/568166ef550346895ddb4bbb/html5/thumbnails/5.jpg)
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
![Page 6: Patterns & Practices for Composing Cloud Services](https://reader036.vdocument.in/reader036/viewer/2022081517/568166ef550346895ddb4bbb/html5/thumbnails/6.jpg)
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
![Page 7: Patterns & Practices for Composing Cloud Services](https://reader036.vdocument.in/reader036/viewer/2022081517/568166ef550346895ddb4bbb/html5/thumbnails/7.jpg)
Service Bus Relay• Securely expose on-premises WCF services to
public• No firewall or network infrastructure changes
![Page 8: Patterns & Practices for Composing Cloud Services](https://reader036.vdocument.in/reader036/viewer/2022081517/568166ef550346895ddb4bbb/html5/thumbnails/8.jpg)
DEMO: Service Bus Relay
![Page 9: Patterns & Practices for Composing Cloud Services](https://reader036.vdocument.in/reader036/viewer/2022081517/568166ef550346895ddb4bbb/html5/thumbnails/9.jpg)
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
![Page 10: Patterns & Practices for Composing Cloud Services](https://reader036.vdocument.in/reader036/viewer/2022081517/568166ef550346895ddb4bbb/html5/thumbnails/10.jpg)
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
![Page 11: Patterns & Practices for Composing Cloud Services](https://reader036.vdocument.in/reader036/viewer/2022081517/568166ef550346895ddb4bbb/html5/thumbnails/11.jpg)
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
![Page 12: Patterns & Practices for Composing Cloud Services](https://reader036.vdocument.in/reader036/viewer/2022081517/568166ef550346895ddb4bbb/html5/thumbnails/12.jpg)
DEMO: Windows Azure Active Directory
![Page 13: Patterns & Practices for Composing Cloud Services](https://reader036.vdocument.in/reader036/viewer/2022081517/568166ef550346895ddb4bbb/html5/thumbnails/13.jpg)
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
![Page 14: Patterns & Practices for Composing Cloud Services](https://reader036.vdocument.in/reader036/viewer/2022081517/568166ef550346895ddb4bbb/html5/thumbnails/14.jpg)
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
![Page 15: Patterns & Practices for Composing Cloud Services](https://reader036.vdocument.in/reader036/viewer/2022081517/568166ef550346895ddb4bbb/html5/thumbnails/15.jpg)
Loose Coupling Pattern with Service Bus• Brokered message communication• Loose-coupling among systems• Asynchronous pattern• Workload leveling
![Page 16: Patterns & Practices for Composing Cloud Services](https://reader036.vdocument.in/reader036/viewer/2022081517/568166ef550346895ddb4bbb/html5/thumbnails/16.jpg)
DEMO: Service Bus Queue
![Page 17: Patterns & Practices for Composing Cloud Services](https://reader036.vdocument.in/reader036/viewer/2022081517/568166ef550346895ddb4bbb/html5/thumbnails/17.jpg)
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
![Page 18: Patterns & Practices for Composing Cloud Services](https://reader036.vdocument.in/reader036/viewer/2022081517/568166ef550346895ddb4bbb/html5/thumbnails/18.jpg)
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
![Page 19: Patterns & Practices for Composing Cloud Services](https://reader036.vdocument.in/reader036/viewer/2022081517/568166ef550346895ddb4bbb/html5/thumbnails/19.jpg)
DEMO: AMQP
![Page 20: Patterns & Practices for Composing Cloud Services](https://reader036.vdocument.in/reader036/viewer/2022081517/568166ef550346895ddb4bbb/html5/thumbnails/20.jpg)
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
![Page 21: Patterns & Practices for Composing Cloud Services](https://reader036.vdocument.in/reader036/viewer/2022081517/568166ef550346895ddb4bbb/html5/thumbnails/21.jpg)
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
![Page 22: Patterns & Practices for Composing Cloud Services](https://reader036.vdocument.in/reader036/viewer/2022081517/568166ef550346895ddb4bbb/html5/thumbnails/22.jpg)
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
![Page 23: Patterns & Practices for Composing Cloud Services](https://reader036.vdocument.in/reader036/viewer/2022081517/568166ef550346895ddb4bbb/html5/thumbnails/23.jpg)
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
![Page 24: Patterns & Practices for Composing Cloud Services](https://reader036.vdocument.in/reader036/viewer/2022081517/568166ef550346895ddb4bbb/html5/thumbnails/24.jpg)
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
![Page 25: Patterns & Practices for Composing Cloud Services](https://reader036.vdocument.in/reader036/viewer/2022081517/568166ef550346895ddb4bbb/html5/thumbnails/25.jpg)
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
![Page 26: Patterns & Practices for Composing Cloud Services](https://reader036.vdocument.in/reader036/viewer/2022081517/568166ef550346895ddb4bbb/html5/thumbnails/26.jpg)
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
![Page 27: Patterns & Practices for Composing Cloud Services](https://reader036.vdocument.in/reader036/viewer/2022081517/568166ef550346895ddb4bbb/html5/thumbnails/27.jpg)
Resourceswww.bing.comwww.windowsazure.commsdn.microsoft.com
@HaishiBai2010
@trontron
blog.haishibai.com
![Page 28: Patterns & Practices for Composing Cloud Services](https://reader036.vdocument.in/reader036/viewer/2022081517/568166ef550346895ddb4bbb/html5/thumbnails/28.jpg)
Evaluate this session
Scan this QR code to evaluate this session and be automatically entered in a drawing to win a prize!
![Page 29: Patterns & Practices for Composing Cloud Services](https://reader036.vdocument.in/reader036/viewer/2022081517/568166ef550346895ddb4bbb/html5/thumbnails/29.jpg)
© 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.