module 6: creating pipelines. overview lesson 1: introduction to pipelines lesson 2: building a...
TRANSCRIPT
Module 6:Creating Pipelines
Overview
Lesson 1: Introduction to Pipelines
Lesson 2: Building a Pipeline
Lesson 1: Introduction to Pipelines
What Is a Pipeline?
Pipeline Scenarios
Receive Pipeline Stages
Send Pipeline Stages
Pipeline Components
What Are the Default Pipelines?
What Are Custom Pipeline Components?
Types of Pipeline Components
Receive PipelineReceive Pipeline Send PipelineSend PipelineOrchestrationOrchestration
What Is a Pipeline?
Pipeline Components
Use pipelines to:Use pipelines to:
Normalize data from various formats to XML
Translate data from XML to various formats
Assemble and disassemble documents
Decode and encode documents
Decrypt and encrypt documents
Assign and verify digital signatures
Normalize data from various formats to XML
Translate data from XML to various formats
Assemble and disassemble documents
Decode and encode documents
Decrypt and encrypt documents
Assign and verify digital signatures
Pipeline Scenarios
Receive Pipelines:Receive Pipelines:
Decrypt inbound messages from trading partnersSplit batched messagesValidate messages against known schemasVerify the sender of a message for non-repudiationCreate custom processors to extend built-in functionality
Decrypt inbound messages from trading partnersSplit batched messagesValidate messages against known schemasVerify the sender of a message for non-repudiationCreate custom processors to extend built-in functionality
Send Pipelines:Send Pipelines:
Encrypt outbound messages to trading partnersDigitally sign outbound messagesProvide a wrapper for outbound messagesValidate messages against known schemas
Encrypt outbound messages to trading partnersDigitally sign outbound messagesProvide a wrapper for outbound messagesValidate messages against known schemas
Receive Pipeline Stages
Decode
Drop Here!!
Disassemble
Drop Here!!
Resolve Party
Validate
Drop Here!!
Drop Here!!
DisassembleDisassemble
Use to parse or disassemble components
Use to probe messages and verify context properties
BizTalk Server includes an XML, flat file, and a BTF disassembler
Use to parse or disassemble components
Use to probe messages and verify context properties
BizTalk Server includes an XML, flat file, and a BTF disassembler
ValidateValidate
Use to validate the format of an XML message
Use to compare a message to a known schema
Use to validate the format of an XML message
Use to compare a message to a known schema
Resolve PartyResolve Party
Use to verify the sending party for a received message
Use with public certificates to validate sender
Use to verify the sending party for a received message
Use with public certificates to validate sender
DecodeDecode
Use to decode or decrypt messages
Use when secure document exchange is required
BizTalk includes a MIME/SMIME Decoder
Use to decode or decrypt messages
Use when secure document exchange is required
BizTalk includes a MIME/SMIME Decoder
Send Pipeline Stages
Drop Here!!
Pre-Assemble
Drop Here!!
Drop Here!!
Assemble
Encode
Pre-assemblePre-assemble
Use to process a message before it is sent
Use for custom components only
Use to process a message before it is sent
Use for custom components only
AssembleAssemble
Use to assemble or serialize a message
Use to convert a message from XML to native format
Use to assemble or serialize a message
Use to convert a message from XML to native format
EncodeEncode
To encode or encrypt messages
Use when secure document exchange is required
BizTalk includes a MIME/SMIME decoder
To encode or encrypt messages
Use when secure document exchange is required
BizTalk includes a MIME/SMIME decoder
Pipeline Components
Built-in pipeline componentsBuilt-in pipeline components
XML assembler/disassembler
Flat File assembler/disassembler
MIME/SMIME encoding and decoding
XML validation
Party resolution
XML assembler/disassembler
Flat File assembler/disassembler
MIME/SMIME encoding and decoding
XML validation
Party resolution
A pipeline component defines a processing actionA pipeline component defines a processing action
Numerous pipeline components ship with BizTalk Server
You can write custom pipeline components
Numerous pipeline components ship with BizTalk Server
You can write custom pipeline components
What Are the Default Pipelines?
Pipeline Usage
Pass-Through Receive(PassThruReceive)
Contains no componentsNo decoding, disassembling, orvalidation required
Pass-Through Send(PassThruTransmit)
Contains no componentsNo encoding or assembling requiredUse for basic message routing
XML Receive(XMLReceive)
Contains the XML disassembler componentParty resolution component for securityNo decoding or validation stage
XML Send(XMLTransmit)
Contains the XML assembler componentOther stages empty by default
What Are Custom Pipeline Components?
Use ScenariosUse Scenarios
Non-XML validations
Non-supported decryption algorithms
Non-supported signature formats
Custom data conversions
Advanced routing requirements
Specialized processing
Non-XML validations
Non-supported decryption algorithms
Non-supported signature formats
Custom data conversions
Advanced routing requirements
Specialized processing
Custom Pipeline ComponentsCustom Pipeline Components
Use to extend message processing capabilities
Use when standard pipeline components are not sufficient
Use to extend message processing capabilities
Use when standard pipeline components are not sufficient
Types of Pipeline ComponentsInterfacesInterfaces
IBaseComponent
IComponent
IComponentUI
IPersistPropertyBag
IBaseComponent
IComponent
IComponentUI
IPersistPropertyBag
Promoting a Distinguished FieldPromoting a Distinguished Field
msg.Context.Write("ItemDescription",
"http://www.contoso.com/purchaseOrder/propertyFields", “X-Ray machine");
Promoting a Property FieldPromoting a Property Field
msg.Context.Promote("OrderTotal", "http://www.contoso.com/purchaseOrder/propertyFields", “20000.00");
Three types of componentsThree types of components
General
Assembling
Disassembling
General
Assembling
Disassembling
Lesson 2: Building a Pipeline
Using the Pipeline Designer
Securing Data by Using a Pipeline
Processing Interchanges by Using a Pipeline
Creating Schemas for Interchange Processing
Testing an Envelope Schema
Demonstration: Creating and Testing a Pipeline
Using the Pipeline Designer
Pipeline FilesPipeline Files
Properties WindowProperties Window
Design SurfaceDesign SurfaceToolboxToolbox
Securing Data by Using a Pipeline
PipelinePipeline
MIME/SMIMEEncod
erComponent
Message
MIME/SMIME EncoderMIME/SMIME Encoder
Use for secure exchange of messages
Can use to encode, sign, and encrypt
Supports multi-part messages
Use for secure exchange of messages
Can use to encode, sign, and encrypt
Supports multi-part messages
Processing Interchanges by Using a Pipeline
May Require Multiple SchemasMay Require Multiple Schemas
Header (Envelope)
Body
Trailer
Header (Envelope)
Body
Trailer
Interchange ProcessingInterchange Processing
Standard
Recoverable
Standard
Recoverable
Disassembler Properties
Disassembler Properties
Flat FilesFlat Files
Creating Schemas for Interchange Processing
Sender: ContosoRecipient: AdvWorks
POs
Header_FF.xsd (Company, address, batch#)
PurchaseOrder_FF.xsd
Trailer_FF.xsd
XML FilesXML FilesEnvelope.xsd (Envelope attributes)
PurchaseOrder.xsd
<Any>
Sender: ContosoRecipient: AdvWorks
POs
Testing an Envelope Schema
Tools Usage
Pipeline.exeAccepts XSD schemas and input messageProduces output document
FFAsm.exe Executes the flat-file assembler component
FFDasm.exe Executes the flat-file disassembler component
XMLAsm.exe Executes the XML assembler component
XMLDasm.exe Executes the XML disassembler component
Demonstration: Creating and Testing a Pipeline
In this demonstration, you will see how to:
Create and configure a receive pipeline
Create and configure a send pipeline
Use the pipeline command-line tools
Lab: Creating Pipelines
Exercise 1: Configure a Send Pipeline to Encrypt Outgoing Messages
Exercise 2: Configure a Send Port to Use the Encryption Pipeline and
Certificate
Exercise 3: Examine the Interchange Message to Be Disassembled
Exercise 4: Configure a Receive Pipeline to Disassemble a Message
Interchange
Exercise 5: Configure a Receive Location to Use the Pipeline
Exercise 6: Submit Test Messages
Exercise 7: Enable and Test Recoverable Interchange