19
Module 6: Creating Pipelines

Module 6: Creating Pipelines. Overview Lesson 1: Introduction to Pipelines Lesson 2: Building a Pipeline

Embed Size (px)

Citation preview

Page 1: Module 6: Creating Pipelines. Overview Lesson 1: Introduction to Pipelines Lesson 2: Building a Pipeline

Module 6:Creating Pipelines

Page 2: Module 6: Creating Pipelines. Overview Lesson 1: Introduction to Pipelines Lesson 2: Building a Pipeline

Overview

Lesson 1: Introduction to Pipelines

Lesson 2: Building a Pipeline

Page 3: 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

Page 4: Module 6: Creating Pipelines. Overview Lesson 1: Introduction to Pipelines Lesson 2: Building a Pipeline

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

Page 5: Module 6: Creating Pipelines. Overview Lesson 1: Introduction to Pipelines Lesson 2: Building a Pipeline

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

Page 6: Module 6: Creating Pipelines. Overview Lesson 1: Introduction to Pipelines Lesson 2: Building a Pipeline

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

Page 7: Module 6: Creating Pipelines. Overview Lesson 1: Introduction to Pipelines Lesson 2: Building a Pipeline

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

Page 8: Module 6: Creating Pipelines. Overview Lesson 1: Introduction to Pipelines Lesson 2: Building a Pipeline

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

Page 9: Module 6: Creating Pipelines. Overview Lesson 1: Introduction to Pipelines Lesson 2: Building a Pipeline

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

Page 10: Module 6: Creating Pipelines. Overview Lesson 1: Introduction to Pipelines Lesson 2: Building a Pipeline

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

Page 11: Module 6: Creating Pipelines. Overview Lesson 1: Introduction to Pipelines Lesson 2: Building a Pipeline

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

Page 12: Module 6: Creating Pipelines. Overview Lesson 1: Introduction to Pipelines Lesson 2: Building a Pipeline

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

Page 13: Module 6: Creating Pipelines. Overview Lesson 1: Introduction to Pipelines Lesson 2: Building a Pipeline

Using the Pipeline Designer

Pipeline FilesPipeline Files

Properties WindowProperties Window

Design SurfaceDesign SurfaceToolboxToolbox

Page 14: Module 6: Creating Pipelines. Overview Lesson 1: Introduction to Pipelines Lesson 2: Building a Pipeline

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

Page 15: Module 6: Creating Pipelines. Overview Lesson 1: Introduction to Pipelines Lesson 2: Building a Pipeline

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

Page 16: Module 6: Creating Pipelines. Overview Lesson 1: Introduction to Pipelines Lesson 2: Building a Pipeline

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

Page 17: Module 6: Creating Pipelines. Overview Lesson 1: Introduction to Pipelines Lesson 2: Building a Pipeline

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

Page 18: Module 6: Creating Pipelines. Overview Lesson 1: Introduction to Pipelines Lesson 2: Building a Pipeline

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

Page 19: Module 6: Creating Pipelines. Overview Lesson 1: Introduction to Pipelines Lesson 2: Building a Pipeline

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