![Page 1: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/1.jpg)
Real-World SOA with Microsoft .NET and Windows Azure
John deVadoss, Microsoft, Director, Patterns & Practices
Brian Loesgen, MicrosoftPrincipal SOA Architect
Christoph Schittko, MicrosoftGlobal Application Strategist
SESSION CODE: ASI202
![Page 2: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/2.jpg)
Who is this session for?Roles
Solutions ArchitectsDevelopers
SOA experience“tried and failed*”“do I still care? I thought it was over”“finally, beginning to really start implementing”
![Page 3: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/3.jpg)
Session GoalsWhat you will see and learn:
The current state of SOA, where have we been, where are we nowThe cloud makes SOA more important than everFocus on three key hotspots (customer challenges) and their solutions on the Microsoft platform
What you WILL NOT see:End-to-end coverage of the Microsoft platformCode. This level 200 session is about design patterns and architecture, and how they can be applied to create business valueA “silver bullet” solution
![Page 4: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/4.jpg)
Where we were
The SOA ROI Crisis…
24% say projects fell short of expectations55% say project introduced more complexity41% say project cost more than expected but failed to generate promised returnOnly 7% say results exceeded expectations
“The Dark Side of SOA”InformationWeek, September 4, 2006
“The Truth About SOA”CIO Magazine, June 15, 2006
“Services built in isolation, without taking into account the architectural and business goals of the company… may fail outright. Grand architectural planning exercises may drag on endlessly, without providing any real business benefit.”
![Page 5: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/5.jpg)
Why do you still care
“Prepare for the cloud by developing SOA skills.”“Cloud Computing will cement the mainstream
role of SOA”Gartner, 2009
![Page 6: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/6.jpg)
Real World Patterns that Address the Challenges….
LooseCoupling
Re-use
Scale
![Page 7: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/7.jpg)
Challenge Details
Loose coupling • Messaging• Autonomy• Interoperability• Service virtualization
Scale • Horizontal• Elastic • State management• Long running processes
Re-use • Composition / Mash-ups• Economics• Integration
Distributed Computing Challenges we always struggle with…
![Page 8: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/8.jpg)
Challenge DetailsLoose coupling • Messaging
• Autonomy• Interoperability• Service virtualization
Scale • Horizontal• Elastic • State management• Long running processes
Re-use • Composition / Mash-ups• Economics• Integration
The cloud helps with some of our challenges
![Page 9: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/9.jpg)
Challenge DetailsLoose coupling
Scale • Global Distribution And Deployment• AuthN / AuthZ Across Boundaries
Re-use • Bridging On-Premise and Cloud• Robust Connections Across NAT,
Protocol and Fireball Boundaries
Cloud Architectures Amplify Other Challenges
![Page 10: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/10.jpg)
Real World Patterns that Address the Challenges….
LooseCoupling
Re-use
Scale
![Page 11: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/11.jpg)
Real World Patterns that Address the Challenges….
LooseCoupling
Re-use
Scale
![Page 12: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/12.jpg)
From Stateful to StatelessStateful
Stateless Service
Stateful Service
State Repository
State Repository + State
Messaging
![Page 13: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/13.jpg)
AppFabricWave 1 Windows Sever AppFabric (formerly “Dublin” & “Velocity”)
Manage services and workflowsInfrastructure for enhanced workflow and service hosting, configuration, and controlIntegration with IIS Manager and PowerShell to manage and monitor workflows and services
Monitor services and workflowsInfrastructure for storing workflow and service monitoring informationDashboard for service and workflow instance health
Distributed in-memory application cacheCaches any serializable CLR object and provides access through simple cache APIsSupports enterprise scale: tens to hundreds of computersProvides seamless integration with ASP.NET
Server/Service SymmetrySymmetric service developmentEarly adopter of common scale-out and availability fabric
Server Services
Applications
Programming Model and Tools
AppFabric
Windows Azure AppFabric (formerly .NET Services)
Server/Service ConnectivityServiceBus for connectivityClaims based access control
![Page 14: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/14.jpg)
AppFabric Cache
… Services Tier(ASP.Net /
WCF)
Users
Database Cloud Data Tier
Application Application ApplicationCaching Access
LayerCaching Access
LayerCaching Access
Layer
Cach
ing
Serv
ice
Cach
ing
Serv
ice
Cach
ing
Serv
ice
Cache Tier
![Page 15: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/15.jpg)
Challenge: Elastic Scale
Windows AzureService Instances
![Page 16: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/16.jpg)
Challenge:
LooseCoupling
Re-use
Scale
![Page 17: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/17.jpg)
Challenge: Loose Coupling
Patterns:Async MessagingInteroperable Message Format and ProtocolsService BusResource Autonomy
StorageInfrastructure (Processing, Storage, …)
RequiresQueues (Azure Queues, ServiceBus Buffers)WCF: SOAP, REST, JSONAzure Service Applications and Storage Instances
![Page 18: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/18.jpg)
Web Role Worker Role
Loose Coupling With Windows Azure
Autonomous Instances
Azure Queues or Service Bus(REST / HTTP Interface)
Interoperable Service Protocols: SOAP, REST,
JSON
Division of Roles into Loosely Coupled Roles
3rd Party Consumer
![Page 19: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/19.jpg)
Infrastructure Approaches to loose coupling
We have new choices today:Pure CloudOn PremiseHybridDistributed
Question everything. Don’t default to the same architectures just done in the cloud, consider the optionsOn-premise or in the cloud: we offer you choice
![Page 20: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/20.jpg)
AppFabric Service Bus Connectivity
Application #1 Application #2Direct Connection facilitated by Service Bus if that is best
connection mechanism.
TextXMLGraphicsBinary DataStreaming
Firewall
Send
Receive
Exchange messages between loosely coupled, composite
applications.
Send
Receive
![Page 21: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/21.jpg)
Europe Region
Global Collection Pattern #1
Asia Pacific Region North America Region
• Multiple distributed endpoints publish a message up to their closest Azure DC• Messages are collected and relayed to a central collection Azure DC• Messages are used at the central DC, or relayed down to on-premises
Messages are received by an on-premise application
Messages from remote endpoints “call home” to a single Windows Azure
collection point
![Page 22: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/22.jpg)
South East Asia Sub-region
Europe Region
Global Collection Pattern #2
Asia Pacific Region North America Region
North Europe Sub-region
US South Central Sub-region
US North Central Sub-region
• Multiple distributed endpoints publish a message up to a single Azure region• Messages are used at the central DC, or relayed down to on-premises
Messages from the other Azure data centers “roll up” to a central collection
point data center
Messages are received by an on-premise application
Multiple distributed end-point applications “report up” to the single Azure data center
![Page 23: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/23.jpg)
Messaging & Integration
E-COMMERCE
CRM
HR
ERP
Traditional Point-to-point
Point-to-point with cloud
E-COMMERCE
CRM
HR
ERP
CLOUD SERVICES
HR ERP
CRM
BUSINESS PARTNER
E-COMMERCE
CLOUD SERVICES
On-Premise ESB with cloud
![Page 24: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/24.jpg)
Enterprise Service Bus (ESB)
An ESB is the on-premise loosely-coupled messaging backbone for your business solutionsAn ESB can serve as an operating environment for servicesESBs bring manageability and structure to point-to-point spaghetti integrationsAn on-premise ESB is an ideal bridge to your off-premise services and messaging exchanges
![Page 25: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/25.jpg)
Applied Solution(Video walkthrough at BrianLoesgen.com)
![Page 26: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/26.jpg)
Challenge:
LooseCoupling
Re-use
Scale
![Page 27: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/27.jpg)
Challenge: Re-use
Patterns:OrchestrationComposite UI
Requires:Composition Runtime
Message Brokers (Routing / Transformation)Support for Compensation (WF/Biztalk)
Development Tools (Visual Studio)Ownership Model
Order Svc Mfg
Svc
Billing Svc
Inventory Svc
Accting Svc
![Page 28: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/28.jpg)
Service Composition Tools
![Page 29: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/29.jpg)
Challenge: Re-use, Composites
![Page 30: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/30.jpg)
Design Patterns
![Page 31: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/31.jpg)
Common UI PatternsSupervising PresenterPresentation Model (“Model-View-ViewModel”)
Views:Encapsulate UI & UI LogicMinimal Code BehindUI Designer Friendly
Presenters:Presentation Logic& StateUnit TestableView Independent
Separated Presentation
SupervisingPresenter
Model
View
PresentationModel ModelView
![Page 32: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/32.jpg)
Modules
Unit Of Application AssemblyCollection of Related ComponentsFeature, Services, Views, Data AccessSlice & Dice: Mandatory, Optional, Role Specific
Unit Of DevelopmentIndependent DevelopmentIndependent Testing
Unit Of DeploymentUp-Front, Background or On-Demand
![Page 33: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/33.jpg)
Finding & Loading ModulesModule Discovery
Pluggable Module CatalogsModule Loading
Background or On-Demand
Module Loader
![Page 34: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/34.jpg)
Building the ExperienceShell – Application Host WindowRegions – Named Areas For View PlacementViews – Module UI & Presentation LogicUsing Code to Show Views:
Region
Region
Region
<ContentControl RegionManager.RegionName= “BuySellRegion” />
MyView view = …;
IRegion buySellRegion = regionManager.Regions[ “BuySellRegion" ];
buySellRegion.Add( view );
<ItemsControl RegionManager.RegionName= “DataRegion">
![Page 35: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/35.jpg)
Building the ExperienceAutomatically Showing Views:
Less ComplexBlack Box ‘App Assembly’ CompositionSelect Views & Pull into Region
Region
Region
Region
<ContentControl RegionManager.RegionName= “BuySellRegion” />
regionManager.RegisterViewType( “BuySellRegion", typeof( BuySellView ) );
![Page 36: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/36.jpg)
Summary: Mapping Challenges to Products…
On-Premise Cloud
Loose coupling Windows Server AppFabricBizTalk
Windows Azure PlatformWindows Azure AppFabric
Re-use BizTalk, BizTalk ESB, Mash-ups (Prism, Silverlight, WPF, SharePoint)
Windows Azure PlatformAppFabric Service Bus
Scale Windows Server AppFabricBizTalk
Windows Azure Platform
![Page 37: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/37.jpg)
Where do I start?
Real-world business driversMiddle-outPartition your business capabilitiesDemonstrate value in rapid iterations – not waterfallSuccessful customers ‘snowball’
![Page 38: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/38.jpg)
Related Content
Breakout Sessions (session codes and titles)
Interactive Sessions (session codes and titles)
Hands-on Labs (session codes and titles)
Product Demo Stations (demo station title and location)
![Page 39: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/39.jpg)
Complete an evaluation on CommNet and enter to win!
![Page 40: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/40.jpg)
© 2010 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.
![Page 41: John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application](https://reader037.vdocuments.site/reader037/viewer/2022103101/56649f495503460f94c6b16e/html5/thumbnails/41.jpg)
JUNE 7-10, 2010 | NEW ORLEANS, LA