Markus Landler Program Manager International Customer Advisory Team Microsoft Corp. Session Code: INT306
Who are you?
Session objectives Have an understanding of the ESB architectural style and its place within the overall Application Platform Understand architecture of the ESB Toolkit Have seen the capabilities and features of the ESBT, and how they can accelerate ESB deployments
Agenda Service orientation, ESB: why it matters Architectural Overview Technical Drilldown Demos, demos, demos Question & Answers
Common Requirements Messaging Service Invocation Dynamic Transformation Dynamic Routing Protocol Mediation Endpoint Resolution Loosely-Coupled & Event-Driven WS* Support Quality of Service (QoS) Management
Definitions
Two Views of BizTalk? BizTalk was positioned as a Hub-and-Spoke… Now it’s an Enterprise Service Bus?
Re-thinking the Solution as a Set of Capabilities Mapping Service RoutingRouting Process Orchestration ProtocolAdaptationProtocolAdaptation End Point Resolution Pub/Sub Service Service Providers Service Consumers
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., service 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 ESBT Stack BizTalk Server
The ESBT Stack BizTalk Server Adapter Providers
The ESBT Stack BizTalk Server Adapter Providers ResolversResolvers
The ESBT Stack BizTalk Server Adapter Providers ResolversResolvers Mediation Components Mediation Policies
ESB Toolkit 2.0 changes Naming Built on BizTalk Server 2009 Provides greatly enhanced tooling, on top of an optimized core Provides even more extensibility points Provide even more prescriptive guidance about enterprise integration patterns Streamlined installation experience (PowerShell, configuration tool, etc.)
ESB Toolkit Core Engine AdaptersAdaptersDynamicPortsDynamicPorts Pub Sub Engine Engine Pub Sub Engine EngineTransformationEngineTransformationEngine Business Rules Engine Engine HostEnvironmentHostEnvironment ItineraryServicesItineraryServicesResolversResolvers Adapter Provider Framework ASMXOn-RampsASMXOn-Ramps BizTalk Components ESB Components Custom Web Components WCFOn-RampsWCFOn-RampsManagementPortalManagementPortal Other Servers & Components UDDI 2.0 & 3.0 UDDI GovernanceToolsGovernanceToolsDatabasesDatabases OrchestrationEngineOrchestrationEngine Frameworks ResolverFrameworkResolverFramework AdapterProvidersAdapterProviders Enterprise Library 4 Exception Management Core Web Services Services UDDI3.0UDDI3.0 DevelopmentToolsDevelopmentTools
Architectural Overview Management (or custom) Portal Exception Management Core ESB Services External Services Resolver Web Service Transformation Web Service Exception Web Service Exception Logger Exception Handler 1..n Generic Custom Application Exception Handler 1..n Generic Custom Application Transformation Agent Generic Delivery Agent On-ramps Off-ramps Generic SOAP Send Generic SOAP Send Generic WCF Send Generic WCF Send Generic JMS Send Generic JMS Send Generic Custom Send Generic Custom Send Pipeline Components Generic SOAP Receive Generic SOAP Receive Generic WCF Receive Generic WCF Receive Generic JMS Receive Generic JMS Receive Generic Custom Receive Generic Custom Receive Pipeline Components JMS Components Namespace Components Custom & Business Processes Create New Order Scatter Gather Service Update ERP Systems
Itinerary Processing Resolvers Adapter Providers The Core ESBT Concepts
Itinerary Processing 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 with ESBT 2.0 Leverages VS 2008 and its capabilities for Domain Specific Languages We now have a Visual Itinerary Designer Avoid creating itineraries in plain old XML (no more Notepad) Validate itinerary model at design-time Export capabilities to the Itinerary repository (SQL) and file Migration tool to move between environments
Itinerary Processing Developing Itineraries with V2
Itinerary Processing Using Itineraries Design Time XML File Itinerary Database Run Time ItineraryItinerary OnRampOnRamp Itinerary Selector ESBProcessingESBProcessing Itinerary & Message MessageMessage
Itinerary Processing Three Ways to Assign Itineraries 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 Advanced Service Client Adaptive Service Client Service Proxy
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 Resolvers Endpoint Resolution UDDI 2.0 Artifact Resolution ESB Resolvers StaticStaticStaticStatic Map - BRE WS-MEXWS-MEXBREBRELDAPLDAP Itinerary - Static XPATHXPATHCompositeComposite Itinerary - BRE UDDI 3.0 ESB Guidance V1 ESB Toolkit 2.0
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
FTPFTP MQSeriesMQSeries FILEFILE CustomCustom WCF-BasicHTTPWCF-BasicHTTP WCF-WsHTTPWCF-WsHTTP WCF-CustomWCF-Custom SMTPSMTP ESB Adapter Providers ESB Guidance V1 ESB Toolkit 2.0
As time... and luck permitts Demos – the plan Simple routing slip Advanced Routing slip Selecting an itinerary with BRE Dynamic routing with BRE Dynamic routing with Broker Service Exception Handling
Summary Provide an understanding of the ESB architectural style and it's place within the overall Application Platform Architectural overview of the ESB Tookit Demonstrated the capabilities that accelerate ESB deployments
Drop your buiness card to get a „ESBT-classrom-in-a-box“ 2 DVD set
Sessions On-Demand & Community Resources for IT Professionals Resources for Developers Microsoft Certification & Training Resources Resources
Complete an evaluation on CommNet and enter to win an Xbox 360 Elite!
© 2009 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.