SlideShare une entreprise Scribd logo
1  sur  21
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?

Contenu connexe

Tendances

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 ModularityGraham 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 DevelopersJon 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 DiveJon 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-guideChanaka Fernando
 
Be project ppt asp.net
Be project ppt asp.netBe project ppt asp.net
Be project ppt asp.netSanket Jagare
 
Wcf Transaction Handling
Wcf Transaction HandlingWcf Transaction Handling
Wcf Transaction HandlingGaurav 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 2016Chanaka 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 MVCBilal 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.5Yuriy Seniuk
 
Web browser architecture
Web browser architectureWeb browser architecture
Web browser architectureNguyen Quang
 
ASP.NET Tutorial - Presentation 1
ASP.NET Tutorial - Presentation 1ASP.NET Tutorial - Presentation 1
ASP.NET Tutorial - Presentation 1Kumar S
 

Tendances (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
 

En vedette

BizTalk Practical Course Session 1
BizTalk Practical Course Session 1BizTalk Practical Course Session 1
BizTalk Practical Course Session 1MoustafaRefaat
 
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 BizTalk360BizTalk360
 
BizTalk Application Deployment
BizTalk Application DeploymentBizTalk Application Deployment
BizTalk Application DeploymentDaniel 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 PPTSudhir Hasbe
 
Highly Available BizTalk
Highly Available BizTalkHighly Available BizTalk
Highly Available BizTalkDaniel 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 TipsDaniel 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
 

En vedette (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)
 

Similaire à Design-Time Properties in Custom Pipeline Components

Scala at Treasure Data
Scala at Treasure DataScala at Treasure Data
Scala at Treasure DataTaro L. Saito
 
The new repository in AEM 6
The new repository in AEM 6The new repository in AEM 6
The new repository in AEM 6Jukka Zitting
 
Build pipelines with bitbucket for Magento
Build pipelines with bitbucket for MagentoBuild pipelines with bitbucket for Magento
Build pipelines with bitbucket for MagentoRrap 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.pptxAhmedHamouda68
 
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 WORLDAleksandr 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 ContainersBlueData, 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 TechnologyMał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 SSDTSolidify
 
Domino Server Health - Monitoring and Managing
 Domino Server Health - Monitoring and Managing Domino Server Health - Monitoring and Managing
Domino Server Health - Monitoring and ManagingGabriella Davis
 
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 2018Mandi Walls
 
Continuous Delivery at Wix
Continuous Delivery at WixContinuous Delivery at Wix
Continuous Delivery at WixYoav Avrahami
 
Microservices, Kafka Streams and KafkaEsque
Microservices, Kafka Streams and KafkaEsqueMicroservices, Kafka Streams and KafkaEsque
Microservices, Kafka Streams and KafkaEsqueconfluent
 
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)
 
SaaS + CMS: Tricode's Technical Roadtrip
SaaS + CMS: Tricode's Technical RoadtripSaaS + CMS: Tricode's Technical Roadtrip
SaaS + CMS: Tricode's Technical RoadtripMagnolia
 
SOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class LibrariesSOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class LibrariesVagif Abilov
 

Similaire à 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
 
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...
 
SaaS + CMS: Tricode's Technical Roadtrip
SaaS + CMS: Tricode's Technical RoadtripSaaS + CMS: Tricode's Technical Roadtrip
SaaS + CMS: Tricode's Technical Roadtrip
 
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
 

Plus de 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 2024Daniel Toomey
 
Microsoft Azure News - Dec 2023
Microsoft Azure News - Dec 2023Microsoft Azure News - Dec 2023
Microsoft Azure News - Dec 2023Daniel Toomey
 
Microsoft Azure News - Nov 2023
Microsoft Azure News - Nov 2023Microsoft Azure News - Nov 2023
Microsoft Azure News - Nov 2023Daniel Toomey
 
Microsoft AzureNews - Oct 2023
Microsoft AzureNews - Oct 2023Microsoft AzureNews - Oct 2023
Microsoft AzureNews - Oct 2023Daniel Toomey
 
Microsoft Azure New - Sep 2023
Microsoft Azure New - Sep 2023Microsoft Azure New - Sep 2023
Microsoft Azure New - Sep 2023Daniel Toomey
 
Microsoft Azure News - Aug 2023
Microsoft Azure News - Aug 2023Microsoft Azure News - Aug 2023
Microsoft Azure News - Aug 2023Daniel 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 ScenariosDaniel Toomey
 
Microsoft Azure News - Jul 2023
Microsoft Azure News - Jul 2023Microsoft Azure News - Jul 2023
Microsoft Azure News - Jul 2023Daniel Toomey
 
Microsoft Azure News - Jun 2023
Microsoft Azure News - Jun 2023Microsoft Azure News - Jun 2023
Microsoft Azure News - Jun 2023Daniel Toomey
 
Microsoft Azure News - May 2023
Microsoft Azure News - May 2023Microsoft Azure News - May 2023
Microsoft Azure News - May 2023Daniel Toomey
 
Microsoft Azure News - Apr 2023
Microsoft Azure News - Apr 2023Microsoft Azure News - Apr 2023
Microsoft Azure News - Apr 2023Daniel Toomey
 
Microsoft Azure News - Mar 2023
Microsoft Azure News - Mar 2023Microsoft Azure News - Mar 2023
Microsoft Azure News - Mar 2023Daniel Toomey
 
Microsoft Azure News - Feb 2023
Microsoft Azure News - Feb 2023Microsoft Azure News - Feb 2023
Microsoft Azure News - Feb 2023Daniel Toomey
 
Microsoft Azure News - Jan 2023
Microsoft Azure News - Jan 2023Microsoft Azure News - Jan 2023
Microsoft Azure News - Jan 2023Daniel Toomey
 
Microsoft Azure News - Dec 2022
Microsoft Azure News - Dec 2022Microsoft Azure News - Dec 2022
Microsoft Azure News - Dec 2022Daniel Toomey
 
Microsoft Azure News - Nov 2022
Microsoft Azure News - Nov 2022Microsoft Azure News - Nov 2022
Microsoft Azure News - Nov 2022Daniel Toomey
 
Microsoft Azure News - Oct 2022
Microsoft Azure News - Oct 2022Microsoft Azure News - Oct 2022
Microsoft Azure News - Oct 2022Daniel Toomey
 
Microsoft Azure News - Sep 2022.pptx
Microsoft Azure News - Sep 2022.pptxMicrosoft Azure News - Sep 2022.pptx
Microsoft Azure News - Sep 2022.pptxDaniel Toomey
 

Plus de Daniel Toomey (20)

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
 
Microsoft Azure News - Oct 2022
Microsoft Azure News - Oct 2022Microsoft Azure News - Oct 2022
Microsoft Azure News - Oct 2022
 
Microsoft Azure News - Sep 2022.pptx
Microsoft Azure News - Sep 2022.pptxMicrosoft Azure News - Sep 2022.pptx
Microsoft Azure News - Sep 2022.pptx
 

Dernier

(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 

Dernier (20)

(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 

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