Module 6: Creating Pipelines

Post on 19-Feb-2016

36 views 2 download

description

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? - PowerPoint PPT Presentation

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