Module 6: Creating Pipelines
description
Transcript of Module 6: Creating Pipelines
Module 6:Creating Pipelines
Overview
Lesson 1: Introduction to PipelinesLesson 2: Building a Pipeline
Lesson 1: Introduction to Pipelines
What Is a Pipeline?Pipeline ScenariosReceive Pipeline StagesSend Pipeline StagesPipeline ComponentsWhat Are the Default Pipelines?What Are Custom Pipeline Components?Types of Pipeline Components
Receive Pipeline Send PipelineOrchestration
What Is a Pipeline?
Pipeline Components
Use pipelines to:
Normalize data from various formats to XMLTranslate data from XML to various formatsAssemble and disassemble documentsDecode and encode documents Decrypt and encrypt documentsAssign and verify digital signatures
Pipeline Scenarios
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
Send Pipelines:
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!!
DisassembleUse to parse or disassemble componentsUse to probe messages and verify context properties BizTalk Server includes an XML, flat file, and a BTF disassembler
ValidateUse to validate the format of an XML messageUse to compare a message to a known schema
Resolve PartyUse to verify the sending party for a received messageUse with public certificates to validate sender
DecodeUse to decode or decrypt messagesUse when secure document exchange is requiredBizTalk includes a MIME/SMIME Decoder
Send Pipeline Stages
Drop Here!!
Pre-Assemble
Drop Here!!
Drop Here!!
Assemble
Encode
Pre-assemble
Use to process a message before it is sentUse for custom components only
Assemble
Use to assemble or serialize a messageUse to convert a message from XML to native format
Encode
To encode or encrypt messagesUse when secure document exchange is requiredBizTalk includes a MIME/SMIME decoder
Pipeline Components
Built-in pipeline components
XML assembler/disassemblerFlat File assembler/disassemblerMIME/SMIME encoding and decodingXML validationParty resolution
A pipeline component defines a processing action
Numerous pipeline components ship with BizTalk ServerYou 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 Scenarios
Non-XML validations Non-supported decryption algorithmsNon-supported signature formatsCustom data conversionsAdvanced routing requirementsSpecialized processing
Custom Pipeline Components
Use to extend message processing capabilitiesUse when standard pipeline components are not sufficient
Types of Pipeline ComponentsInterfaces
IBaseComponentIComponentIComponentUIIPersistPropertyBag
Promoting a Distinguished Field
msg.Context.Write("ItemDescription",
"http://www.contoso.com/purchaseOrder/propertyFields", “X-Ray machine");
Promoting a Property Field
msg.Context.Promote("OrderTotal", "http://www.contoso.com/purchaseOrder/propertyFields", “20000.00");
Three types of components
GeneralAssemblingDisassembling
Lesson 2: Building a Pipeline
Using the Pipeline DesignerSecuring Data by Using a PipelineProcessing Interchanges by Using a PipelineCreating Schemas for Interchange ProcessingTesting an Envelope SchemaDemonstration: Creating and Testing a Pipeline
Using the Pipeline Designer
Pipeline Files
Properties Window
Design SurfaceToolbox
Securing Data by Using a Pipeline
Pipeline
MIME/SMIMEEncod
erComponent
Message
MIME/SMIME Encoder
Use for secure exchange of messagesCan use to encode, sign, and encryptSupports multi-part messages
Processing Interchanges by Using a Pipeline
May Require Multiple Schemas
Header (Envelope)BodyTrailer
Interchange Processing
Standard Recoverable
Disassembler Properties
Flat Files
Creating Schemas for Interchange Processing
Sender: ContosoRecipient: AdvWorks
POs
Header_FF.xsd (Company, address, batch#)
PurchaseOrder_FF.xsd
Trailer_FF.xsd
XML FilesEnvelope.xsd (Envelope attributes)
PurchaseOrder.xsd
<Any>
Sender: ContosoRecipient: AdvWorks
POs
Testing an Envelope Schema
Tools Usage
Pipeline.exe Accepts 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 pipelineCreate and configure a send pipelineUse the pipeline command-line tools
Lab: Creating Pipelines
Exercise 1: Configure a Send Pipeline to Encrypt Outgoing MessagesExercise 2: Configure a Send Port to Use the
Encryption Pipeline and CertificateExercise 3: Examine the Interchange Message to Be DisassembledExercise 4: Configure a Receive Pipeline to
Disassemble a Message InterchangeExercise 5: Configure a Receive Location to Use the PipelineExercise 6: Submit Test MessagesExercise 7: Enable and Test Recoverable
Interchange