Building the Modern ESB with the Microsoft ESB Toolkit: An ...
description
Transcript of Building the Modern ESB with the Microsoft ESB Toolkit: An ...
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
http://blog.BrianLoesgen.com
Session Objectives
• Explain architecture of the ESB Toolkit
• Drilldown into dynamic messaging
Agenda
• Service-orientation; ESB: why it matters
• Architectural Overview of ESB Toolkit
• Demos – focused on dynamic messaging
Re-think a Solution as a Set of Capabilities(the fundamental truth behind SOA success)
Mapping Service
RoutingCustom
Orchestration (Service)
ProtocolAdaptation
End Point Resolution
Pub/Sub Service Service ProvidersService Consumers
Custom Orchestration
(Service)
EnrichmentService
SOA Pattern Implementation
PolicyCentralization
RulesCentralization
Event-DrivenMessaging
Data Format Transformation
Protocol Bridge
Message Router
Message Broker
Legacy Wrapper
Architectural Design Patterns
Message Routing
Scatter-Gather
Routing Slip
Recipient List
Message Transformation
Content Enricher
Data Model Transformation
ESB Usage Patterns
Repair andResubmit
VETO/VETRO
Gateway
Reply Forward
MetadataCentralization
Perimeter Service Router
Content-BasedRouter
ESB Toolkit
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
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
The ESB Stack
BizTalk Server
Adapter Providers
Resolvers
Itinerary Components
Itineraries (Mediation Policies)
BizTalk ESB Toolkit ArchitectureESB Core
Core Engine Services
ESB MANAGEMENT PORTAL
Provisioning Framework
Reports
Alerts
Exception Management
Exception Logger
Exception Handler or Custom Application
Fault Processor
TRANSFORM SERVICE
ROUTE SERVICE
ON-RAMPS OFF-RAMPS
Generic SOAPSend
Generic WCFSend
Generic JMSSend
CustomSend
PIPELINE
GENERIC
PIPELINE
PIPELINE
CUSTOM
PIPELINE
Generic SOAPReceive
Generic WCFReceive
Generic JMSReceive
Generic CustomReceive
PIPELINE
PIPELINE
JMS PIPELINE
CUSTOM PIPELINE
ENRICH SERVICE
Exception
Management
Store
CUSTOM SERVICE
ESB SERVICES
Resolver Web Service
Transformation Web Service
Exception Web Service
UDDI Service
Operations Service
Itinerary
Configuration
Store
Resolver-Adapter Framework
CUSTOM RESOLVER
RESOLVERS (…) ADAPTER PROVIDERS(…)
CUSTOM ADAPTER PROVIDER
The Core ESBG Concepts
Itinerary
Processing
ResolversAdapter
Providers
Itinerary Concept
• Heart of the ESB Toolkit
• Itineraries help provide the runtime flexibility that BizTalk doesn’t have by default
• Itineraries provide a service composition mechanism
Itinerary
Processing
Developing Itineraries Itinerary
Processing
Using ItinerariesDesign Time
Itinerary
Processing
XML File
Itinerary
Repository
Run Time
Itinerary
OnRamp
Itinerary Selector
ESB Processing
Itinerary &Message
Message
Three Ways to Assign ItinerariesItinerary
Processing
Client resolves itinerary via resolver service and then sends request to On-Ramp with itinerary header
Client sends request to an Itinerary On-Ramp passing itinerary SOAP or WCF Header
Client sends message to Itinerary Generic On-Ramp, pipeline component selects an itinerary using configurable resolver
AdvancedServiceClient
AdaptiveServiceClient
ServiceProxy
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
Resolvers
Resolvers Shipped with V2
Endpoint Resolution Artifact Resolution
ESB Resolvers
Resolvers
ESB Toolkit V1
ESB Toolkit V2
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
Adapter
Providers
Adapter Providers Adapter
Providers
FTP
MQSeries
ESB Toolkit V1
ESB Toolkit V2
FILE
Custom
SQL
SMTP
ESB Adapter Providers
Using ESB Itineraries and Resolvers
Summary
• Architectural overview of the ESB Toolkit
• Demonstrated the dynamic messaging capabilities and features of the ESB Toolkit that accelerate ESB deployments
© 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.