Module 3: Creating Maps
-
Upload
bradley-hays -
Category
Documents
-
view
28 -
download
0
description
Transcript of Module 3: Creating Maps
Module 3:Creating Maps
Overview
Lesson 1: Creating a BizTalk Map
Lesson 2: Configuring Basic Functoids
Lesson 3: Configuring Advanced Functoids
Lesson 1: Creating a BizTalk Map
What Is a BizTalk Map?
Creating a Map by Using the BizTalk Mapper
Creating Links
Basic and Complex Map Links
Validating, Testing and Debugging a Map
Demonstration: Creating and Testing a BizTalk Map
Data Transformation
Data Translation
Data Transformation
Data Translation
What Is a BizTalk Map?
Perform computational and other data operations Copy the data from one message to another
Perform computational and other data operations Copy the data from one message to another
MapMapSource SchemaSource Schema
ItemID
Qty
UnitPrice
PO
PO
Status
Destination SchemaDestination Schema
PurchaseOrder
PO_Number
Date
Item_No
Quantity
Order_Status
Date
A map defines the correspondence between records and fields in two different schemas
Change the format of data between messagesExample: translate between a flat file and an XML file
Change the format of data between messagesExample: translate between a flat file and an XML file
BizTalk MapperBizTalk Mapper
Creating a Map by Using the BizTalk Mapper
DestinationSchema
DestinationSchema
Integrated within Visual Studio
Starts when a map is opened or added toa project
Source and destination schemas must be part of the project or contained in a referenced assembly
Integrated within Visual Studio
Starts when a map is opened or added toa project
Source and destination schemas must be part of the project or contained in a referenced assembly
Map GridMap GridSourceSchemaSourceSchema
Creating Links
Link Type Usage
Simple link (one-to-one)
Create a single link by dragging and droppingCan be made between nodes or records
Structure link (multiple)
Create multiple links simultaneouslyRelevant schema structures must be the sameUse when node names are different but order is the same (or similar)
Name-matching link (multiple)
Create multiple links simultaneouslyRecord or field names must matchSimilar but not identical schema structures
ItemID
Record
PO
Status
Order
PO No
Date
Item No
ItemID
Record
PO
Status
Order
PO No
Status Flag
Item No
Item
Record
PO
Status
Order
Status
Item
PO
Mapping Operation Usage
Basic
Most common type of mappingValues simply copied from input message to output messageSupports most types of transformations and translations
Complex
Records can occur multiple times for a single message (looping)Source schema must specify repeating elementCompiler will automatically generate an XSLT for-each loop
Basic and Complex Map Links
Order
PO_Number
Date
Item_No
Quantity
Order_Status
ItemID
Qty
UnitPrice
Record
PO
Status
Date
Field1
Field2
PO
ID
Status
Order
PO_Num
Date
FieldA
FieldB
Detail
Item
Items
Validating, Testing and Debugging a Map
Demonstration: Creating and Testing a BizTalk Map
In this demonstration, you will see how to:
Use the BizTalk Mapper
Add source and destination schemas to the map
Create a simple link
Automate multiple links
Test and validate a map
Lesson 2: Configuring Basic Functoids
Data Manipulation with Functoids
Using Basic Functoids
Adding Functoids to a Map
Using Map Grid Pages
Demonstration: Adding Functoids to a Map
FunctoidsFunctoids
Data Manipulation with Functoids
Use to manipulate mapped data
Can use predefined functoids or create custom functoids
Custom functoids can call scripts
Use to manipulate mapped data
Can use predefined functoids or create custom functoids
Custom functoids can call scripts
MapMapSource SchemaSource Schema Destination SchemaDestination Schema
ItemID
Qty
UnitPrice
Record
PO
Status
Order
PO Number
Date
Item No
Quantity
Order Status
Date Total Price
(..)
X
Using Basic Functoids
Category Usage
Conversion To convert to and from ASCII and between numeric bases, such as hexadecimal and octal
Cumulative To perform mathematical operations in looping records, such as averages and concatenation
Date and Time To retrieve the current date and time, and to calculatedelta times
Logical To perform a variety of logical operations, such as greater than and logical existence
Mathematical To perform a variety of mathematical operations, such as addition and multiplication
Scientific To perform a variety of scientific operations, such as logarithms and trigonometry
String To perform a variety of string functions, such as trimming and concatenation
Adding Functoids to a Map
Link functoids to fieldsLink functoids to fields
22
Configure functoid inputsConfigure functoid inputs
33
Drag functoid from Toolbox to mapDrag functoid from Toolbox to map
11
Grid Pages
Grid Preview
Grid Pages
Grid Preview
Using Map Grid Pages
Create up to 20different pagesIsolate different partsof a map Work with different parts ofa map separatelyMust create connectedfunctoids on the same layer
Create up to 20different pagesIsolate different partsof a map Work with different parts ofa map separatelyMust create connectedfunctoids on the same layer
Use pages to reduce complexity of a map
Page 4Page 3Page 2Page 1
ItemID
Qty
UnitPrice
Record
PO
Status
Order
PO Number
Date
Item No
Quantity
Order Status
Destination SchemaSource Schema
Date Total Price
(..)
Find and work with a portion of a large mapFind and work with a portion of a large map
X
Demonstration: Adding Functoids to a Map
In this demonstration, you will see how to:
Create multiple map pages
Add basic functoids to a map
Lesson 3: Configuring Advanced Functoids
Using Advanced Functoids
Using Looping Functoids
Using Database Functoids
Using a Scripting Functoid
Demonstration: Configuring Advanced Functoids
Use Advanced functoids to:Use Advanced functoids to:
Using Advanced Functoids
Manage looping records
Define conditional mapping
Define custom scripts
Copy the entire elements of data
Manage looping records
Define conditional mapping
Define custom scripts
Copy the entire elements of data
Looping functoids include:Looping functoids include:
Looping functoid
Index functoid
Record Count functoid
Looping functoid
Index functoid
Record Count functoid
Table-driven functoids:Table-driven functoids:
Table Looping functoid
Table Extractor functoid
Table Looping functoid
Table Extractor functoid
Using Looping Functoids
Database functoidsDatabase functoids
Used to extract data from a database
Uses ADO datasets
Used to extract data from a database
Uses ADO datasets
Database functoids include:Database functoids include:
Database Lookup
Error Return
Format Message
Value Extractor
Database Lookup
Error Return
Format Message
Value Extractor
Using Database Functoids
Scripting functoidScripting functoid
Using a Scripting Functoid
Use when standard functoids do not providerequired results
Can call an external .NET assembly
Use when standard functoids do not providerequired results
Can call an external .NET assembly
Supported languagesSupported languages
Visual Basic
C#
JScript
XSLT
XSLT Call Template
Visual Basic
C#
JScript
XSLT
XSLT Call Template
Demonstration: Configuring Advanced Functoids
In this demonstration, you will see how to:
Use a Looping functoid
Use a Record Count functoid
Lab: Creating a BizTalk Map
Exercise 1: Creating a Map
Exercise 2: Adding Basic Functoids to a Map
Exercise 3: Adding Database Functoids to a Map