SlideShare uma empresa Scribd logo
1 de 43
Bouvet BizTalk
Innovation Day 201
Senior Software Developer at DevScope
Microsoft Integration MVP since 2011











Writer of numerous articles for Portuguese eMagazine “Programar”
Author “Sandro Pereira BizTalk Blog” http://sandroaspbiztalkblog.wordpress.com
Member of “BizTalkAdminsblogging.com” and “BizTalk Brasil” community
Member NetPonto community
MSDN BizTalk Forums Moderator
TechNet Wiki author (Wiki Ninja)
TechNet Gallery, Code Gallery and CodePlex contributor
Public speaker
Technical Reviewer PACKT Publishing



BizTalk Server 2010 Cookbook (April 2012)
 BizTalk Mapper Basics
 How BizTalk Mapper Works
 Best Practices
 Common mapper problems and solutions


Data Translation
•
•

Change the format of data between
messages
Example: translate between
a flat file and an XML file

Data Transformation
•

Perform computational and other data
operations

•

Copy the data from one message to
another

Map
Destination Schema

Source Schema
Record

Order

PO

PO Number

Status

Date

ItemID

Item No

Qty

Quantity
Order Status

UnitPrice

Total Price

Date

Page 1
Functoids
in Toolbox

Map Grid

BizTalk Mapper
•

Integrated within
Visual Studio

•

Starts when a map is
opened or added to
a project

•

Source and destination
schemas must be part of
the project or contained
in a referenced assembly

Solution
Explorer

Properties
Windows

Source
Schema

Task List and
Output Windows

Destination
Schema
Link Type
Record

Usage
Order

PO

PO No

Status

Date

ItemID

Item No

Create a single link by dragging and dropping
Can be made between nodes or records

Simple link (one-to-one)
Record

Order

PO

PO No

Status

Status Flag

ItemID

Item No

Create multiple links simultaneously
Relevant schema structures must be the same

Use when node names are different but order is
the same (or similar)

Structure link (multiple)
Record
PO
Status
Item

Order
Status
Item

PO

Name-matching link (multiple)

Create multiple links simultaneously
Record or field names must match
Similar but not identical schema structures
Mapping Operation
Record

Usage

Order

PO

PO_Number

Status

Date

ItemID

Item_No

Qty

Quantity

UnitPrice

Order_Status

Date

Most common type of mapping
Values simply copied from input message to
output message
Supports most types of transformations and
translations

Basic
PO

Order
ID

PO_Num

Status

Date

Items

Detail

Item
Field1
Field2

Complex

FieldA
FieldB

Records can occur multiple times for a single
message (looping)
Source schema must specify repeating
element
Compiler will automatically generate an XSLT
for-each loop
Map
Destination Schema

Source Schema

Functoids

Record

(..)

Order

•

Use to manipulate mapped data

PO

•

Can use predefined functoids or create
custom functoids

Status

Date

ItemID

Item No

Qty

Quantity

•

Custom functoids can call scripts

X

UnitPrice

PO Number

Order Status
Total Price

Date

Page 1

BizTalk Mapper Extensions UtilityPack: BizTalk Mapper Extensions UtilityPack is a set
of libraries with several useful functoids to include and use it in a map, which will
provide an extension of BizTalk Mapper capabilities.
http://btsmapextutilitypack.codeplex.com/
Link functoids
to fields

Drag functoid from
Toolbox to map

Configure
functoid inputs
Maps can be used in
•

Receive Locations

•

Send ports

•

Inside Orchestrations
<Address>
<xsl:value-of select="Address/text()" />
</Address>
<xsl:variable name="var:v1" select="userCSharp:LogicalExistence(boolean(ZipCode))" />
<xsl:if test="string($var:v1)='true'">
<xsl:variable name="var:v2" select="ZipCode/text()" />
<ZipCode>
<xsl:value-of select="$var:v2" />
</ZipCode>
</xsl:if>
<xsl:variable name="var:v3" select="userCSharp:StringConcat(string(LastName/text())
, ", " , string(FirstName/text()))" />
<FullName>
<xsl:value-of select="$var:v3" />
</FullName>
<xsl:variable name="var:v4"
select="userCSharp:CalculateMyAge(string(DateOfBirth/text()))" />
<Age>
<xsl:value-of select="$var:v4" />
</Age>
<xsl:variable name="var:v5" select="userCSharp:InitCumulativeSum(0)" />
<xsl:for-each select="/s0:PersonOrigin/PhoneCalls">
<xsl:variable name="var:v6" select="userCSharp:StringLeft(string(@PhoneNumber) , &quot;4&quot;)" />
<xsl:variable name="var:v7" select="userCSharp:LogicalEq(string($var:v6) , &quot;+351&quot;)" />
<xsl:variable name="var:v8" select="userCSharp:LogicalNot(string($var:v7))" />
<xsl:if test="string($var:v8)='true'">
<xsl:variable name="var:v9" select="@Cost" />
<xsl:variable name="var:v10" select="userCSharp:AddToCumulativeSum(0,string($var:v9),&quot;1000&quot;)" />
</xsl:if>
</xsl:for-each>
<xsl:variable name="var:v11" select="userCSharp:GetCumulativeSum(0)" />
<TotalInternational>
<xsl:value-of select="$var:v11" />
</TotalInternational>
<xsl:variable name="var:v12" select="userCSharp:InitCumulativeSum(1)" />
<xsl:for-each select="/s0:PersonOrigin/PhoneCalls">
<xsl:variable name="var:v13" select="string(@PhoneNumber)" />
<xsl:variable name="var:v14" select="userCSharp:StringLeft($var:v13 , &quot;4&quot;)" />
<xsl:variable name="var:v15" select="userCSharp:LogicalEq(string($var:v14) , &quot;+351&quot;)" />
<xsl:if test="string($var:v15)='true'">
<xsl:variable name="var:v16" select="@Cost" />
<xsl:variable name="var:v17" select="userCSharp:AddToCumulativeSum(1,string($var:v16),&quot;1000&quot;)" />
</xsl:if>
</xsl:for-each>
<xsl:variable name="var:v18" select="userCSharp:GetCumulativeSum(1)" />
<TotalNational>
<xsl:value-of select="$var:v18" />
</TotalNational>
The order in which we perform the links between the elements
from source to destination has a huge impact in the final result
This statement is true and false at the same time!


•
The order in which we perform the links between the elements
from source to destination has a huge impact in the final result
This statement is true and false at the same time!

•
int myCounter = 0;
public void IncrementCounter()
{
myCounter += 1;
}

public int ReturnCounter()
{
return myCounter;
}
Hard to track relationships
No search capabilities
No cut/copy/paste or undo


Grid Pages
•
•
•
•

Create unlimited
different pages
Isolate different parts
of a map
Work with different parts of
a map separately
Must create connected
functoids on the same layer

Grid Preview
•

Find and work with a portion
of a large map

Destination Schema

Source Schema
Record

Order

(..)

PO

PO Number

Status

Date

ItemID

Item No

Qty

Quantity

UnitPrice

X

Order Status
Total Price

Date

Page 1

Page 2

Page 3

Page 4

•

•
•

•

•

•


•
•

•


•
•
•
•

•
•
•
•

•

•

•

•

•
•


•
•

•
•






Better UI for complex or
large transformations
•

Reduce background “noise” using
highlight propagation

•

Auto-scrolling and sibling coalescing help
locate nodes

Enhanced functionality
•

Support for search

•

Improved productivity with
cut/copy/paste/move/ undo

•

Predictive match

•

Improved support for documenting map
and readability





Some of the best ways to address some of your needs within the context of
message transformation
Labs for tomorrow
BizTalk Mapper Patterns specifying best practices and some of the best
ways to address some of your needs within the context of message
transformation.
www.devscope.
net

Bouvet BizTalk
Innovation Day 201

Mais conteúdo relacionado

Mais procurados

Hybrid Solutions with the current BizTalk Server 2013 R2 platform
Hybrid Solutions with the current BizTalk Server 2013 R2 platformHybrid Solutions with the current BizTalk Server 2013 R2 platform
Hybrid Solutions with the current BizTalk Server 2013 R2 platformBizTalk360
 
Manageability of Windows Azure BizTalk Services (WABS)
Manageability of Windows Azure BizTalk Services (WABS)Manageability of Windows Azure BizTalk Services (WABS)
Manageability of Windows Azure BizTalk Services (WABS)BizTalk360
 
Hybrid Integration with SAP
Hybrid Integration with SAPHybrid Integration with SAP
Hybrid Integration with SAPGlenn Colpaert
 
A lap around Windows Azure BizTalk Services - London - September 2013
A lap around Windows Azure BizTalk Services - London - September 2013A lap around Windows Azure BizTalk Services - London - September 2013
A lap around Windows Azure BizTalk Services - London - September 2013Sam Vanhoutte
 
Mike Taulty DevDays 2010 Silverlight MEF
Mike Taulty DevDays 2010 Silverlight MEFMike Taulty DevDays 2010 Silverlight MEF
Mike Taulty DevDays 2010 Silverlight MEFukdpe
 
Introducing Windows Azure BizTalk Services
Introducing Windows Azure BizTalk ServicesIntroducing Windows Azure BizTalk Services
Introducing Windows Azure BizTalk ServicesGlenn Colpaert
 
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)WSO2
 
Biz talk summit 2013 - The new cloud related adapters
Biz talk summit 2013 - The new cloud related adaptersBiz talk summit 2013 - The new cloud related adapters
Biz talk summit 2013 - The new cloud related adaptersBizTalk360
 
BizTalk on App Services
BizTalk on App ServicesBizTalk on App Services
BizTalk on App ServicesBizTalk360
 
Biztalk 2013 Launch Briefing
Biztalk 2013 Launch BriefingBiztalk 2013 Launch Briefing
Biztalk 2013 Launch BriefingNikolai Blackie
 
8 Tips & Tricks for Better BizTalk Programming
8 Tips & Tricks for Better BizTalk Programming8 Tips & Tricks for Better BizTalk Programming
8 Tips & Tricks for Better BizTalk ProgrammingDaniel Toomey
 
Mike Taulty TechDays 2010 Silverlight and Windows Phone 7 CTP
Mike Taulty TechDays 2010 Silverlight and Windows Phone 7 CTPMike Taulty TechDays 2010 Silverlight and Windows Phone 7 CTP
Mike Taulty TechDays 2010 Silverlight and Windows Phone 7 CTPukdpe
 
What is b2 b and why sterling en
What is b2 b and why sterling   enWhat is b2 b and why sterling   en
What is b2 b and why sterling enYuval Birenboum
 
Websphere-corporate-training-in-mumbai
Websphere-corporate-training-in-mumbai Websphere-corporate-training-in-mumbai
Websphere-corporate-training-in-mumbai vibrantuser
 
Office Track: Exchange 2013 in the real world - Michael Van Horenbeeck
Office Track: Exchange 2013 in the real world - Michael Van HorenbeeckOffice Track: Exchange 2013 in the real world - Michael Van Horenbeeck
Office Track: Exchange 2013 in the real world - Michael Van HorenbeeckITProceed
 
Implementing advanced integration patterns with WSO2 ESB
Implementing advanced integration patterns with WSO2 ESBImplementing advanced integration patterns with WSO2 ESB
Implementing advanced integration patterns with WSO2 ESBWSO2
 

Mais procurados (20)

Hybrid Solutions with the current BizTalk Server 2013 R2 platform
Hybrid Solutions with the current BizTalk Server 2013 R2 platformHybrid Solutions with the current BizTalk Server 2013 R2 platform
Hybrid Solutions with the current BizTalk Server 2013 R2 platform
 
Manageability of Windows Azure BizTalk Services (WABS)
Manageability of Windows Azure BizTalk Services (WABS)Manageability of Windows Azure BizTalk Services (WABS)
Manageability of Windows Azure BizTalk Services (WABS)
 
Hybrid Integration with SAP
Hybrid Integration with SAPHybrid Integration with SAP
Hybrid Integration with SAP
 
Biztalk ESB Toolkit Demos
Biztalk ESB Toolkit DemosBiztalk ESB Toolkit Demos
Biztalk ESB Toolkit Demos
 
A lap around Windows Azure BizTalk Services - London - September 2013
A lap around Windows Azure BizTalk Services - London - September 2013A lap around Windows Azure BizTalk Services - London - September 2013
A lap around Windows Azure BizTalk Services - London - September 2013
 
Mike Taulty DevDays 2010 Silverlight MEF
Mike Taulty DevDays 2010 Silverlight MEFMike Taulty DevDays 2010 Silverlight MEF
Mike Taulty DevDays 2010 Silverlight MEF
 
Introducing Windows Azure BizTalk Services
Introducing Windows Azure BizTalk ServicesIntroducing Windows Azure BizTalk Services
Introducing Windows Azure BizTalk Services
 
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)
 
Biz talk summit 2013 - The new cloud related adapters
Biz talk summit 2013 - The new cloud related adaptersBiz talk summit 2013 - The new cloud related adapters
Biz talk summit 2013 - The new cloud related adapters
 
BizTalk on App Services
BizTalk on App ServicesBizTalk on App Services
BizTalk on App Services
 
Biztalk 2013 Launch Briefing
Biztalk 2013 Launch BriefingBiztalk 2013 Launch Briefing
Biztalk 2013 Launch Briefing
 
8 Tips & Tricks for Better BizTalk Programming
8 Tips & Tricks for Better BizTalk Programming8 Tips & Tricks for Better BizTalk Programming
8 Tips & Tricks for Better BizTalk Programming
 
Enterprise service bus part 1
Enterprise service bus part 1Enterprise service bus part 1
Enterprise service bus part 1
 
Enterprise Service Bus Part 2
Enterprise Service Bus Part 2Enterprise Service Bus Part 2
Enterprise Service Bus Part 2
 
Mike Taulty TechDays 2010 Silverlight and Windows Phone 7 CTP
Mike Taulty TechDays 2010 Silverlight and Windows Phone 7 CTPMike Taulty TechDays 2010 Silverlight and Windows Phone 7 CTP
Mike Taulty TechDays 2010 Silverlight and Windows Phone 7 CTP
 
ESB What it is?
ESB What it is?ESB What it is?
ESB What it is?
 
What is b2 b and why sterling en
What is b2 b and why sterling   enWhat is b2 b and why sterling   en
What is b2 b and why sterling en
 
Websphere-corporate-training-in-mumbai
Websphere-corporate-training-in-mumbai Websphere-corporate-training-in-mumbai
Websphere-corporate-training-in-mumbai
 
Office Track: Exchange 2013 in the real world - Michael Van Horenbeeck
Office Track: Exchange 2013 in the real world - Michael Van HorenbeeckOffice Track: Exchange 2013 in the real world - Michael Van Horenbeeck
Office Track: Exchange 2013 in the real world - Michael Van Horenbeeck
 
Implementing advanced integration patterns with WSO2 ESB
Implementing advanced integration patterns with WSO2 ESBImplementing advanced integration patterns with WSO2 ESB
Implementing advanced integration patterns with WSO2 ESB
 

Semelhante a BizTalk Mapping Patterns and Best Practices at Bouvet BizTalk Innovation Day 2013

BizTalk Mapping Patterns and Best Practices
BizTalk Mapping Patterns and Best PracticesBizTalk Mapping Patterns and Best Practices
BizTalk Mapping Patterns and Best PracticesBizTalk360
 
The future of_conver_ai[6933]
The future of_conver_ai[6933]The future of_conver_ai[6933]
The future of_conver_ai[6933]LianaYe2
 
Real Time Visibility with Flink
Real Time Visibility with FlinkReal Time Visibility with Flink
Real Time Visibility with FlinkRafi Aroch
 
Using the BizTalk Mapper
Using the BizTalk MapperUsing the BizTalk Mapper
Using the BizTalk MapperDaniel Toomey
 
BigQuery case study in Groovenauts & Dive into the DataflowJavaSDK
BigQuery case study in Groovenauts & Dive into the DataflowJavaSDKBigQuery case study in Groovenauts & Dive into the DataflowJavaSDK
BigQuery case study in Groovenauts & Dive into the DataflowJavaSDKnagachika t
 
BizTalk Mapping Patterns and Best Practices at BizTalk User Group Sweden in G...
BizTalk Mapping Patterns and Best Practices at BizTalk User Group Sweden in G...BizTalk Mapping Patterns and Best Practices at BizTalk User Group Sweden in G...
BizTalk Mapping Patterns and Best Practices at BizTalk User Group Sweden in G...Sandro Pereira
 
[React Native Tutorial] Lecture 6: Component, Props, and Network
[React Native Tutorial] Lecture 6: Component, Props, and Network[React Native Tutorial] Lecture 6: Component, Props, and Network
[React Native Tutorial] Lecture 6: Component, Props, and NetworkKobkrit Viriyayudhakorn
 
Java development with the dynamo framework
Java development with the dynamo frameworkJava development with the dynamo framework
Java development with the dynamo frameworkPatrick Deenen
 
BizTalk Server – How maps work
BizTalk Server – How maps workBizTalk Server – How maps work
BizTalk Server – How maps workSandro Pereira
 
Azure Digital Twins 2.0
Azure Digital Twins 2.0Azure Digital Twins 2.0
Azure Digital Twins 2.0Marco Parenzan
 
Ugif 10 2012 lycia2 introduction in 45 minutes
Ugif 10 2012 lycia2 introduction in 45 minutesUgif 10 2012 lycia2 introduction in 45 minutes
Ugif 10 2012 lycia2 introduction in 45 minutesUGIF
 
Web Browser Controls in Adlib: The Hidden Diamond in the Adlib Treasure Chest
Web Browser Controls in Adlib: The Hidden Diamond in the Adlib Treasure ChestWeb Browser Controls in Adlib: The Hidden Diamond in the Adlib Treasure Chest
Web Browser Controls in Adlib: The Hidden Diamond in the Adlib Treasure ChestAxiell ALM
 
Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)
Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)
Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)Codit
 
German introduction to sp framework
German   introduction to sp frameworkGerman   introduction to sp framework
German introduction to sp frameworkBob German
 
Modularity and Domain Driven Design; a killer Combination? - Tom de Wolf & St...
Modularity and Domain Driven Design; a killer Combination? - Tom de Wolf & St...Modularity and Domain Driven Design; a killer Combination? - Tom de Wolf & St...
Modularity and Domain Driven Design; a killer Combination? - Tom de Wolf & St...NLJUG
 
Resume_sukanta_updated
Resume_sukanta_updatedResume_sukanta_updated
Resume_sukanta_updatedSukanta Saha
 
Resume_APRIL_updated
Resume_APRIL_updatedResume_APRIL_updated
Resume_APRIL_updatedSukanta Saha
 

Semelhante a BizTalk Mapping Patterns and Best Practices at Bouvet BizTalk Innovation Day 2013 (20)

BizTalk Mapping Patterns and Best Practices
BizTalk Mapping Patterns and Best PracticesBizTalk Mapping Patterns and Best Practices
BizTalk Mapping Patterns and Best Practices
 
The future of_conver_ai[6933]
The future of_conver_ai[6933]The future of_conver_ai[6933]
The future of_conver_ai[6933]
 
Real Time Visibility with Flink
Real Time Visibility with FlinkReal Time Visibility with Flink
Real Time Visibility with Flink
 
Using the BizTalk Mapper
Using the BizTalk MapperUsing the BizTalk Mapper
Using the BizTalk Mapper
 
BigQuery case study in Groovenauts & Dive into the DataflowJavaSDK
BigQuery case study in Groovenauts & Dive into the DataflowJavaSDKBigQuery case study in Groovenauts & Dive into the DataflowJavaSDK
BigQuery case study in Groovenauts & Dive into the DataflowJavaSDK
 
BizTalk Mapping Patterns and Best Practices at BizTalk User Group Sweden in G...
BizTalk Mapping Patterns and Best Practices at BizTalk User Group Sweden in G...BizTalk Mapping Patterns and Best Practices at BizTalk User Group Sweden in G...
BizTalk Mapping Patterns and Best Practices at BizTalk User Group Sweden in G...
 
[React Native Tutorial] Lecture 6: Component, Props, and Network
[React Native Tutorial] Lecture 6: Component, Props, and Network[React Native Tutorial] Lecture 6: Component, Props, and Network
[React Native Tutorial] Lecture 6: Component, Props, and Network
 
Ibm redbook
Ibm redbookIbm redbook
Ibm redbook
 
Java development with the dynamo framework
Java development with the dynamo frameworkJava development with the dynamo framework
Java development with the dynamo framework
 
BizTalk Server – How maps work
BizTalk Server – How maps workBizTalk Server – How maps work
BizTalk Server – How maps work
 
A CQRS Journey
A CQRS JourneyA CQRS Journey
A CQRS Journey
 
Azure Digital Twins 2.0
Azure Digital Twins 2.0Azure Digital Twins 2.0
Azure Digital Twins 2.0
 
Precisely MapInfo Pro v2019 and Roadmap
Precisely MapInfo Pro v2019 and RoadmapPrecisely MapInfo Pro v2019 and Roadmap
Precisely MapInfo Pro v2019 and Roadmap
 
Ugif 10 2012 lycia2 introduction in 45 minutes
Ugif 10 2012 lycia2 introduction in 45 minutesUgif 10 2012 lycia2 introduction in 45 minutes
Ugif 10 2012 lycia2 introduction in 45 minutes
 
Web Browser Controls in Adlib: The Hidden Diamond in the Adlib Treasure Chest
Web Browser Controls in Adlib: The Hidden Diamond in the Adlib Treasure ChestWeb Browser Controls in Adlib: The Hidden Diamond in the Adlib Treasure Chest
Web Browser Controls in Adlib: The Hidden Diamond in the Adlib Treasure Chest
 
Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)
Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)
Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)
 
German introduction to sp framework
German   introduction to sp frameworkGerman   introduction to sp framework
German introduction to sp framework
 
Modularity and Domain Driven Design; a killer Combination? - Tom de Wolf & St...
Modularity and Domain Driven Design; a killer Combination? - Tom de Wolf & St...Modularity and Domain Driven Design; a killer Combination? - Tom de Wolf & St...
Modularity and Domain Driven Design; a killer Combination? - Tom de Wolf & St...
 
Resume_sukanta_updated
Resume_sukanta_updatedResume_sukanta_updated
Resume_sukanta_updated
 
Resume_APRIL_updated
Resume_APRIL_updatedResume_APRIL_updated
Resume_APRIL_updated
 

Mais de Sandro Pereira

20201010 - Collabdays 2020 - Sandro Pereira - Power Automates: best practice...
20201010 -  Collabdays 2020 - Sandro Pereira - Power Automates: best practice...20201010 -  Collabdays 2020 - Sandro Pereira - Power Automates: best practice...
20201010 - Collabdays 2020 - Sandro Pereira - Power Automates: best practice...Sandro Pereira
 
Integrate 2020 - Sandro Pereira - BizTalk Server 2020 migration path
Integrate 2020 - Sandro Pereira - BizTalk Server 2020 migration pathIntegrate 2020 - Sandro Pereira - BizTalk Server 2020 migration path
Integrate 2020 - Sandro Pereira - BizTalk Server 2020 migration pathSandro Pereira
 
ACSUG June 2020 - Azure Logic Apps: Best practices, tips and tricks
ACSUG June 2020 - Azure Logic Apps: Best practices, tips and tricksACSUG June 2020 - Azure Logic Apps: Best practices, tips and tricks
ACSUG June 2020 - Azure Logic Apps: Best practices, tips and tricksSandro Pereira
 
Global Azure 2020 - Sandro Pereira - Logic apps: Best practices tips and tricks
Global Azure 2020 - Sandro Pereira - Logic apps: Best practices tips and tricksGlobal Azure 2020 - Sandro Pereira - Logic apps: Best practices tips and tricks
Global Azure 2020 - Sandro Pereira - Logic apps: Best practices tips and tricksSandro Pereira
 
2019 06-25 - integrate 2019 US/UK - Sandro Pereira - BizTalk Server Fast and ...
2019 06-25 - integrate 2019 US/UK - Sandro Pereira - BizTalk Server Fast and ...2019 06-25 - integrate 2019 US/UK - Sandro Pereira - BizTalk Server Fast and ...
2019 06-25 - integrate 2019 US/UK - Sandro Pereira - BizTalk Server Fast and ...Sandro Pereira
 
2018 06-05 - integrate 2018 - Sandro Pereira - BizTalk Server notes from the ...
2018 06-05 - integrate 2018 - Sandro Pereira - BizTalk Server notes from the ...2018 06-05 - integrate 2018 - Sandro Pereira - BizTalk Server notes from the ...
2018 06-05 - integrate 2018 - Sandro Pereira - BizTalk Server notes from the ...Sandro Pereira
 
Integrate 2017 US - Sandro Pereira - BizTalk Server Fast and Loud
Integrate 2017 US - Sandro Pereira - BizTalk Server Fast and LoudIntegrate 2017 US - Sandro Pereira - BizTalk Server Fast and Loud
Integrate 2017 US - Sandro Pereira - BizTalk Server Fast and LoudSandro Pereira
 
Sandro Pereira - BizTalk Server Fast and Loud
Sandro Pereira - BizTalk Server Fast and LoudSandro Pereira - BizTalk Server Fast and Loud
Sandro Pereira - BizTalk Server Fast and LoudSandro Pereira
 
HOW CAN POWERAPPS AND MICROSOFT FLOW ALLOWS YOUR POWER USERS TO QUICKLY BUILD...
HOW CAN POWERAPPS AND MICROSOFT FLOW ALLOWS YOUR POWER USERS TO QUICKLY BUILD...HOW CAN POWERAPPS AND MICROSOFT FLOW ALLOWS YOUR POWER USERS TO QUICKLY BUILD...
HOW CAN POWERAPPS AND MICROSOFT FLOW ALLOWS YOUR POWER USERS TO QUICKLY BUILD...Sandro Pereira
 
BizTalk Server Deep Dive Tips and Tricks For Developers and Admins at TUGA IT
BizTalk Server Deep Dive Tips and Tricks For Developers and Admins at TUGA ITBizTalk Server Deep Dive Tips and Tricks For Developers and Admins at TUGA IT
BizTalk Server Deep Dive Tips and Tricks For Developers and Admins at TUGA ITSandro Pereira
 
API Management: Rise of the Planet of the Apps (2016 09-26 - Porto.Data)
API Management: Rise of the Planet of the Apps (2016 09-26 - Porto.Data)API Management: Rise of the Planet of the Apps (2016 09-26 - Porto.Data)
API Management: Rise of the Planet of the Apps (2016 09-26 - Porto.Data)Sandro Pereira
 
2015-12-02 - WebCamp - Microsoft Azure Logic Apps
2015-12-02 - WebCamp - Microsoft Azure Logic Apps2015-12-02 - WebCamp - Microsoft Azure Logic Apps
2015-12-02 - WebCamp - Microsoft Azure Logic AppsSandro Pereira
 
BizTalk & SQL: Together for Developers & Admins
BizTalk & SQL: Together for Developers & AdminsBizTalk & SQL: Together for Developers & Admins
BizTalk & SQL: Together for Developers & AdminsSandro Pereira
 
Introduction to Microsoft Azure App Service (Logic and API Apps)
Introduction to Microsoft Azure App Service (Logic and API Apps)Introduction to Microsoft Azure App Service (Logic and API Apps)
Introduction to Microsoft Azure App Service (Logic and API Apps)Sandro Pereira
 
How to process Flat Files documents (TXT, CSV …) in BizTalk Server
How to process Flat Files documents (TXT, CSV …) in BizTalk ServerHow to process Flat Files documents (TXT, CSV …) in BizTalk Server
How to process Flat Files documents (TXT, CSV …) in BizTalk ServerSandro Pereira
 
BizTalk Server Deep Dive Tips & Tricks for Developers and Admins
BizTalk Server Deep Dive Tips & Tricks for Developers and AdminsBizTalk Server Deep Dive Tips & Tricks for Developers and Admins
BizTalk Server Deep Dive Tips & Tricks for Developers and AdminsSandro Pereira
 
Integration Tales: Logic & API apps to the rescue!
Integration Tales: Logic & API apps to the rescue!Integration Tales: Logic & API apps to the rescue!
Integration Tales: Logic & API apps to the rescue!Sandro Pereira
 
BizTalk: Server, Services and Apps
BizTalk: Server, Services and AppsBizTalk: Server, Services and Apps
BizTalk: Server, Services and AppsSandro Pereira
 
SQLSaturday #341 porto - Introduction to Microsoft Azure BizTalk Services
SQLSaturday #341 porto - Introduction to Microsoft Azure BizTalk ServicesSQLSaturday #341 porto - Introduction to Microsoft Azure BizTalk Services
SQLSaturday #341 porto - Introduction to Microsoft Azure BizTalk ServicesSandro Pereira
 
Lixsql port enterprise integration
Lixsql port   enterprise integrationLixsql port   enterprise integration
Lixsql port enterprise integrationSandro Pereira
 

Mais de Sandro Pereira (20)

20201010 - Collabdays 2020 - Sandro Pereira - Power Automates: best practice...
20201010 -  Collabdays 2020 - Sandro Pereira - Power Automates: best practice...20201010 -  Collabdays 2020 - Sandro Pereira - Power Automates: best practice...
20201010 - Collabdays 2020 - Sandro Pereira - Power Automates: best practice...
 
Integrate 2020 - Sandro Pereira - BizTalk Server 2020 migration path
Integrate 2020 - Sandro Pereira - BizTalk Server 2020 migration pathIntegrate 2020 - Sandro Pereira - BizTalk Server 2020 migration path
Integrate 2020 - Sandro Pereira - BizTalk Server 2020 migration path
 
ACSUG June 2020 - Azure Logic Apps: Best practices, tips and tricks
ACSUG June 2020 - Azure Logic Apps: Best practices, tips and tricksACSUG June 2020 - Azure Logic Apps: Best practices, tips and tricks
ACSUG June 2020 - Azure Logic Apps: Best practices, tips and tricks
 
Global Azure 2020 - Sandro Pereira - Logic apps: Best practices tips and tricks
Global Azure 2020 - Sandro Pereira - Logic apps: Best practices tips and tricksGlobal Azure 2020 - Sandro Pereira - Logic apps: Best practices tips and tricks
Global Azure 2020 - Sandro Pereira - Logic apps: Best practices tips and tricks
 
2019 06-25 - integrate 2019 US/UK - Sandro Pereira - BizTalk Server Fast and ...
2019 06-25 - integrate 2019 US/UK - Sandro Pereira - BizTalk Server Fast and ...2019 06-25 - integrate 2019 US/UK - Sandro Pereira - BizTalk Server Fast and ...
2019 06-25 - integrate 2019 US/UK - Sandro Pereira - BizTalk Server Fast and ...
 
2018 06-05 - integrate 2018 - Sandro Pereira - BizTalk Server notes from the ...
2018 06-05 - integrate 2018 - Sandro Pereira - BizTalk Server notes from the ...2018 06-05 - integrate 2018 - Sandro Pereira - BizTalk Server notes from the ...
2018 06-05 - integrate 2018 - Sandro Pereira - BizTalk Server notes from the ...
 
Integrate 2017 US - Sandro Pereira - BizTalk Server Fast and Loud
Integrate 2017 US - Sandro Pereira - BizTalk Server Fast and LoudIntegrate 2017 US - Sandro Pereira - BizTalk Server Fast and Loud
Integrate 2017 US - Sandro Pereira - BizTalk Server Fast and Loud
 
Sandro Pereira - BizTalk Server Fast and Loud
Sandro Pereira - BizTalk Server Fast and LoudSandro Pereira - BizTalk Server Fast and Loud
Sandro Pereira - BizTalk Server Fast and Loud
 
HOW CAN POWERAPPS AND MICROSOFT FLOW ALLOWS YOUR POWER USERS TO QUICKLY BUILD...
HOW CAN POWERAPPS AND MICROSOFT FLOW ALLOWS YOUR POWER USERS TO QUICKLY BUILD...HOW CAN POWERAPPS AND MICROSOFT FLOW ALLOWS YOUR POWER USERS TO QUICKLY BUILD...
HOW CAN POWERAPPS AND MICROSOFT FLOW ALLOWS YOUR POWER USERS TO QUICKLY BUILD...
 
BizTalk Server Deep Dive Tips and Tricks For Developers and Admins at TUGA IT
BizTalk Server Deep Dive Tips and Tricks For Developers and Admins at TUGA ITBizTalk Server Deep Dive Tips and Tricks For Developers and Admins at TUGA IT
BizTalk Server Deep Dive Tips and Tricks For Developers and Admins at TUGA IT
 
API Management: Rise of the Planet of the Apps (2016 09-26 - Porto.Data)
API Management: Rise of the Planet of the Apps (2016 09-26 - Porto.Data)API Management: Rise of the Planet of the Apps (2016 09-26 - Porto.Data)
API Management: Rise of the Planet of the Apps (2016 09-26 - Porto.Data)
 
2015-12-02 - WebCamp - Microsoft Azure Logic Apps
2015-12-02 - WebCamp - Microsoft Azure Logic Apps2015-12-02 - WebCamp - Microsoft Azure Logic Apps
2015-12-02 - WebCamp - Microsoft Azure Logic Apps
 
BizTalk & SQL: Together for Developers & Admins
BizTalk & SQL: Together for Developers & AdminsBizTalk & SQL: Together for Developers & Admins
BizTalk & SQL: Together for Developers & Admins
 
Introduction to Microsoft Azure App Service (Logic and API Apps)
Introduction to Microsoft Azure App Service (Logic and API Apps)Introduction to Microsoft Azure App Service (Logic and API Apps)
Introduction to Microsoft Azure App Service (Logic and API Apps)
 
How to process Flat Files documents (TXT, CSV …) in BizTalk Server
How to process Flat Files documents (TXT, CSV …) in BizTalk ServerHow to process Flat Files documents (TXT, CSV …) in BizTalk Server
How to process Flat Files documents (TXT, CSV …) in BizTalk Server
 
BizTalk Server Deep Dive Tips & Tricks for Developers and Admins
BizTalk Server Deep Dive Tips & Tricks for Developers and AdminsBizTalk Server Deep Dive Tips & Tricks for Developers and Admins
BizTalk Server Deep Dive Tips & Tricks for Developers and Admins
 
Integration Tales: Logic & API apps to the rescue!
Integration Tales: Logic & API apps to the rescue!Integration Tales: Logic & API apps to the rescue!
Integration Tales: Logic & API apps to the rescue!
 
BizTalk: Server, Services and Apps
BizTalk: Server, Services and AppsBizTalk: Server, Services and Apps
BizTalk: Server, Services and Apps
 
SQLSaturday #341 porto - Introduction to Microsoft Azure BizTalk Services
SQLSaturday #341 porto - Introduction to Microsoft Azure BizTalk ServicesSQLSaturday #341 porto - Introduction to Microsoft Azure BizTalk Services
SQLSaturday #341 porto - Introduction to Microsoft Azure BizTalk Services
 
Lixsql port enterprise integration
Lixsql port   enterprise integrationLixsql port   enterprise integration
Lixsql port enterprise integration
 

Último

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 

Último (20)

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 

BizTalk Mapping Patterns and Best Practices at Bouvet BizTalk Innovation Day 2013

  • 2. Senior Software Developer at DevScope Microsoft Integration MVP since 2011          Writer of numerous articles for Portuguese eMagazine “Programar” Author “Sandro Pereira BizTalk Blog” http://sandroaspbiztalkblog.wordpress.com Member of “BizTalkAdminsblogging.com” and “BizTalk Brasil” community Member NetPonto community MSDN BizTalk Forums Moderator TechNet Wiki author (Wiki Ninja) TechNet Gallery, Code Gallery and CodePlex contributor Public speaker Technical Reviewer PACKT Publishing  BizTalk Server 2010 Cookbook (April 2012)
  • 3.  BizTalk Mapper Basics  How BizTalk Mapper Works  Best Practices  Common mapper problems and solutions
  • 4.
  • 5.
  • 6.
  • 7.  Data Translation • • Change the format of data between messages Example: translate between a flat file and an XML file Data Transformation • Perform computational and other data operations • Copy the data from one message to another Map Destination Schema Source Schema Record Order PO PO Number Status Date ItemID Item No Qty Quantity Order Status UnitPrice Total Price Date Page 1
  • 8. Functoids in Toolbox Map Grid BizTalk Mapper • Integrated within Visual Studio • Starts when a map is opened or added to a project • Source and destination schemas must be part of the project or contained in a referenced assembly Solution Explorer Properties Windows Source Schema Task List and Output Windows Destination Schema
  • 9. Link Type Record Usage Order PO PO No Status Date ItemID Item No Create a single link by dragging and dropping Can be made between nodes or records Simple link (one-to-one) Record Order PO PO No Status Status Flag ItemID Item No Create multiple links simultaneously Relevant schema structures must be the same Use when node names are different but order is the same (or similar) Structure link (multiple) Record PO Status Item Order Status Item PO Name-matching link (multiple) Create multiple links simultaneously Record or field names must match Similar but not identical schema structures
  • 10. Mapping Operation Record Usage Order PO PO_Number Status Date ItemID Item_No Qty Quantity UnitPrice Order_Status Date Most common type of mapping Values simply copied from input message to output message Supports most types of transformations and translations Basic PO Order ID PO_Num Status Date Items Detail Item Field1 Field2 Complex FieldA FieldB Records can occur multiple times for a single message (looping) Source schema must specify repeating element Compiler will automatically generate an XSLT for-each loop
  • 11.
  • 12. Map Destination Schema Source Schema Functoids Record (..) Order • Use to manipulate mapped data PO • Can use predefined functoids or create custom functoids Status Date ItemID Item No Qty Quantity • Custom functoids can call scripts X UnitPrice PO Number Order Status Total Price Date Page 1 BizTalk Mapper Extensions UtilityPack: BizTalk Mapper Extensions UtilityPack is a set of libraries with several useful functoids to include and use it in a map, which will provide an extension of BizTalk Mapper capabilities. http://btsmapextutilitypack.codeplex.com/
  • 13. Link functoids to fields Drag functoid from Toolbox to map Configure functoid inputs
  • 14. Maps can be used in • Receive Locations • Send ports • Inside Orchestrations
  • 15.
  • 17. <xsl:variable name="var:v1" select="userCSharp:LogicalExistence(boolean(ZipCode))" /> <xsl:if test="string($var:v1)='true'"> <xsl:variable name="var:v2" select="ZipCode/text()" /> <ZipCode> <xsl:value-of select="$var:v2" /> </ZipCode> </xsl:if>
  • 18.
  • 19. <xsl:variable name="var:v3" select="userCSharp:StringConcat(string(LastName/text()) , ", " , string(FirstName/text()))" /> <FullName> <xsl:value-of select="$var:v3" /> </FullName>
  • 21. <xsl:variable name="var:v5" select="userCSharp:InitCumulativeSum(0)" /> <xsl:for-each select="/s0:PersonOrigin/PhoneCalls"> <xsl:variable name="var:v6" select="userCSharp:StringLeft(string(@PhoneNumber) , &quot;4&quot;)" /> <xsl:variable name="var:v7" select="userCSharp:LogicalEq(string($var:v6) , &quot;+351&quot;)" /> <xsl:variable name="var:v8" select="userCSharp:LogicalNot(string($var:v7))" /> <xsl:if test="string($var:v8)='true'"> <xsl:variable name="var:v9" select="@Cost" /> <xsl:variable name="var:v10" select="userCSharp:AddToCumulativeSum(0,string($var:v9),&quot;1000&quot;)" /> </xsl:if> </xsl:for-each> <xsl:variable name="var:v11" select="userCSharp:GetCumulativeSum(0)" /> <TotalInternational> <xsl:value-of select="$var:v11" /> </TotalInternational>
  • 22. <xsl:variable name="var:v12" select="userCSharp:InitCumulativeSum(1)" /> <xsl:for-each select="/s0:PersonOrigin/PhoneCalls"> <xsl:variable name="var:v13" select="string(@PhoneNumber)" /> <xsl:variable name="var:v14" select="userCSharp:StringLeft($var:v13 , &quot;4&quot;)" /> <xsl:variable name="var:v15" select="userCSharp:LogicalEq(string($var:v14) , &quot;+351&quot;)" /> <xsl:if test="string($var:v15)='true'"> <xsl:variable name="var:v16" select="@Cost" /> <xsl:variable name="var:v17" select="userCSharp:AddToCumulativeSum(1,string($var:v16),&quot;1000&quot;)" /> </xsl:if> </xsl:for-each> <xsl:variable name="var:v18" select="userCSharp:GetCumulativeSum(1)" /> <TotalNational> <xsl:value-of select="$var:v18" /> </TotalNational>
  • 23. The order in which we perform the links between the elements from source to destination has a huge impact in the final result This statement is true and false at the same time!  •
  • 24. The order in which we perform the links between the elements from source to destination has a huge impact in the final result This statement is true and false at the same time!  •
  • 25. int myCounter = 0; public void IncrementCounter() { myCounter += 1; } public int ReturnCounter() { return myCounter; }
  • 26.
  • 27. Hard to track relationships No search capabilities No cut/copy/paste or undo
  • 28.  Grid Pages • • • • Create unlimited different pages Isolate different parts of a map Work with different parts of a map separately Must create connected functoids on the same layer Grid Preview • Find and work with a portion of a large map Destination Schema Source Schema Record Order (..) PO PO Number Status Date ItemID Item No Qty Quantity UnitPrice X Order Status Total Price Date Page 1 Page 2 Page 3 Page 4
  • 30.
  • 32.
  • 38. Better UI for complex or large transformations • Reduce background “noise” using highlight propagation • Auto-scrolling and sibling coalescing help locate nodes Enhanced functionality • Support for search • Improved productivity with cut/copy/paste/move/ undo • Predictive match • Improved support for documenting map and readability
  • 40. Some of the best ways to address some of your needs within the context of message transformation
  • 41. Labs for tomorrow BizTalk Mapper Patterns specifying best practices and some of the best ways to address some of your needs within the context of message transformation.
  • 42.

Notas do Editor

  1. 02- JoinMultipleMessages03- HowToSendOrchestrationVariablesIntoMaps04- WorkingWithConstantValues05- MappingWorkingWithMultipleOutputMessages06 – WorkingWithConditions07- BizTalkMapperIFinLoppingRecord08- MuenchianGroupingSortingWithoutLosingMapFunctionalitie10- SandroPereira.MappingToNameValueRecord11- SandroPereira.NameValueToHierarchicalCommonMappingLogicConstructs