1 / 41

Real-World SOA with Microsoft .NET and Windows Azure

SESSION CODE: ASI202. Real-World SOA with Microsoft .NET and Windows Azure . John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application Strategist . Who is this session for?. Roles

matilde
Download Presentation

Real-World SOA with Microsoft .NET and Windows Azure

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SESSION CODE: ASI202 Real-World SOA with Microsoft .NET and Windows Azure John deVadoss, Microsoft, Director, Patterns & Practices Brian Loesgen, Microsoft Principal SOA Architect Christoph Schittko, Microsoft Global Application Strategist

  2. Who is this session for? • Roles • Solutions Architects • Developers • SOA experience • “tried and failed*” • “do I still care? I thought it was over” • “finally, beginning to really start implementing”

  3. Session Goals • What you will see and learn: • The current state of SOA, where have we been, where are we now • The cloud makes SOA more important than ever • Focus 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 platform • Code. This level 200 session is about design patterns and architecture, and how they can be applied to create business value • A “silver bullet” solution

  4. Where we were The SOA ROI Crisis… “The Truth About SOA”CIO Magazine, June 15, 2006 “The Dark Side of SOA”InformationWeek, September 4, 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.” • 24% say projects fell short of expectations • 55% say project introduced more complexity • 41% say project cost more than expected but failed to generate promised return • Only 7% say results exceeded expectations

  5. Why do you still care “Prepare for the cloud by developing SOA skills.” “Cloud Computing will cement the mainstream role of SOA” Gartner, 2009

  6. Real World Patterns that Address the Challenges….

  7. Distributed Computing Challenges we always struggle with…

  8. The cloud helps with some of our challenges

  9. Cloud Architectures Amplify Other Challenges

  10. Real World Patterns that Address the Challenges….

  11. Real World Patterns that Address the Challenges….

  12. From Stateful to Stateless Stateful State Repository State Repository + State Messaging • Stateless Service • Stateful Service

  13. AppFabricWave 1 Windows Sever AppFabric (formerly “Dublin” & “Velocity”) • Manage services and workflows • Infrastructure for enhanced workflow and service hosting, configuration, and control • Integration with IIS Manager and PowerShellto manage and monitor workflows and services • Monitor services and workflows • Infrastructure for storing workflow and service monitoring information • Dashboard for service and workflow instance health • Distributed in-memory application cache • Caches any serializable CLR object and provides access through simple cache APIs • Supports enterprise scale: tens to hundreds of computers • Provides seamless integration with ASP.NET • Server/Service Symmetry • Symmetric service development • Early adopter of common scale-out and availability fabric Server Services Applications Programming Model and Tools AppFabric Windows Azure AppFabric(formerly .NET Services) • Server/Service Connectivity • ServiceBus for connectivity • Claims based access control

  14. AppFabric Cache Users … Services Tier (ASP.Net/ WCF) Application Application Application Caching Access Layer Caching Access Layer Caching Access Layer Caching Service Caching Service Caching Service Cache Tier Data Tier Database Cloud

  15. Challenge: Elastic Scale Windows Azure Service Instances

  16. Challenge:

  17. Challenge: Loose Coupling • Patterns: • Async Messaging • Interoperable Message Format and Protocols • Service Bus • Resource Autonomy • Storage • Infrastructure (Processing, Storage, …) • Requires • Queues (Azure Queues, ServiceBus Buffers) • WCF: SOAP, REST, JSON • Azure Service Applications and Storage Instances

  18. Loose Coupling With Windows Azure 3rd Party Consumer Azure Queues or Service Bus (REST / HTTP Interface) Division of Roles into Loosely Coupled Roles Web Role Worker Role Interoperable Service Protocols: SOAP, REST, JSON Autonomous Instances

  19. Infrastructure Approaches to loose coupling • We have new choices today: • Pure Cloud • On Premise • Hybrid • Distributed • Question everything. Don’t default to the same architectures just done in the cloud, consider the options • On-premise or in the cloud: we offer you choice

  20. AppFabric Service Bus Connectivity Text XML Graphics Binary Data Streaming Receive Receive Firewall Send Send Exchange messages between loosely coupled, composite applications. Direct Connection facilitated by Service Bus if that is best connection mechanism. Application #1 Application #2

  21. Global Collection Pattern #1 • 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 Europe Region Asia Pacific Region North America Region Messages are received by an on-premise application Messages from remote endpoints “call home” to a single Windows Azure collection point

  22. Global Collection Pattern #2 • 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 Europe Region Asia Pacific Region North America Region Multiple distributed end-point applications “report up” to the single Azure data center Messages are received by an on-premise application US North Central Sub-region North Europe Sub-region US South Central Sub-region Messages from the other Azure data centers “roll up” to a central collection point data center South East Asia Sub-region

  23. HR HR HR CRM CRM Messaging & Integration Traditional Point-to-point Point-to-point with cloud On-Premise ESB with cloud CLOUD SERVICES ERP CLOUD SERVICES ERP E-COMMERCE ERP CRM E-COMMERCE BUSINESS PARTNER E-COMMERCE

  24. Enterprise Service Bus (ESB) • An ESB is the on-premise loosely-coupled messaging backbone for your business solutions • An ESB can serve as an operating environment for services • ESBs bring manageability and structure to point-to-point spaghetti integrations • An on-premise ESB is an ideal bridge to your off-premise services and messaging exchanges

  25. Applied Solution (Video walkthrough at BrianLoesgen.com)

  26. Challenge:

  27. Challenge: Re-use Inventory Svc • Patterns: • Orchestration • Composite 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 Accting Svc

  28. Service Composition Tools

  29. Challenge: Re-use, Composites

  30. Design Patterns

  31. Separated Presentation • Common UI Patterns • Supervising Presenter • Presentation Model (“Model-View-ViewModel”) • Views: • Encapsulate UI & UI Logic • Minimal Code Behind • UI Designer Friendly • Presenters: • Presentation Logic& State • Unit Testable • View Independent View SupervisingPresenter Model View Presentation Model Model

  32. Modules • Unit Of Application Assembly • Collection of Related Components • Feature, Services, Views, Data Access • Slice & Dice: Mandatory, Optional, Role Specific • Unit Of Development • Independent Development • Independent Testing • Unit Of Deployment • Up-Front, Background or On-Demand

  33. Finding & Loading Modules • Module Discovery • Pluggable Module Catalogs • Module Loading • Background or On-Demand Module Loader

  34. Building the Experience • Shell – Application Host Window • Regions – Named Areas For View Placement • Views – Module UI & Presentation Logic • Using Code to Show Views: <ItemsControlRegionManager.RegionName= “DataRegion"> MyViewview = …; IRegionbuySellRegion =regionManager.Regions[ “BuySellRegion"]; buySellRegion.Add( view ); Region <ContentControlRegionManager.RegionName= “BuySellRegion” /> Region Region

  35. Building the Experience • Automatically Showing Views: • Less Complex • Black Box ‘App Assembly’ Composition • Select Views & Pull into Region regionManager.RegisterViewType( “BuySellRegion", typeof( BuySellView ) ); <ContentControlRegionManager.RegionName= “BuySellRegion” /> Region Region Region

  36. Summary: Mapping Challenges to Products…

  37. Where do I start? Real-world business drivers Middle-out Partition your business capabilities Demonstrate value in rapid iterations – not waterfall Successful customers ‘snowball’

  38. Required Slide Speakers, please list the Breakout Sessions, Interactive Sessions, Labs and Demo Stations that are related to your session. 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)

  39. Required Slide Complete an evaluation on CommNet and enter to win!

  40. © 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.

More Related