SlideShare a Scribd company logo
Design Time Properties
 BizTalk Pipeline Components


     Daniel Toomey
       presenter
Source
• Understanding Design-Time Properties
  for Custom Pipeline Components in
  BizTalk Server
• Author: Saravana Kumar, MCAD
  (Charter member), MCP (BizTalk 2004)
• Published: December 2006
•   http://www.microsoft.com/downloads/details.aspx?FamilyID=8c2572a2-fb61-4016-a7a7-
    1c37518b39ff&displaylang=en
What Is a Pipeline?
• All messages in/out of BizTalk must go
  through a pipeline
• BizTalk includes 4 default pipelines:
  – Pass Through Receive / Transmit
  – XML Receive / Transmit
• Each pipeline has several stages
Receive Pipeline Stages
•   Decode: Used to decrypt/decode an incoming message. Examples:
    decrypt a secure message into plaintext; decode a MIME message
    into XML.
•   Disassemble: Used to convert a flat-file message to XML, if
    necessary. In addition, if the incoming message consists of a number
    of discrete messages bundled together within an
    envelope, disassemble components can be used to break the
    message into multiple single messages.
•   Validate: Used to validate an incoming message against the schema.
•   ResolveParty: The component will attempt to determine an identity for
    the sender
Send Pipeline Stages
• Pre-Assemble: Used to manipulate a message prior
  to serialization.
• Assemble: Takes the XML format the messaging
  engine turns out and converts it to a flat-file format if
  necessary, or adds an envelope to an outgoing
  message. This is a counter action to the
  Disassemble stage on the receive side.
• Encode: Used to encrypt/encode the message. This
  is a counter action to the Decode stage on the
  receive side.
What Is a Pipeline Component?

• Pipeline Components do the work
  inside the stages
• Some stages can support multiple
  components, serially processed
Design-Time Properties in Custom Pipeline Components
Design Time Properties
• Configuration settings for .NET
  components
• Can change at design time (VS) and/or
  at run time (BTS Admin Console)
Design Time Properties
Custom Design Time Properties
• Defining design-time properties using basic .NET
  data types
• Creating a drop-down list for a design-time property
• Complex types and serialization techniques
   – Custom types and TypeConverter
   – Collections and XML serialization
• Using the SchemaList class
IPersistPropertyBag Interface
• Key interface for design time properties
• Four methods:
  – GetClassID : allows use with unmanaged
    code
  – InitNew : initialise any necessary
    structures, caches, data, objects, etc
  – Load : initialise (read) properties from bag
  – Save : save properties into the bag
Creating a Custom Pipeline Component

• START FROM:
   – Copy from SDK sample
   – Use BTS Pipeline Component Wizard
   – Use sample from Saravana Kumar
     (PipelineCompTemplate.cs)
• STEPS:
   1. Change name of class in two places:
      •   Class definition
      •   Resource Manager definition (string)
   2. Generate a new unique class ID
Steps for Basic .NET Data Types
1. Define private field variables
2. Define public design time properties
3. Implement the Load method of the
   IPersistPropertyBag interface.
4. Implement the Save method of the
   IPersistPropertyBag interface
5. Implement the GetClassID and InitNew methods of
   the IPersistPropertyBag interface
6. Implement Execute method
Using the Custom Component

1. Build the project
2. Copy DLL into:
   C:Program FilesMicrosoft BizTalk Server 2006Pipeline Components

3. Add to toolbox
4. Drag onto a new BizTalk pipeline
Post-Build Event Code
IF $(ConfigurationName) EQU Release GOTO done
xcopy "$(ProjectDir)$(Outdir)$(TargetFileName)"
   "C:Program FilesMicrosoft BizTalk Server
   2006Pipeline Components" /R /Y /F
IF %ERRORLEVEL% EQU 0 GOTO done
net stop "BizTalk Service BizTalk Group :
   BizTalkServerApplication"
iisreset
xcopy "$(ProjectDir)$(Outdir)$(TargetFileName)"
   "C:Program FilesMicrosoft BizTalk Server
   2006Pipeline Components" /R /Y /F
net start "BizTalk Service BizTalk Group :
   BizTalkServerApplication"
:done
Per-Instance Pipeline Configuration

• Can set property values for each
  instance
• Set on Send / Receive port properties
• Set by Administrator
Per-Instance Pipeline Configuration
Demo
Tips
• Keep pipeline and pipeline component
  projects in separate solutions
• Ensure you generate a unique class ID
• Change namespace in two places
• Ensure properties are spelled correctly
  when represented as a string in
  PropertyBag methods
BTS Pipeline Component Wizard

• Built by Martijn Hoogendoorn (MVP)
• http://btsplcw.codeplex.com/
• Automates much of the process of
  creating a component template
• Need to build the solution & run the
  MSI
• Becomes a new BizTalk project type
Questions?

More Related Content

PPT
8 Tips & Tricks for Better BizTalk Programming
PPTX
NServiceBus
PPT
Implementing portlets using Web Scripts
PPTX
Alfresco Summit 2014 - Crafter CMS - Case European Bank
PPTX
What's New in .Net 4.5
PPTX
AMF Flash and .NET
PDF
Firefox Architecture Overview
PPTX
.NET Framework 4.0 – Changes & Benefits
8 Tips & Tricks for Better BizTalk Programming
NServiceBus
Implementing portlets using Web Scripts
Alfresco Summit 2014 - Crafter CMS - Case European Bank
What's New in .Net 4.5
AMF Flash and .NET
Firefox Architecture Overview
.NET Framework 4.0 – Changes & Benefits

What's hot (20)

PDF
Monoliths are so 2001 – What you need is Modularity
PPTX
What is new in .NET 4.5
PPTX
What's new in Visual Studio for Mac for .NET Developers
PPTX
ASP.NET Core 3.0 Deep Dive
PPT
PPT
PDF
Wso2 con eu 2016 an introduction to the wso2 integration platform by chanak...
PPT
Firefox vs. chrome
PDF
Wso2 esb-maintenance-guide
PPT
Be project ppt asp.net
PPS
Wcf Transaction Handling
PDF
Wso2 integration platform deep dive eu con 2016
PPTX
Asp.net presentation by gajanand bohra
PPTX
1. WCF Services - Exam 70-487
PPTX
ASP.NET - Introduction to Web Forms and MVC
PPTX
What’s new in the 4.5
PPS
Asp Architecture
PPTX
Web browser architecture
PPT
ASP.NET Tutorial - Presentation 1
Monoliths are so 2001 – What you need is Modularity
What is new in .NET 4.5
What's new in Visual Studio for Mac for .NET Developers
ASP.NET Core 3.0 Deep Dive
Wso2 con eu 2016 an introduction to the wso2 integration platform by chanak...
Firefox vs. chrome
Wso2 esb-maintenance-guide
Be project ppt asp.net
Wcf Transaction Handling
Wso2 integration platform deep dive eu con 2016
Asp.net presentation by gajanand bohra
1. WCF Services - Exam 70-487
ASP.NET - Introduction to Web Forms and MVC
What’s new in the 4.5
Asp Architecture
Web browser architecture
ASP.NET Tutorial - Presentation 1
Ad

Viewers also liked (10)

PDF
BizTalk Practical Course Session 1
PPTX
Monitoring and Management of BizTalk Server - using BizTalk360
PPT
BizTalk Application Deployment
PPT
Artefactos biz talk 2006
PPT
Biz Talk Demo slideshare
PPT
TechEd - 2008 : BizTalk RFID PPT
PPT
Highly Available BizTalk
PPTX
Integration Practice: How to make BizTalk Practice more profitable?
PPTX
Top 10 BizTalk Admin Tips
PPTX
BizTalk Server Tips & Tricks for Developers and Admins (Deep Dive)
BizTalk Practical Course Session 1
Monitoring and Management of BizTalk Server - using BizTalk360
BizTalk Application Deployment
Artefactos biz talk 2006
Biz Talk Demo slideshare
TechEd - 2008 : BizTalk RFID PPT
Highly Available BizTalk
Integration Practice: How to make BizTalk Practice more profitable?
Top 10 BizTalk Admin Tips
BizTalk Server Tips & Tricks for Developers and Admins (Deep Dive)
Ad

Similar to Design-Time Properties in Custom Pipeline Components (20)

PPTX
Introduction to Biz Talk - Part 2
PPT
Biz TalkMessaging Overview
PPT
Biztalk
PPTX
20131028 BTUG.be - BizTalk Deployment
PPTX
BizTalk Custom Adapters Toronto Code Camp Presentation
PPTX
BizTalk Messaging Fundamentals
DOCX
Microsoft BizTalk server seen by the programmer’s eyes
PPTX
Birds Of The Same Feather   Biz Talk Server And Wcf
PPTX
An overview of BizTalk
PPT
Bar Camp Microsoft Biz Talk Server
PPTX
Biztalk Server 2010: Introdução
PPT
PowerShell Technical Overview
PDF
BizTalk Server Extensibility
PPTX
Interacting with the Exchange Web Services
PPTX
(ATS3-DEV05) Coding up Pipeline Pilot Components
PPT
WCF and WF in Framework 3.5
PPTX
Global Windows Azure Bootcamp – Lisboa - Windows Azure Biztalk Services
PPT
10135 b 02
PDF
Wcf difference faqs-1
PPTX
Remoting and serialization
Introduction to Biz Talk - Part 2
Biz TalkMessaging Overview
Biztalk
20131028 BTUG.be - BizTalk Deployment
BizTalk Custom Adapters Toronto Code Camp Presentation
BizTalk Messaging Fundamentals
Microsoft BizTalk server seen by the programmer’s eyes
Birds Of The Same Feather   Biz Talk Server And Wcf
An overview of BizTalk
Bar Camp Microsoft Biz Talk Server
Biztalk Server 2010: Introdução
PowerShell Technical Overview
BizTalk Server Extensibility
Interacting with the Exchange Web Services
(ATS3-DEV05) Coding up Pipeline Pilot Components
WCF and WF in Framework 3.5
Global Windows Azure Bootcamp – Lisboa - Windows Azure Biztalk Services
10135 b 02
Wcf difference faqs-1
Remoting and serialization

More from Daniel Toomey (20)

PPTX
Microsoft Azure News - May 2025 - BAUG _
PPTX
Microsoft Azure News - February 2025 - BAUG
PPTX
Microsoft Azure News - January 2025 - BAUG
PPTX
Microsoft Azure News - December 2024 - BAUG
PPTX
Microsoft Azure News - November 2024 - BAUG
PPTX
Microsoft Azure News - October 2024 - BAUG
PPTX
Microsoft Azure News - September 2024 - BAUG
PPTX
Updates from the INTEGRATE 2024 Conference
PPTX
Microsoft Azure News - August 2024 - BAUG
PPTX
Microsoft Azure News - July 2024 -- BAUG
PPTX
Azure Logic Apps & AI - Building Integration & AI Solutions
PPTX
Microsoft Azure News - May 2024 - BAUG'24
PPTX
Azure Logic Apps and Copilot.pptx .
PPTX
Microsoft Azure News - April 2024 .
PPTX
Microsoft Azure News - Feb 2024
PPTX
Microsoft Azure News - Dec 2023
PPTX
Microsoft Azure News - Nov 2023
PPTX
Microsoft AzureNews - Oct 2023
PPTX
Microsoft Azure New - Sep 2023
PPTX
Microsoft Azure News - Aug 2023
Microsoft Azure News - May 2025 - BAUG _
Microsoft Azure News - February 2025 - BAUG
Microsoft Azure News - January 2025 - BAUG
Microsoft Azure News - December 2024 - BAUG
Microsoft Azure News - November 2024 - BAUG
Microsoft Azure News - October 2024 - BAUG
Microsoft Azure News - September 2024 - BAUG
Updates from the INTEGRATE 2024 Conference
Microsoft Azure News - August 2024 - BAUG
Microsoft Azure News - July 2024 -- BAUG
Azure Logic Apps & AI - Building Integration & AI Solutions
Microsoft Azure News - May 2024 - BAUG'24
Azure Logic Apps and Copilot.pptx .
Microsoft Azure News - April 2024 .
Microsoft Azure News - Feb 2024
Microsoft Azure News - Dec 2023
Microsoft Azure News - Nov 2023
Microsoft AzureNews - Oct 2023
Microsoft Azure New - Sep 2023
Microsoft Azure News - Aug 2023

Recently uploaded (20)

PPTX
Big Data Technologies - Introduction.pptx
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
Spectroscopy.pptx food analysis technology
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
MYSQL Presentation for SQL database connectivity
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Machine learning based COVID-19 study performance prediction
PPTX
sap open course for s4hana steps from ECC to s4
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Big Data Technologies - Introduction.pptx
MIND Revenue Release Quarter 2 2025 Press Release
Network Security Unit 5.pdf for BCA BBA.
Programs and apps: productivity, graphics, security and other tools
Spectroscopy.pptx food analysis technology
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
MYSQL Presentation for SQL database connectivity
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Dropbox Q2 2025 Financial Results & Investor Presentation
Digital-Transformation-Roadmap-for-Companies.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
The AUB Centre for AI in Media Proposal.docx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Machine learning based COVID-19 study performance prediction
sap open course for s4hana steps from ECC to s4
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf

Design-Time Properties in Custom Pipeline Components

  • 1. Design Time Properties BizTalk Pipeline Components Daniel Toomey presenter
  • 2. Source • Understanding Design-Time Properties for Custom Pipeline Components in BizTalk Server • Author: Saravana Kumar, MCAD (Charter member), MCP (BizTalk 2004) • Published: December 2006 • http://www.microsoft.com/downloads/details.aspx?FamilyID=8c2572a2-fb61-4016-a7a7- 1c37518b39ff&displaylang=en
  • 3. What Is a Pipeline? • All messages in/out of BizTalk must go through a pipeline • BizTalk includes 4 default pipelines: – Pass Through Receive / Transmit – XML Receive / Transmit • Each pipeline has several stages
  • 4. Receive Pipeline Stages • Decode: Used to decrypt/decode an incoming message. Examples: decrypt a secure message into plaintext; decode a MIME message into XML. • Disassemble: Used to convert a flat-file message to XML, if necessary. In addition, if the incoming message consists of a number of discrete messages bundled together within an envelope, disassemble components can be used to break the message into multiple single messages. • Validate: Used to validate an incoming message against the schema. • ResolveParty: The component will attempt to determine an identity for the sender
  • 5. Send Pipeline Stages • Pre-Assemble: Used to manipulate a message prior to serialization. • Assemble: Takes the XML format the messaging engine turns out and converts it to a flat-file format if necessary, or adds an envelope to an outgoing message. This is a counter action to the Disassemble stage on the receive side. • Encode: Used to encrypt/encode the message. This is a counter action to the Decode stage on the receive side.
  • 6. What Is a Pipeline Component? • Pipeline Components do the work inside the stages • Some stages can support multiple components, serially processed
  • 8. Design Time Properties • Configuration settings for .NET components • Can change at design time (VS) and/or at run time (BTS Admin Console)
  • 10. Custom Design Time Properties • Defining design-time properties using basic .NET data types • Creating a drop-down list for a design-time property • Complex types and serialization techniques – Custom types and TypeConverter – Collections and XML serialization • Using the SchemaList class
  • 11. IPersistPropertyBag Interface • Key interface for design time properties • Four methods: – GetClassID : allows use with unmanaged code – InitNew : initialise any necessary structures, caches, data, objects, etc – Load : initialise (read) properties from bag – Save : save properties into the bag
  • 12. Creating a Custom Pipeline Component • START FROM: – Copy from SDK sample – Use BTS Pipeline Component Wizard – Use sample from Saravana Kumar (PipelineCompTemplate.cs) • STEPS: 1. Change name of class in two places: • Class definition • Resource Manager definition (string) 2. Generate a new unique class ID
  • 13. Steps for Basic .NET Data Types 1. Define private field variables 2. Define public design time properties 3. Implement the Load method of the IPersistPropertyBag interface. 4. Implement the Save method of the IPersistPropertyBag interface 5. Implement the GetClassID and InitNew methods of the IPersistPropertyBag interface 6. Implement Execute method
  • 14. Using the Custom Component 1. Build the project 2. Copy DLL into: C:Program FilesMicrosoft BizTalk Server 2006Pipeline Components 3. Add to toolbox 4. Drag onto a new BizTalk pipeline
  • 15. Post-Build Event Code IF $(ConfigurationName) EQU Release GOTO done xcopy "$(ProjectDir)$(Outdir)$(TargetFileName)" "C:Program FilesMicrosoft BizTalk Server 2006Pipeline Components" /R /Y /F IF %ERRORLEVEL% EQU 0 GOTO done net stop "BizTalk Service BizTalk Group : BizTalkServerApplication" iisreset xcopy "$(ProjectDir)$(Outdir)$(TargetFileName)" "C:Program FilesMicrosoft BizTalk Server 2006Pipeline Components" /R /Y /F net start "BizTalk Service BizTalk Group : BizTalkServerApplication" :done
  • 16. Per-Instance Pipeline Configuration • Can set property values for each instance • Set on Send / Receive port properties • Set by Administrator
  • 18. Demo
  • 19. Tips • Keep pipeline and pipeline component projects in separate solutions • Ensure you generate a unique class ID • Change namespace in two places • Ensure properties are spelled correctly when represented as a string in PropertyBag methods
  • 20. BTS Pipeline Component Wizard • Built by Martijn Hoogendoorn (MVP) • http://btsplcw.codeplex.com/ • Automates much of the process of creating a component template • Need to build the solution & run the MSI • Becomes a new BizTalk project type