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
• 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

What's hot

Monoliths are so 2001 – What you need is Modularity
Monoliths are so 2001 – What you need is ModularityMonoliths are so 2001 – What you need is Modularity
Monoliths are so 2001 – What you need is Modularity
Graham Charters
 
What is new in .NET 4.5
What is new in .NET 4.5What is new in .NET 4.5
What is new in .NET 4.5Robert MacLean
 
What's new in Visual Studio for Mac for .NET Developers
What's new in Visual Studio for Mac for .NET DevelopersWhat's new in Visual Studio for Mac for .NET Developers
What's new in Visual Studio for Mac for .NET Developers
Jon Galloway
 
ASP.NET Core 3.0 Deep Dive
ASP.NET Core 3.0 Deep DiveASP.NET Core 3.0 Deep Dive
ASP.NET Core 3.0 Deep Dive
Jon Galloway
 
Wso2 con eu 2016 an introduction to the wso2 integration platform by chanak...
Wso2 con eu 2016   an introduction to the wso2 integration platform by chanak...Wso2 con eu 2016   an introduction to the wso2 integration platform by chanak...
Wso2 con eu 2016 an introduction to the wso2 integration platform by chanak...
Chanaka Fernando
 
Wso2 esb-maintenance-guide
Wso2 esb-maintenance-guideWso2 esb-maintenance-guide
Wso2 esb-maintenance-guide
Chanaka Fernando
 
Be project ppt asp.net
Be project ppt asp.netBe project ppt asp.net
Be project ppt asp.net
Sanket Jagare
 
Wcf Transaction Handling
Wcf Transaction HandlingWcf Transaction Handling
Wcf Transaction Handling
Gaurav Arora
 
Wso2 integration platform deep dive eu con 2016
Wso2 integration platform deep dive   eu con 2016Wso2 integration platform deep dive   eu con 2016
Wso2 integration platform deep dive eu con 2016
Chanaka Fernando
 
Asp.net presentation by gajanand bohra
Asp.net presentation by gajanand bohraAsp.net presentation by gajanand bohra
Asp.net presentation by gajanand bohraGajanand Bohra
 
1. WCF Services - Exam 70-487
1. WCF Services - Exam 70-4871. WCF Services - Exam 70-487
1. WCF Services - Exam 70-487Bat Programmer
 
ASP.NET - Introduction to Web Forms and MVC
ASP.NET - Introduction to Web Forms and MVCASP.NET - Introduction to Web Forms and MVC
ASP.NET - Introduction to Web Forms and MVC
Bilal Amjad
 
What’s new in the 4.5
What’s new in the 4.5What’s new in the 4.5
What’s new in the 4.5
Yuriy Seniuk
 
Web browser architecture
Web browser architectureWeb browser architecture
Web browser architecture
Nguyen Quang
 
ASP.NET Tutorial - Presentation 1
ASP.NET Tutorial - Presentation 1ASP.NET Tutorial - Presentation 1
ASP.NET Tutorial - Presentation 1
Kumar S
 

What's hot (20)

Monoliths are so 2001 – What you need is Modularity
Monoliths are so 2001 – What you need is ModularityMonoliths are so 2001 – What you need is Modularity
Monoliths are so 2001 – What you need is Modularity
 
What is new in .NET 4.5
What is new in .NET 4.5What is new in .NET 4.5
What is new in .NET 4.5
 
What's new in Visual Studio for Mac for .NET Developers
What's new in Visual Studio for Mac for .NET DevelopersWhat's new in Visual Studio for Mac for .NET Developers
What's new in Visual Studio for Mac for .NET Developers
 
ASP.NET Core 3.0 Deep Dive
ASP.NET Core 3.0 Deep DiveASP.NET Core 3.0 Deep Dive
ASP.NET Core 3.0 Deep Dive
 
Aspintro
AspintroAspintro
Aspintro
 
Introaspnet
IntroaspnetIntroaspnet
Introaspnet
 
Wso2 con eu 2016 an introduction to the wso2 integration platform by chanak...
Wso2 con eu 2016   an introduction to the wso2 integration platform by chanak...Wso2 con eu 2016   an introduction to the wso2 integration platform by chanak...
Wso2 con eu 2016 an introduction to the wso2 integration platform by chanak...
 
Firefox vs. chrome
Firefox vs. chromeFirefox vs. chrome
Firefox vs. chrome
 
Wso2 esb-maintenance-guide
Wso2 esb-maintenance-guideWso2 esb-maintenance-guide
Wso2 esb-maintenance-guide
 
Be project ppt asp.net
Be project ppt asp.netBe project ppt asp.net
Be project ppt asp.net
 
Wcf Transaction Handling
Wcf Transaction HandlingWcf Transaction Handling
Wcf Transaction Handling
 
Wso2 integration platform deep dive eu con 2016
Wso2 integration platform deep dive   eu con 2016Wso2 integration platform deep dive   eu con 2016
Wso2 integration platform deep dive eu con 2016
 
ASP.NET Basics
ASP.NET Basics ASP.NET Basics
ASP.NET Basics
 
Asp.net presentation by gajanand bohra
Asp.net presentation by gajanand bohraAsp.net presentation by gajanand bohra
Asp.net presentation by gajanand bohra
 
1. WCF Services - Exam 70-487
1. WCF Services - Exam 70-4871. WCF Services - Exam 70-487
1. WCF Services - Exam 70-487
 
ASP.NET - Introduction to Web Forms and MVC
ASP.NET - Introduction to Web Forms and MVCASP.NET - Introduction to Web Forms and MVC
ASP.NET - Introduction to Web Forms and MVC
 
What’s new in the 4.5
What’s new in the 4.5What’s new in the 4.5
What’s new in the 4.5
 
Asp Architecture
Asp ArchitectureAsp Architecture
Asp Architecture
 
Web browser architecture
Web browser architectureWeb browser architecture
Web browser architecture
 
ASP.NET Tutorial - Presentation 1
ASP.NET Tutorial - Presentation 1ASP.NET Tutorial - Presentation 1
ASP.NET Tutorial - Presentation 1
 

Viewers also liked

BizTalk Practical Course Session 1
BizTalk Practical Course Session 1BizTalk Practical Course Session 1
BizTalk Practical Course Session 1
MoustafaRefaat
 
Monitoring and Management of BizTalk Server - using BizTalk360
Monitoring and Management of BizTalk Server - using BizTalk360Monitoring and Management of BizTalk Server - using BizTalk360
Monitoring and Management of BizTalk Server - using BizTalk360
BizTalk360
 
BizTalk Application Deployment
BizTalk Application DeploymentBizTalk Application Deployment
BizTalk Application Deployment
Daniel Toomey
 
Artefactos biz talk 2006
Artefactos biz talk 2006Artefactos biz talk 2006
Artefactos biz talk 2006Sandro Pereira
 
Biz Talk Demo slideshare
Biz Talk Demo slideshareBiz Talk Demo slideshare
Biz Talk Demo slideshareerios
 
TechEd - 2008 : BizTalk RFID PPT
TechEd - 2008 :  BizTalk RFID PPTTechEd - 2008 :  BizTalk RFID PPT
TechEd - 2008 : BizTalk RFID PPT
Sudhir Hasbe
 
Highly Available BizTalk
Highly Available BizTalkHighly Available BizTalk
Highly Available BizTalk
Daniel Toomey
 
Integration Practice: How to make BizTalk Practice more profitable?
Integration Practice: How to make BizTalk Practice more profitable?Integration Practice: How to make BizTalk Practice more profitable?
Integration Practice: How to make BizTalk Practice more profitable?
Allied Consultants
 
Top 10 BizTalk Admin Tips
Top 10 BizTalk Admin TipsTop 10 BizTalk Admin Tips
Top 10 BizTalk Admin Tips
Daniel Toomey
 
BizTalk Server Tips & Tricks for Developers and Admins (Deep Dive)
BizTalk Server Tips & Tricks for Developers and Admins (Deep Dive)BizTalk Server Tips & Tricks for Developers and Admins (Deep Dive)
BizTalk Server Tips & Tricks for Developers and Admins (Deep Dive)
BizTalk360
 

Viewers also liked (10)

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

Similar to Design-Time Properties in Custom Pipeline Components

Scala at Treasure Data
Scala at Treasure DataScala at Treasure Data
Scala at Treasure Data
Taro L. Saito
 
SDAccel Design Contest: Vivado
SDAccel Design Contest: VivadoSDAccel Design Contest: Vivado
SDAccel Design Contest: Vivado
NECST Lab @ Politecnico di Milano
 
The new repository in AEM 6
The new repository in AEM 6The new repository in AEM 6
The new repository in AEM 6
Jukka Zitting
 
Build pipelines with bitbucket for Magento
Build pipelines with bitbucket for MagentoBuild pipelines with bitbucket for Magento
Build pipelines with bitbucket for Magento
Rrap Software Pvt Ltd
 
binary analysis for botnet reverse engineering.pptx
binary analysis for botnet reverse engineering.pptxbinary analysis for botnet reverse engineering.pptx
binary analysis for botnet reverse engineering.pptx
AhmedHamouda68
 
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Anupam Ranku
 
CMake: Improving Software Quality and Process
CMake: Improving Software Quality and ProcessCMake: Improving Software Quality and Process
CMake: Improving Software Quality and ProcessMarcus Hanwell
 
HOW TO DRONE.IO IN CI/CD WORLD
HOW TO DRONE.IO IN CI/CD WORLDHOW TO DRONE.IO IN CI/CD WORLD
HOW TO DRONE.IO IN CI/CD WORLD
Aleksandr Maklakov
 
Best Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker ContainersBest Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker Containers
BlueData, Inc.
 
ASP.NET MVC Workshop for Women in Technology
ASP.NET MVC Workshop for Women in TechnologyASP.NET MVC Workshop for Women in Technology
ASP.NET MVC Workshop for Women in Technology
Małgorzata Borzęcka
 
Meetup developing building and_deploying databases with SSDT
Meetup developing building and_deploying databases with SSDTMeetup developing building and_deploying databases with SSDT
Meetup developing building and_deploying databases with SSDT
Solidify
 
Domino Server Health - Monitoring and Managing
 Domino Server Health - Monitoring and Managing Domino Server Health - Monitoring and Managing
Domino Server Health - Monitoring and Managing
Gabriella Davis
 
Cmake kitware
Cmake kitwareCmake kitware
Cmake kitware
achintyalte
 
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Mandi Walls
 
Continuous Delivery at Wix
Continuous Delivery at WixContinuous Delivery at Wix
Continuous Delivery at Wix
Yoav Avrahami
 
Microservices, Kafka Streams and KafkaEsque
Microservices, Kafka Streams and KafkaEsqueMicroservices, Kafka Streams and KafkaEsque
Microservices, Kafka Streams and KafkaEsque
confluent
 
SaaS + CMS: Tricode's Technical Roadtrip
SaaS + CMS: Tricode's Technical RoadtripSaaS + CMS: Tricode's Technical Roadtrip
SaaS + CMS: Tricode's Technical Roadtrip
Magnolia
 
Magnolia conference 2014: Tricode, Technical road to Tricode SAAS, powered by...
Magnolia conference 2014: Tricode, Technical road to Tricode SAAS, powered by...Magnolia conference 2014: Tricode, Technical road to Tricode SAAS, powered by...
Magnolia conference 2014: Tricode, Technical road to Tricode SAAS, powered by...
Tricode (part of Dept)
 
Kubernetes @ meetic
Kubernetes @ meeticKubernetes @ meetic
Kubernetes @ meetic
Sébastien Le Gall
 
SOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class LibrariesSOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class Libraries
Vagif Abilov
 

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

Scala at Treasure Data
Scala at Treasure DataScala at Treasure Data
Scala at Treasure Data
 
SDAccel Design Contest: Vivado
SDAccel Design Contest: VivadoSDAccel Design Contest: Vivado
SDAccel Design Contest: Vivado
 
The new repository in AEM 6
The new repository in AEM 6The new repository in AEM 6
The new repository in AEM 6
 
Build pipelines with bitbucket for Magento
Build pipelines with bitbucket for MagentoBuild pipelines with bitbucket for Magento
Build pipelines with bitbucket for Magento
 
binary analysis for botnet reverse engineering.pptx
binary analysis for botnet reverse engineering.pptxbinary analysis for botnet reverse engineering.pptx
binary analysis for botnet reverse engineering.pptx
 
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
 
CMake: Improving Software Quality and Process
CMake: Improving Software Quality and ProcessCMake: Improving Software Quality and Process
CMake: Improving Software Quality and Process
 
HOW TO DRONE.IO IN CI/CD WORLD
HOW TO DRONE.IO IN CI/CD WORLDHOW TO DRONE.IO IN CI/CD WORLD
HOW TO DRONE.IO IN CI/CD WORLD
 
Best Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker ContainersBest Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker Containers
 
ASP.NET MVC Workshop for Women in Technology
ASP.NET MVC Workshop for Women in TechnologyASP.NET MVC Workshop for Women in Technology
ASP.NET MVC Workshop for Women in Technology
 
Meetup developing building and_deploying databases with SSDT
Meetup developing building and_deploying databases with SSDTMeetup developing building and_deploying databases with SSDT
Meetup developing building and_deploying databases with SSDT
 
Domino Server Health - Monitoring and Managing
 Domino Server Health - Monitoring and Managing Domino Server Health - Monitoring and Managing
Domino Server Health - Monitoring and Managing
 
Cmake kitware
Cmake kitwareCmake kitware
Cmake kitware
 
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
 
Continuous Delivery at Wix
Continuous Delivery at WixContinuous Delivery at Wix
Continuous Delivery at Wix
 
Microservices, Kafka Streams and KafkaEsque
Microservices, Kafka Streams and KafkaEsqueMicroservices, Kafka Streams and KafkaEsque
Microservices, Kafka Streams and KafkaEsque
 
SaaS + CMS: Tricode's Technical Roadtrip
SaaS + CMS: Tricode's Technical RoadtripSaaS + CMS: Tricode's Technical Roadtrip
SaaS + CMS: Tricode's Technical Roadtrip
 
Magnolia conference 2014: Tricode, Technical road to Tricode SAAS, powered by...
Magnolia conference 2014: Tricode, Technical road to Tricode SAAS, powered by...Magnolia conference 2014: Tricode, Technical road to Tricode SAAS, powered by...
Magnolia conference 2014: Tricode, Technical road to Tricode SAAS, powered by...
 
Kubernetes @ meetic
Kubernetes @ meeticKubernetes @ meetic
Kubernetes @ meetic
 
SOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class LibrariesSOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class Libraries
 

More from Daniel Toomey

Azure Logic Apps & AI - Building Integration & AI Solutions
Azure Logic Apps & AI - Building Integration & AI SolutionsAzure Logic Apps & AI - Building Integration & AI Solutions
Azure Logic Apps & AI - Building Integration & AI Solutions
Daniel Toomey
 
Microsoft Azure News - May 2024 - BAUG'24
Microsoft Azure News - May 2024 - BAUG'24Microsoft Azure News - May 2024 - BAUG'24
Microsoft Azure News - May 2024 - BAUG'24
Daniel Toomey
 
Azure Logic Apps and Copilot.pptx .
Azure Logic Apps and Copilot.pptx      .Azure Logic Apps and Copilot.pptx      .
Azure Logic Apps and Copilot.pptx .
Daniel Toomey
 
Microsoft Azure News - April 2024 .
Microsoft Azure News - April 2024      .Microsoft Azure News - April 2024      .
Microsoft Azure News - April 2024 .
Daniel Toomey
 
Microsoft Azure News - Feb 2024
Microsoft Azure News - Feb 2024Microsoft Azure News - Feb 2024
Microsoft Azure News - Feb 2024
Daniel Toomey
 
Microsoft Azure News - Dec 2023
Microsoft Azure News - Dec 2023Microsoft Azure News - Dec 2023
Microsoft Azure News - Dec 2023
Daniel Toomey
 
Microsoft Azure News - Nov 2023
Microsoft Azure News - Nov 2023Microsoft Azure News - Nov 2023
Microsoft Azure News - Nov 2023
Daniel Toomey
 
Microsoft AzureNews - Oct 2023
Microsoft AzureNews - Oct 2023Microsoft AzureNews - Oct 2023
Microsoft AzureNews - Oct 2023
Daniel Toomey
 
Microsoft Azure New - Sep 2023
Microsoft Azure New - Sep 2023Microsoft Azure New - Sep 2023
Microsoft Azure New - Sep 2023
Daniel Toomey
 
Microsoft Azure News - Aug 2023
Microsoft Azure News - Aug 2023Microsoft Azure News - Aug 2023
Microsoft Azure News - Aug 2023
Daniel Toomey
 
Private DNS Infrastructure Support in Hybrid Scenarios
Private DNS Infrastructure Support in Hybrid ScenariosPrivate DNS Infrastructure Support in Hybrid Scenarios
Private DNS Infrastructure Support in Hybrid Scenarios
Daniel Toomey
 
Microsoft Azure News - Jul 2023
Microsoft Azure News - Jul 2023Microsoft Azure News - Jul 2023
Microsoft Azure News - Jul 2023
Daniel Toomey
 
Microsoft Azure News - Jun 2023
Microsoft Azure News - Jun 2023Microsoft Azure News - Jun 2023
Microsoft Azure News - Jun 2023
Daniel Toomey
 
Microsoft Azure News - May 2023
Microsoft Azure News - May 2023Microsoft Azure News - May 2023
Microsoft Azure News - May 2023
Daniel Toomey
 
Microsoft Azure News - Apr 2023
Microsoft Azure News - Apr 2023Microsoft Azure News - Apr 2023
Microsoft Azure News - Apr 2023
Daniel Toomey
 
Microsoft Azure News - Mar 2023
Microsoft Azure News - Mar 2023Microsoft Azure News - Mar 2023
Microsoft Azure News - Mar 2023
Daniel Toomey
 
Microsoft Azure News - Feb 2023
Microsoft Azure News - Feb 2023Microsoft Azure News - Feb 2023
Microsoft Azure News - Feb 2023
Daniel Toomey
 
Microsoft Azure News - Jan 2023
Microsoft Azure News - Jan 2023Microsoft Azure News - Jan 2023
Microsoft Azure News - Jan 2023
Daniel Toomey
 
Microsoft Azure News - Dec 2022
Microsoft Azure News - Dec 2022Microsoft Azure News - Dec 2022
Microsoft Azure News - Dec 2022
Daniel Toomey
 
Microsoft Azure News - Nov 2022
Microsoft Azure News - Nov 2022Microsoft Azure News - Nov 2022
Microsoft Azure News - Nov 2022
Daniel Toomey
 

More from Daniel Toomey (20)

Azure Logic Apps & AI - Building Integration & AI Solutions
Azure Logic Apps & AI - Building Integration & AI SolutionsAzure Logic Apps & AI - Building Integration & AI Solutions
Azure Logic Apps & AI - Building Integration & AI Solutions
 
Microsoft Azure News - May 2024 - BAUG'24
Microsoft Azure News - May 2024 - BAUG'24Microsoft Azure News - May 2024 - BAUG'24
Microsoft Azure News - May 2024 - BAUG'24
 
Azure Logic Apps and Copilot.pptx .
Azure Logic Apps and Copilot.pptx      .Azure Logic Apps and Copilot.pptx      .
Azure Logic Apps and Copilot.pptx .
 
Microsoft Azure News - April 2024 .
Microsoft Azure News - April 2024      .Microsoft Azure News - April 2024      .
Microsoft Azure News - April 2024 .
 
Microsoft Azure News - Feb 2024
Microsoft Azure News - Feb 2024Microsoft Azure News - Feb 2024
Microsoft Azure News - Feb 2024
 
Microsoft Azure News - Dec 2023
Microsoft Azure News - Dec 2023Microsoft Azure News - Dec 2023
Microsoft Azure News - Dec 2023
 
Microsoft Azure News - Nov 2023
Microsoft Azure News - Nov 2023Microsoft Azure News - Nov 2023
Microsoft Azure News - Nov 2023
 
Microsoft AzureNews - Oct 2023
Microsoft AzureNews - Oct 2023Microsoft AzureNews - Oct 2023
Microsoft AzureNews - Oct 2023
 
Microsoft Azure New - Sep 2023
Microsoft Azure New - Sep 2023Microsoft Azure New - Sep 2023
Microsoft Azure New - Sep 2023
 
Microsoft Azure News - Aug 2023
Microsoft Azure News - Aug 2023Microsoft Azure News - Aug 2023
Microsoft Azure News - Aug 2023
 
Private DNS Infrastructure Support in Hybrid Scenarios
Private DNS Infrastructure Support in Hybrid ScenariosPrivate DNS Infrastructure Support in Hybrid Scenarios
Private DNS Infrastructure Support in Hybrid Scenarios
 
Microsoft Azure News - Jul 2023
Microsoft Azure News - Jul 2023Microsoft Azure News - Jul 2023
Microsoft Azure News - Jul 2023
 
Microsoft Azure News - Jun 2023
Microsoft Azure News - Jun 2023Microsoft Azure News - Jun 2023
Microsoft Azure News - Jun 2023
 
Microsoft Azure News - May 2023
Microsoft Azure News - May 2023Microsoft Azure News - May 2023
Microsoft Azure News - May 2023
 
Microsoft Azure News - Apr 2023
Microsoft Azure News - Apr 2023Microsoft Azure News - Apr 2023
Microsoft Azure News - Apr 2023
 
Microsoft Azure News - Mar 2023
Microsoft Azure News - Mar 2023Microsoft Azure News - Mar 2023
Microsoft Azure News - Mar 2023
 
Microsoft Azure News - Feb 2023
Microsoft Azure News - Feb 2023Microsoft Azure News - Feb 2023
Microsoft Azure News - Feb 2023
 
Microsoft Azure News - Jan 2023
Microsoft Azure News - Jan 2023Microsoft Azure News - Jan 2023
Microsoft Azure News - Jan 2023
 
Microsoft Azure News - Dec 2022
Microsoft Azure News - Dec 2022Microsoft Azure News - Dec 2022
Microsoft Azure News - Dec 2022
 
Microsoft Azure News - Nov 2022
Microsoft Azure News - Nov 2022Microsoft Azure News - Nov 2022
Microsoft Azure News - Nov 2022
 

Recently uploaded

Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 

Recently uploaded (20)

Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 

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
  • 7.
  • 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