SlideShare a Scribd company logo
1 of 30
brought to you by
BizTalk Mapping Patterns & an Introduction to WABS Maps
SANDRO PEREIRA
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 Patterns
Common mapper problems and solutions
 Introduction to Windows Azure BizTalk Services Maps
Main differences between BizTalk Mapper Design and the
WABS Transform Designer
 Best Practices (if we have time)
Soon…
Free eBook
Author
DIRECT TRANSLATION PATTERN
How can we transform the incoming message if the target message have a different
semantic representation?
DATA TRANSLATION PATTERN
How can we transform the incoming message if the target message have a different data
formats?
CONTENT ENRICHER PATTERN
How can we transform the incoming message if the message originator does not have all
the required data items available expected by the target message?
AGGREGATOR PATTERN
How do we combine the results of individual, but related messages, so that they can be
processed as a whole to generate the target message?
CONTENT FILTER PATTERN (Data Cleaning Pattern)
How can we transform the incoming message if the target message requires less
information that the originator message?
SPLITTER PATTERN
How can we process an incoming message into a series of outgoing messages so that
they can be sent to multiple recipient and processed in different ways?
GROUPING PATTERN
How can we transform the incoming message if the target message requires that the body
of the message must be delivered grouped in a certain way?
SORTING PATTERN
How can we transform the incoming message if the target message requires that the body
of the message must be delivered in a certain order?
CONDITIONAL PATTERN
How can we transform the incoming message if the target message requires that the data
items available in message originator can be passed according on a set of conditions?
LOOPING PATTERN
How can we transform the incoming message if the target and/or originator message
have a complex and recursive structures? How can we apply a set of common procedures
to be apply many times?
CANONICAL DATA MODEL PATTERN
How do you process messages that are semantically equivalent, but arrive in a different
format? And How can you minimize dependencies when integrating applications that use
different data formats?
NAME-VALUE TRANSFORMATION PATTERN
How can we transform the incoming message if the target message requires a name–
value pair (NVP) structure? Or if the target message requires a hierarchical schema but the
originator message have a NVP structure?
Demos
BizTalk Mapper Patterns specifying best practices and some of the best ways to
address some of your needs within the context of message transformation.
BizTalk Mapper Design
• Functoids (Advanced, Conversion, Cumulative,
Database, Date and Time, Logical, Mathematical,
Scientific, String)
• The transformation are created using XSLT
Transform Designer
• Operations (String Operations, Loop Operations, List
Operations, Cumulative Operations, Date / Time
Operations, Miscellaneous Operations, Expressions)
• The transformation are created using Extensible
Application Markup Language (XAML)
BizTalk Mapper Design
• All functionalities at design time
• Debugging, Testing and validate
Transform Designer
• Limited operations
• Only support testing (and validation while
testing)
BizTalk Mapper Design
• Importing Custom XSLT external code
• Importing External .NET assembly
Transform Designer
• Importing Custom XSLT external code
Note:
• Custom Inline XSLT is not supported.
• You can only use CSharp Scripting inside WABS maps.
Demos
WABS Maps an introduction to the new Map Editor. How to migrate BizTalk
Maps to WABS Maps and how to apply some of the Mapper Patterns in this
new editor.
Hard to track relationships
No search capabilities
No cut/copy/paste or undo
Page 4Page 3Page 2
Grid Pages
Grid Preview
• 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
• Find and work with a portion of
a large map

Page 1
ItemID
Qty
UnitPrice
Record
PO
Status
Order
PO Number
Date
Item No
Quantity
Order Status
Destination Schema
Date Total Price
(..)
X
Source Schema

•
•
•

•
•
•


•
•
•

•
•
•
•

•
•
•
•

•
•
•

•
•
•

•
•
•
•




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



www.devscope.net

More Related Content

More from BizTalk360

Integration Monday - Logic Apps: Development Experiences
Integration Monday - Logic Apps: Development ExperiencesIntegration Monday - Logic Apps: Development Experiences
Integration Monday - Logic Apps: Development ExperiencesBizTalk360
 
Integration Monday - BizTalk Migrator Deep Dive
Integration Monday - BizTalk Migrator Deep DiveIntegration Monday - BizTalk Migrator Deep Dive
Integration Monday - BizTalk Migrator Deep DiveBizTalk360
 
Testing for Logic App Solutions | Integration Monday
Testing for Logic App Solutions | Integration MondayTesting for Logic App Solutions | Integration Monday
Testing for Logic App Solutions | Integration MondayBizTalk360
 
System Integration using Reactive Programming | Integration Monday
System Integration using Reactive Programming | Integration MondaySystem Integration using Reactive Programming | Integration Monday
System Integration using Reactive Programming | Integration MondayBizTalk360
 
Building workflow solution with Microsoft Azure and Cloud | Integration Monday
Building workflow solution with Microsoft Azure and Cloud | Integration MondayBuilding workflow solution with Microsoft Azure and Cloud | Integration Monday
Building workflow solution with Microsoft Azure and Cloud | Integration MondayBizTalk360
 
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...BizTalk360
 
Migrating BizTalk Solutions to Azure: Mapping Messages | Integration Monday
Migrating BizTalk Solutions to Azure: Mapping Messages | Integration MondayMigrating BizTalk Solutions to Azure: Mapping Messages | Integration Monday
Migrating BizTalk Solutions to Azure: Mapping Messages | Integration MondayBizTalk360
 
Integration-Monday-Infrastructure-As-Code-With-Terraform
Integration-Monday-Infrastructure-As-Code-With-TerraformIntegration-Monday-Infrastructure-As-Code-With-Terraform
Integration-Monday-Infrastructure-As-Code-With-TerraformBizTalk360
 
Integration-Monday-Stateful-Programming-Models-Serverless-Functions
Integration-Monday-Stateful-Programming-Models-Serverless-FunctionsIntegration-Monday-Stateful-Programming-Models-Serverless-Functions
Integration-Monday-Stateful-Programming-Models-Serverless-FunctionsBizTalk360
 
Integration-Monday-Serverless-Slackbots-with-Azure-Durable-Functions
Integration-Monday-Serverless-Slackbots-with-Azure-Durable-FunctionsIntegration-Monday-Serverless-Slackbots-with-Azure-Durable-Functions
Integration-Monday-Serverless-Slackbots-with-Azure-Durable-FunctionsBizTalk360
 
Integration-Monday-Building-Stateful-Workloads-Kubernetes
Integration-Monday-Building-Stateful-Workloads-KubernetesIntegration-Monday-Building-Stateful-Workloads-Kubernetes
Integration-Monday-Building-Stateful-Workloads-KubernetesBizTalk360
 
Integration-Monday-Logic-Apps-Tips-Tricks
Integration-Monday-Logic-Apps-Tips-TricksIntegration-Monday-Logic-Apps-Tips-Tricks
Integration-Monday-Logic-Apps-Tips-TricksBizTalk360
 
Integration-Monday-Terraform-Serverless
Integration-Monday-Terraform-ServerlessIntegration-Monday-Terraform-Serverless
Integration-Monday-Terraform-ServerlessBizTalk360
 
Integration-Monday-Microsoft-Power-Platform
Integration-Monday-Microsoft-Power-PlatformIntegration-Monday-Microsoft-Power-Platform
Integration-Monday-Microsoft-Power-PlatformBizTalk360
 
One name unify them all
One name unify them allOne name unify them all
One name unify them allBizTalk360
 
Securely Publishing Azure Services
Securely Publishing Azure ServicesSecurely Publishing Azure Services
Securely Publishing Azure ServicesBizTalk360
 
Integration-Monday-BizTalk-Server-2020
Integration-Monday-BizTalk-Server-2020Integration-Monday-BizTalk-Server-2020
Integration-Monday-BizTalk-Server-2020BizTalk360
 
One repo for all with Azure DevOps
One repo for all with Azure DevOpsOne repo for all with Azure DevOps
One repo for all with Azure DevOpsBizTalk360
 

More from BizTalk360 (20)

Integration Monday - Logic Apps: Development Experiences
Integration Monday - Logic Apps: Development ExperiencesIntegration Monday - Logic Apps: Development Experiences
Integration Monday - Logic Apps: Development Experiences
 
Integration Monday - BizTalk Migrator Deep Dive
Integration Monday - BizTalk Migrator Deep DiveIntegration Monday - BizTalk Migrator Deep Dive
Integration Monday - BizTalk Migrator Deep Dive
 
Testing for Logic App Solutions | Integration Monday
Testing for Logic App Solutions | Integration MondayTesting for Logic App Solutions | Integration Monday
Testing for Logic App Solutions | Integration Monday
 
No-Slides
No-SlidesNo-Slides
No-Slides
 
System Integration using Reactive Programming | Integration Monday
System Integration using Reactive Programming | Integration MondaySystem Integration using Reactive Programming | Integration Monday
System Integration using Reactive Programming | Integration Monday
 
Building workflow solution with Microsoft Azure and Cloud | Integration Monday
Building workflow solution with Microsoft Azure and Cloud | Integration MondayBuilding workflow solution with Microsoft Azure and Cloud | Integration Monday
Building workflow solution with Microsoft Azure and Cloud | Integration Monday
 
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
 
Migrating BizTalk Solutions to Azure: Mapping Messages | Integration Monday
Migrating BizTalk Solutions to Azure: Mapping Messages | Integration MondayMigrating BizTalk Solutions to Azure: Mapping Messages | Integration Monday
Migrating BizTalk Solutions to Azure: Mapping Messages | Integration Monday
 
Integration-Monday-Infrastructure-As-Code-With-Terraform
Integration-Monday-Infrastructure-As-Code-With-TerraformIntegration-Monday-Infrastructure-As-Code-With-Terraform
Integration-Monday-Infrastructure-As-Code-With-Terraform
 
Integration-Monday-Stateful-Programming-Models-Serverless-Functions
Integration-Monday-Stateful-Programming-Models-Serverless-FunctionsIntegration-Monday-Stateful-Programming-Models-Serverless-Functions
Integration-Monday-Stateful-Programming-Models-Serverless-Functions
 
Integration-Monday-Serverless-Slackbots-with-Azure-Durable-Functions
Integration-Monday-Serverless-Slackbots-with-Azure-Durable-FunctionsIntegration-Monday-Serverless-Slackbots-with-Azure-Durable-Functions
Integration-Monday-Serverless-Slackbots-with-Azure-Durable-Functions
 
Integration-Monday-Building-Stateful-Workloads-Kubernetes
Integration-Monday-Building-Stateful-Workloads-KubernetesIntegration-Monday-Building-Stateful-Workloads-Kubernetes
Integration-Monday-Building-Stateful-Workloads-Kubernetes
 
Integration-Monday-Logic-Apps-Tips-Tricks
Integration-Monday-Logic-Apps-Tips-TricksIntegration-Monday-Logic-Apps-Tips-Tricks
Integration-Monday-Logic-Apps-Tips-Tricks
 
Integration-Monday-Terraform-Serverless
Integration-Monday-Terraform-ServerlessIntegration-Monday-Terraform-Serverless
Integration-Monday-Terraform-Serverless
 
Integration-Monday-Microsoft-Power-Platform
Integration-Monday-Microsoft-Power-PlatformIntegration-Monday-Microsoft-Power-Platform
Integration-Monday-Microsoft-Power-Platform
 
One name unify them all
One name unify them allOne name unify them all
One name unify them all
 
Securely Publishing Azure Services
Securely Publishing Azure ServicesSecurely Publishing Azure Services
Securely Publishing Azure Services
 
Integration-Monday-BizTalk-Server-2020
Integration-Monday-BizTalk-Server-2020Integration-Monday-BizTalk-Server-2020
Integration-Monday-BizTalk-Server-2020
 
One repo for all with Azure DevOps
One repo for all with Azure DevOpsOne repo for all with Azure DevOps
One repo for all with Azure DevOps
 
No-Slide
No-SlideNo-Slide
No-Slide
 

Recently uploaded

What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024Stephanie Beckett
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPTiSEO AI
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty SecureFemke de Vroome
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfFIDO Alliance
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe中 央社
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...marcuskenyatta275
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Julian Hyde
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101vincent683379
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomCzechDreamin
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...CzechDreamin
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfFIDO Alliance
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераMark Opanasiuk
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfFIDO Alliance
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftshyamraj55
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyJohn Staveley
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGDSC PJATK
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxJennifer Lim
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfFIDO Alliance
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyUXDXConf
 

Recently uploaded (20)

What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty Secure
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 

BizTalk Mapping Patterns & An Introduction to WABS Maps

  • 1. brought to you by BizTalk Mapping Patterns & an Introduction to WABS Maps SANDRO PEREIRA
  • 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 Patterns Common mapper problems and solutions  Introduction to Windows Azure BizTalk Services Maps Main differences between BizTalk Mapper Design and the WABS Transform Designer  Best Practices (if we have time)
  • 5.
  • 6. DIRECT TRANSLATION PATTERN How can we transform the incoming message if the target message have a different semantic representation? DATA TRANSLATION PATTERN How can we transform the incoming message if the target message have a different data formats? CONTENT ENRICHER PATTERN How can we transform the incoming message if the message originator does not have all the required data items available expected by the target message?
  • 7. AGGREGATOR PATTERN How do we combine the results of individual, but related messages, so that they can be processed as a whole to generate the target message? CONTENT FILTER PATTERN (Data Cleaning Pattern) How can we transform the incoming message if the target message requires less information that the originator message? SPLITTER PATTERN How can we process an incoming message into a series of outgoing messages so that they can be sent to multiple recipient and processed in different ways?
  • 8. GROUPING PATTERN How can we transform the incoming message if the target message requires that the body of the message must be delivered grouped in a certain way? SORTING PATTERN How can we transform the incoming message if the target message requires that the body of the message must be delivered in a certain order? CONDITIONAL PATTERN How can we transform the incoming message if the target message requires that the data items available in message originator can be passed according on a set of conditions?
  • 9. LOOPING PATTERN How can we transform the incoming message if the target and/or originator message have a complex and recursive structures? How can we apply a set of common procedures to be apply many times? CANONICAL DATA MODEL PATTERN How do you process messages that are semantically equivalent, but arrive in a different format? And How can you minimize dependencies when integrating applications that use different data formats? NAME-VALUE TRANSFORMATION PATTERN How can we transform the incoming message if the target message requires a name– value pair (NVP) structure? Or if the target message requires a hierarchical schema but the originator message have a NVP structure?
  • 10. Demos BizTalk Mapper Patterns specifying best practices and some of the best ways to address some of your needs within the context of message transformation.
  • 11.
  • 12. BizTalk Mapper Design • Functoids (Advanced, Conversion, Cumulative, Database, Date and Time, Logical, Mathematical, Scientific, String) • The transformation are created using XSLT Transform Designer • Operations (String Operations, Loop Operations, List Operations, Cumulative Operations, Date / Time Operations, Miscellaneous Operations, Expressions) • The transformation are created using Extensible Application Markup Language (XAML)
  • 13. BizTalk Mapper Design • All functionalities at design time • Debugging, Testing and validate Transform Designer • Limited operations • Only support testing (and validation while testing)
  • 14. BizTalk Mapper Design • Importing Custom XSLT external code • Importing External .NET assembly Transform Designer • Importing Custom XSLT external code Note: • Custom Inline XSLT is not supported. • You can only use CSharp Scripting inside WABS maps.
  • 15. Demos WABS Maps an introduction to the new Map Editor. How to migrate BizTalk Maps to WABS Maps and how to apply some of the Mapper Patterns in this new editor.
  • 16.
  • 17. Hard to track relationships No search capabilities No cut/copy/paste or undo
  • 18. Page 4Page 3Page 2 Grid Pages Grid Preview • 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 • Find and work with a portion of a large map  Page 1 ItemID Qty UnitPrice Record PO Status Order PO Number Date Item No Quantity Order Status Destination Schema Date Total Price (..) X Source Schema
  • 20.
  • 22.
  • 28. 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