none
Inbound and outbound maps RRS feed

  • Question

  • what is the use of inbound and outbound maps? what kind of scenarios we can prefer those maps?


    Tuesday, May 24, 2016 1:31 PM

Answers

All replies

  • Use the Inbound and Outbound Maps dialog box to associate a map with a receive location or a send port.

    Inbound Maps are used on Receive Locations when a message has to be converted from the format it is received in into a message that can be processed in BizTalk (very often a canonical format).

    Outbound Maps are used on send locations for when from BizTalk you need to provide data to someone else in a format they want.

    Microsoft has just provided you these options, it totally depends on the business requirement where you want the transformation to be done.

    There is no difference between these two.

    For your reference below is the order in which maps and pipelines get executed on receive and send ports:

    One-way Receive Port:

    End system –> Receive Adapter –> Receive Pipeline –> Inbound Map –> Message Box

    Request Response Receive Port:

    End system –> Adapter –> Receive Pipeline –> Inbound Map -> Message Box -> Outbound Map –> Send Pipeline –> Adapter –> End System

    One-way Send Port (static and dynamic):

    Message Box –> Outbound Map –> Send Pipeline –> Send Adapter –> End System

    Request Response Send Port (static and dynamic):

    Message Box-> Outbound Map –> Send Pipeline –> Adapter -> End system –> Adapter –> Receive Pipeline –> Inbound Map -> Message Box

    Refer:

    How to Add Maps to Send Ports for Outbound Normalization Using BizTalk Explorer
    How to Add Maps to Send Ports for Inbound Normalization Using BizTalk Explorer


    Rachit Sikroria (Microsoft Azure MVP)

    Tuesday, May 24, 2016 11:05 PM
    Moderator
  • Hi,

    Inbound Maps are used on Receive Locations when a message has to be converted from the format it is received in into a message that can be processed in BizTalk (very often a canonical format).

    Outbound Maps are used on send locations for when from BizTalk you need to provide data to someone else in a format they want.

    Please have a look into below related thread,

    https://social.msdn.microsoft.com/Forums/en-US/f22d3035-da18-40da-899d-e0e82c041e3b/inbound-and-outbound-map?forum=biztalkgeneral

    And also please have a look into belo MSDN article for some more details,

    https://msdn.microsoft.com/en-us/library/ee267881(v=bts.10).aspx

    https://msdn.microsoft.com/en-us/library/aa547076.aspx

    https://sandroaspbiztalkblog.wordpress.com/2012/03/30/biztalk-server-basics-principles-of-maps-what-are-maps-and-where-biztalk-can-use-them-part-2/


    Thanks,

    If my reply is helpful please mark as Answer or vote as Helpful.

    My blog | Twitter | LinkedIn

    This post is my own opinion and does not necessarily reflect the opinion or view of Microsoft, its employees, or other MVPs.

    Wednesday, May 25, 2016 4:43 AM
    Moderator
  • Hi

    Maps/transformations convert from one XML message format to another. Since BizTalk is a middleware/integration product it is a common case to receive messages in one format and send that over to a different system in a different format.

    Where you do the mapping (inbound or outbound) really depends on your application requirements.

    Inbound maps:

    Are applied on Receive Ports, and not Receive Locations - this gives you a lot of flexibility. Let's say you receive a message of typeA from a partner and you have to save it in your database that takes message of typeB - the only processing needed in your solution is to transform from type A to type B. In this case, it really does not matter if you are using an inbound map(on Receive Port), or an outbound map(on Send Port).

    However, lets say you are dealing with 5 different partners who send you Purchase Orders, and you have to save them in your database. Even though most of the data they send is similar - like OrderId, OrderAmount, etc. They send you 5 different messagetypes (A, B, C, D, E). Here it makes sense to use a canonical/common schema that you use internally in BizTalk. Create 5 maps from each of the above message types to your common internal/canonical schema and apply each of them at the ReceivePort. Whenever a partner sends you their message it would be converted at the ReceivePort to your internal schema, and subsequent processing in BizTalk is isolated from external schema changes. So, if partner B changes their schema, you only have to modify the map for PartnerB , deploy that on your Receive Port and you will be fine. No need to change your processing logic/orchestrations in BizTalk.

    Note: That you can apply multiple maps in your ReceivePort. This can transform from different message formats to a standard/canonical format in BizTalk.

    Refer this-

    http://social.technet.microsoft.com/wiki/contents/articles/22878.biztalk-server-how-map-works-on-port-level.aspx

    Outbound Maps:

    You can use them to map to a messageformat expected by the Receiver of the message from BizTalk. For example, if you have a common messageformat in BizTalk (in your orchestration), you can map from that common format to a specific format expected by the intended recipient of the message.


    Thanks Arindam





    Wednesday, May 25, 2016 5:20 AM
    Moderator