340 likes | 669 Views
SVR16. Connecting Applications with the Microsoft BizTalk Enterprise Service Bus Toolkit. Dmitri Ossipov Principal Program Manager Microsoft Corp. Syed K. Rasheed Sr. Product Manager Microsoft Corp. Agenda. Application Integration Challenges ESB Toolkit Frameworks and Architecture
E N D
SVR16 Connecting Applications with the Microsoft BizTalk Enterprise Service Bus Toolkit Dmitri Ossipov • Principal Program Manager • Microsoft Corp. Syed K. Rasheed Sr. Product Manager Microsoft Corp.
Agenda • Application Integration Challenges • ESB Toolkit Frameworks and Architecture • Components Drilldown & Demos • Patterns & Extensibility • BizTalk ESB Toolkit Benefits • Summary
Connecting Application is Not EnoughPoint-to-Point Integration Inhibits Agility • Point-to-Point • Complex Interface • Redundant Logic • Doesn’t Scale • Lacks Visibility • Business Impact • Delays Response to changing business needs Java Appl. Service .Net Appl. Service SAP Service Oracle Service JD Edwards Service MS CRM Service CICS Service AS/400 Service
Agility thru Service Composition Service Consumer • Service Consumer • Service Consumer Location & Version Transparency Transport Protocol Conversion Data Format Transformation Enterprise Service Bus Message Interactions Support Invocation & Orchestration Error Handling & Repair Service Provider Service Provider Service Provider
ESB Toolkit - New Abstraction Layer on Top of BizTalkDeclarative, Meta-data, Policy and Configuration –Driven. • Transform my message • Determine which endpoint I need • Route my message • Route the response to a second service • Return the final result to me • Transform my message Routing Transform Service Process Orchestration On Ramp Off Ramp BizTalk ESB Toolkit Protocol Adaptation Pub/Sub Service End Point Resolution Service Consumers Service Providers • Resolve a service end point address for me
BizTalk ESB Toolkit Components On/Off-Ramps Management Portal Core Web Services ESB Toolkit ESB Toolkit Core Resolvers Adapter Providers Itinerary Services Exception Management Adapters Dynamic Ports Host Environment UDDI 3.0 BAM BizTalk Components Transformation Engine Pub Sub Engine Business Rules Engine Orchestration Engine
BizTalk ESB Toolkit Architecture ESB Management Portal Core Web Services • Transformation Web Service • Provisioning Framework ESB Toolkit Core • Reports • Resolver Web Service • Itinerary Services • Alerts • Exception Web Service Route Service Transform Service Custom Service • Operations Web Service • UDDI Web Service Exception Management Store • Resolver-Adapter Provider Framework Adapter Providers(…) Resolvers (…) BizTalk Receive Ports BizTalk Send Ports • Exception Management Framework Exception Handler Exception Logger Fault Processor On-Ramps Off-Ramps • Generic SOAP • Receive • Generic SOAP • Send BAM UDDI 3.0 • Pipeline • Pipeline Business Rules Engine • Generic WCF • Receive • Generic WCF • Send • Pipeline • Pipeline TransformationEngine • Generic JMS • Receive • Generic JMS • Send • Pipeline • Pipeline Orchestration Engine • Custom • Receive • Custom • Send • Custom Pipeline • Custom Pipeline BizTalk Pub/Sub Engine Itinerary Store
The Core ESB Toolkit Components Itinerary Services: Message Processor Itinerary Policy Resolvers: Context Finder AdapterProviders: Adapter Properties
Demo Introduction Itinerary, Routing and Transformation
Itinerary Services: OrchestrationInvoked via orchestration subscription • Executed by BizTalk runtime via orchestration subscriptions BizTalk Pub/Sub Engine Message + Routing slip Message + Routing slip Orchestration Service Service Adapter Provider Resolver
Itinerary Services: MessagingInvoked as by ESBT interceptor pipeline component • Messaging Services • Loaded using dependency injection • Can produce multiple messages if invoked from ESBT disassembler Message + Routing slip Message + Routing slip Messaging Service Adapter Provider Resolver
ESB Toolkit Resolver • ESB Resolver • Endpoint Resolution • UDDI 2.0/3.0 • XPATH • Static • Business Rules Engine (BRE) • Artifact Resolution • Itinerary (BRE) • Itinerary Static
ESB Adapter Provider • FTP • WebSphere MQ • File • Custom • WCF-BasicHTTP • WCF-WsHTTP • WCF-Custom • WCF-SQL • SMTP
Itinerary ModelingModels and designer extensions Itinerary DSL model Service Definition Service Definition Adapter Manifests Designer Extenders Technology Definition Custom Extender Itinerary Services Configuration Itinerary Runtime Model (XML) Runtime Definition
Three Ways to Assign Itineraries Itinerary is resolved on the server’s ESB On-Ramp receiving port via configurable resolver Client resolves itinerary via resolver service and then sends it in a WCF/SOAP Header request Client sends an itinerary in a WCF/SOAP Header request AdaptiveServiceClient AdvancedServiceClient • ServiceProxy
Itineraries Deployment Design Time Test/Run Time Message OnRamp Itinerary Itinerary Selector XML File • BizTalk Deployment • Tools Itinerary &Message ItineraryStore ItineraryStore ESB Processing
Demo Resolvers
ESB Design PatternsThe ESB Toolkit promotes pattern-based development • Message Routing Patterns • Message Router • Content-Based Router • Routing Slip • Scatter-Gather • Recipient List • Splitter • Message Transformation Patterns • Message Translator • Normalizer • Content Enricher • Service Mediation Patterns • VETO/VETRO • Request-Response • Service Management Patterns • Repair and Resubmit
Demo Pattern: Content-Based Router • Problem • How do we handle a situation where the implementation of a single logical function (e.g., inventory check) is spread across multiple physical systems? • Solution • Use a Content-Based Router to route each message to the correct recipient based on message content • Sample Usage • Use routing service with a resolver to specify routing properties
Demo Content Based Routing
ESB Toolkit Administration PortalEnables unified exception visibility and handling • The Portal provides • Graphical metrics • Repair and resubmit functionality • Alerting based on exception events • Auditing trails for repair and resubmit • Unified view of the .NET Exception data + BizTalk message + BizTalk context properties • Historical views of exception data • Remote web based access • Filtering of exceptions based on application • Arrives as a customizable sample
Demo ESB Toolkit Management Portal
Demo ESB Toolkit Extensibility
BizTalk ESB Toolkit provides Service Composition Challenges: • Location & Version Changes • Sequencing Changes • Data Semantics Mismatch • Transport Protocol Mismatch • Interaction Model Mismatch • Quality of protection • Error Recovery • Monitoring & Visibility • Quality of service BizTalk ESB Solutions: • Dynamic Endpoint Resolution • Itinerary-based Routing • Dynamic Transformation • Protocol Mediation • Itineraries-based Processing • BizTalk Security Model & SSO • Exception Framework & Portal • BAM Integration • Exception Management Portal
BizTalk ESB Toolkit Benefits Provides the right benefits to cope with complex and rapidly changing integration challenges Higher levels of service re-use Lower operational costs Faster adaptation to business changes Visibility business and exception metrics • Highly extensible to introduce new functionality or encapsulate patterns
How Do I get Started? • Try BizTalk ESB Tool Hands-On Lab at the PDC • Self-Paced Training DVD at the BizTalk Booth • Get more information: • ESB Page on BizTalk Website • ESB Toolkit Developer Center on MSDN • ESB Toolkit Documentation • Use MSC engagement model: Plan, Build and Deploy for Microsoft BizTalk ESB Toolkit Offering • BizTalk Partner: • Find implementation partner at ESB partners list • Training instructors at Training Partners
YOUR FEEDBACK IS IMPORTANT TO US! Please fill out session evaluation forms online at MicrosoftPDC.com
Learn More On Channel 9 • Expand your PDC experience through Channel 9 • Explore videos, hands-on labs, sample code and demos through the new Channel 9 training courses channel9.msdn.com/learn Built by Developers for Developers….
Thanks! © 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.