Welcome to GDC’05 Riyadh, Saudi Arabia
GDC-402 Custom BizTalk2004 Adapters Mohammad Junaid Ahsan Senior Consultant Microsoft mahsan@microsoft.com
Custom BizTalk2004 Adapters Agenda Session Objectives & Pre-requisites Introduction to Adapters BizTalk Adapter Framework Adapter Development Drill-down Design-Time Experience Run-Time Experience Adapter Registration Debugging Adapters References
Custom BizTalk2004 Adapters Agenda Session Objectives & Pre-requisites Introduction to Adapters BizTalk Adapter Framework Adapter Development Drill-down Design-Time Experience Run-Time Experience Adapter Registration Debugging Adapters References
Session Objectives Introduce BizTalk2004 Adapter Framework Provide an overview of Adapter development
Pre-requisites Some Familiarity with BizTalk2004 .Net development using C# OOP and use of Interfaces
Custom BizTalk2004 Adapters Agenda Session Objectives & Pre-requisites Introduction to Adapters BizTalk Adapter Framework Adapter Development Drill-down Design-Time Experience Run-Time Experience Adapter Registration Debugging Adapters References
Introduction to Adapters Problem-space Background E-Commerce Web Server Accounting Order Management CRM ERP Logistics Sales Force Automation
Introduction to Adapters Background E-Commerce Web Server Accounting Order Management CRM ERP Logistics Sales Force Automation Message Oriented Middleware And Message Broker What are Adapters Why do we need them?
BizTalk2004 Adapters Introduction Microsoft provides some Adapters but relies mostly on its Partner Eco-system to grow the adapter market Opportunity for Developers Challenges faced by developers in the past…
Custom BizTalk2004 Adapters Agenda Session Objectives & Pre-requisites Introduction to Adapters BizTalk Adapter Framework Adapter Development Drill-down Design-Time Experience Run-Time Experience Adapter Registration Debugging Adapters References
BizTalk2004 Adapter Framework An Introduction Ease of use of adapters Unified configuration Unified management Unified metadata harvesting Increase applicability of adapters Make adapters available for pre-packaged solutions / OEM type scenarios Make adapters “drivable” from any App/UI Enterprise strength the capabilities and flexibility of the run-time Batching, streaming, etc.
BizTalk2004 Adapter Framework An Introduction (contd) Installation Time Adapter registration Design-time Configuration Exposing functionality as services Run-time Interfaces Shared Services Pipeline components Single Sign-on
Introduction to Adapters BizTalk2004 Core Engine Overview Message Box
Introduction to Adapters BizTalk2004 Core Engine Overview Orchestration Transport Transport Decrypt Parse Resolve Party Serialize Sign Encrypt Receive Pipeline Send Pipeline Message Box
BizTalk2004 Adapters Introduction Types of Adapters Technology Adapters Application Adapters Data Adapters
BizTalk2004 Adapters Introduction Terminology Messaging Ports Handlers Locations Handler Adapter Pipeline Decrypt Parse Resolve Party Receive Location Receive Port
Custom BizTalk2004 Adapters Agenda Session Objectives & Pre-requisites Introduction to Adapters BizTalk Adapter Framework Adapter Development Drill-down Design-Time Experience Run-Time Experience Adapter Registration Debugging Adapters References
Adapter Development Drill-down Elements of an Adapter Adapter Registration (Hooking-up with BizTalk) Design-Time (Adapter Configuration by Admin) Run-Time (Message Exchange) Adapter Framework Interfaces “Don’t call us we will call you” Asynchronous
Adapter Registration Telling BizTalk about your Adapter Adapter Registry Wizard Part of SDK/Utilities Produces a registry file Registry entries Design time assembly references Run-time assembly references Description of capabilities of adapter
Adapter Registration Demo A Closer look at the Adapter Registry Wizard and the resulting registry file
Design Time Interfaces BizTalk UI IAdapterConfig IAdapterConfigValidation Meta Data Harvesting IStaticAdapterConfig Custom UI IDynamicAdapterConfig
Design Time Flow of Execution BizTalk Explorer Adapter IAdapterConfig IStaticAdapterConfig IDynamicAdapterConfig IAdapterConfigValidation / Admin GetConfigSchema() ValidateConfiguration() GetServiceOrganization() GetServiceDescription() GetSchema() DisplayUI() GetSchema()
Adapter Design Time Demo A Closer look at the Adapter Design Time Experience
Run Time Messaging Engine Overview
Run-Time Message Exchange Patterns One Way FILE, HTTP, SharePoint, etc. Request Response HTTP, SOAP Receive Adapters Solicit-Response HTTP, SOAP Send Adapters Others… Loopback NullSendAdapter Request-Multi-Response
Run-Time Hosting Models In-Process or Managed Adapter BTSNTSvc.exe is the host All send adapters Asynchronous and stateless design Out-of-Process or Isolated Adapters Custom host, e.g. Windows service, Exe, IIS, etc. Request-Response adapters
In-Process Adapter Hosting Model
In-Process Considerations Solution Deployment Architecture Message box Network Load Balance Host Machine Stored procs Data SQL Server Machine SQL Server Machine (Master)
Isolated Adapters
Run-Time Interfaces
Run-Time Adapter Initialization Deliver (Receive/Transmit) Handler Properties Deliver (Receive/Transmit) Locations
Run Time In-Process Initialization Flow Provides IBTSTransportProxy
Run Time Isolated Adapter Initialization
Run-Time Receiving a Message All data exchange using Batches of Messages Adapter Receives a message and submits it to BizTalk using these steps: GetBatch Submit (add to batch) Done (submit batch to BizTalk)
Run Time One-way Message Receive Flow
Run Time Two-way Message Receive Flow
A Closer look at Receive part of a BizTalk2004 Adapter Receive Adapter Demo A Closer look at Receive part of a BizTalk2004 Adapter
Run-Time Transmit Adapters Non Blocking vs. Blocking Batched vs. Batched
Run-Time Transmit Adapter Interfaces
Run-Time Batched Send Message Flow
Run-Time Solicit-Response Message Flow
A Closer look at the Transmit part of BizTalk2004 Adapter Transmit Adapter Demo A Closer look at the Transmit part of BizTalk2004 Adapter
Debugging the Receive and the Transmit Adapters Debugging Demo Debugging the Receive and the Transmit Adapters
References BizTalk Documentation Kevin Smith’s: Get the December 2004 documentation refresh – www.microsoft.com/biztalk/downloads Kevin Smith’s: “Microsoft BizTalk2004 Adapters: A Developers Guide” (see Microsoft site or GotDotNet or blogs.msdn.com/scottwoo) Adapter Certification Program Visit GotDotNet and BizTalk blogs Visit MSDN Plenty of people blogging… including people from the product team
In Closing… Thank you BizTalk2004 is a very powerful product BizTalk Adapter Framework allows us to create custom adapters, leveraging some of the High Availability/Scalability/Resilience features of BTS2k4 BizTalk2006 – seamless migration To you developers out there: “Happy Adapter writing…”
© 2005 Microsoft Corporation. All rights reserved © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.