Your SlideShare is downloading. ×
Building the Modern ESB with the Microsoft ESB Toolkit: An ...
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Building the Modern ESB with the Microsoft ESB Toolkit: An ...


Published on

  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Building the Modern ESB with the Microsoft ESB Toolkit: An Architectural Overview With a Focus on Dynamic Messaging Brian Loesgen Principal SOA Architect Microsoft Corporation
  • 2. Session Objectives • Explain architecture of the ESB Toolkit • Drilldown into dynamic messaging
  • 3. Agenda • Service-orientation; ESB: why it matters • Architectural Overview of ESB Toolkit • Demos – focused on dynamic messaging
  • 4. Re-think a Solution as a Set of Capabilities (the fundamental truth behind SOA success) Custom Custom Mapping Routing Orchestration Orchestration Service (Service) (Service) Protocol Pub/Sub End Point Enrichment Service Consumers Adaptation Service Resolution Service Service Providers
  • 5. SOA Pattern Implementation ESB Usage Patterns Message Architectural Message Routing Transformation Design Patterns Perimeter Metadata Message Router Content Enricher Service Router Centralization Content-Based Data Model Policy Message Broker Router Transformation Centralization Data Format Rules Scatter-Gather Transformation Centralization Event-Driven Recipient List Messaging Routing Slip Gateway Repair and Reply Protocol Bridge Legacy Wrapper Resubmit Forward VETO/VETRO ESB Toolkit
  • 6. BizTalk... BizTalk+ESB Toolkit... • BizTalk is all about providing solutions based on configuration • Configuration happens at dev time or post- deployment • ESB Toolkit is all about runtime resolution, it interacts with external stores (e.g., services registry) to get operational configuration in a JIT manner • ESB Toolkit adds a set of runtime resolution capabilities that BizTalk developers would need to create from scratch
  • 7. Enter Microsoft ESB Toolkit… • From Patterns and Practices • Provides architectural guidance, patterns and practices • Delivers reusable BizTalk Server ESB and .NET components • Enables construction of large and small- scale ESB solutions
  • 8. The ESB Stack Itineraries (Mediation Policies) Itinerary Components Resolvers Adapter Providers BizTalk Server
  • 9. BizTalk ESB Toolkit Architecture ON-RAMPS ESB Core OFF-RAMPS Core Engine Services Generic SOAP PIPELINE Generic SOAP PIPELINE Receive ENRICH SERVICE ROUTE SERVICE Send Generic WCF Generic WCF GENERIC PIPELINE Receive CUSTOM SERVICE TRANSFORM SERVICE Send PIPELINE Generic JMS JMS Generic JMS Receive PIPELINE Send PIPELINE Resolver-Adapter Framework Generic Custom CUSTOM Custom CUSTOM PIPELINE RESOLVERS (…) ADAPTER PROVIDERS(…) Receive Send PIPELINE CUSTOM RESOLVER CUSTOM ADAPTER PROVIDER Exception Management Exception Handler or Custom Application Exception Logger Fault Processor ESB SERVICES ESB MANAGEMENT PORTAL Resolver Web Service Provisioning Framework Itinerary Transformation Web Configuration Service Store Reports Exception UDDI Service Management Operations Service Store Alerts Exception Web Service
  • 10. The Core ESBG Concepts Itinerary Processing Adapter Resolvers Providers
  • 11. Itinerary Concept Itinerary Processing • Heart of the ESB Toolkit • Itineraries help provide the runtime flexibility that BizTalk doesn’t have by default • Itineraries provide a service composition mechanism
  • 12. Developing Itineraries Itinerary Processing
  • 13. Using Itineraries Itinerary Processing Design Time Run Time Message OnRamp Itinerary Itinerary Itinerary Selector Repository XML File Itinerary & Message ESB Processing
  • 14. Three Ways to Assign Itineraries Itinerary Processing Advanced Client sends request to an Itinerary On-Ramp Service passing itinerary SOAP or WCF Header Client Adaptive Client resolves itinerary via resolver service and Service then sends request to On-Ramp with itinerary header Client Service Client sends message to Itinerary Generic On-Ramp, pipeline component selects an itinerary using Proxy configurable resolver
  • 15. Resolvers Resolvers • For runtime flexibility ESB Services are not hard-coded to specific endpoints or maps • This metadata is determined at runtime • Resolver mechanism can locate and retrieve this metadata • Itineraries define which ESB services execute and in which order • Resolvers define how ESB services execute
  • 16. Resolvers Shipped with V2 Resolvers ESB Resolvers Endpoint Resolution Artifact Resolution ESB Toolkit V1 ESB Toolkit V2
  • 17. Adapter Providers Adapter Providers • The Itinerary and Resolver mechanisms are .NET components. The endpoint information produced by the resolvers is stored in .NET based Dictionary objects • We leverage BizTalk dynamic ports to handle the actual routing of messages. However, BizTalk isn’t built to work with Dictionary objects • Adapter providers act as a bridge between the .NET based ESB components and the BizTalk based ESB components
  • 18. Adapter Providers Adapter Providers ESB Adapter Providers FTP SQL MQSeries FILE SMTP Custom ESB Toolkit V1 ESB Toolkit V2
  • 19. Using ESB Itineraries and Resolvers
  • 20. Summary • Architectural overview of the ESB Toolkit • Demonstrated the dynamic messaging capabilities and features of the ESB Toolkit that accelerate ESB deployments
  • 21. © 2007 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.