Mapping in BizTalk 2010: My favorite new features (part 1) – Intelligent Linking


The text below is based on the beta release of BizTalk 2010. It might not (completely) apply to the RTM release.

This blog post is part of a series of blog posts about my favorite new features in the BizTalk 2010 mapping tool. You can find an overview here.

In this first post we are going to look at a new feature called ‘Intelligent linking’. When you define your schemas and add new nodes to the schema you can choose between different types of nodes. Intelligent linking only applies to nodes that you set to type ‘Record’ in the schema editor. In other words it applies only to nodes that can contain other nodes.

Intelligent linking allows you to choose the type of link for records when mapped from source to destination. The mapper will automatically show a context menu from which a link option can be selected. The context menu will only show up if we map from record to record.

In the following map (where the source schema is the same as the destination schema) the ‘Person’ node is of type ‘Record’:

image

When we drag the source ‘Person’ to the destination ‘Person’ the context menu automatically appears:

image

image

As shown by the context menu we have the following options to choose from:

· Direct Link
· Link by Structure
· Link by Name
· Mass Copy

Direct link will create a link from record to record. Link by structure will look at structure of the child nodes below the ‘Person’ node and will try to link them by looking at the structure or hierarchy of the nodes. Link by Name will as the name indicates look at the name of the child nodes to try to link them to the destination child with the same name. When you select the last option ‘Mass Copy’, the mapper will automatically insert a mass copy functoid and link the source to the destination:

image

Now if you have experience with previous BizTalk versions you might say this feature is not new. That is absolutely true. The feature was already present in previous versions of BizTalk. You could drag from source record to destination record and while holding the shift key you could do a mapping for the child nodes. The main improvement is in the usability of the feature. In the previous versions you had to go the properties of the grid/map and change the ‘AutoLink By’ property there. The bad thing was that you had to remember to set the property to the correct value before dragging a link. In other words the property was map based. Although this is still available in BizTalk 2010 we can now more easily use this feature because of the automatic popup. The property is now link based. Besides that you could only choose between the values ‘Structure’ or ‘Node Name’ for the property while you can now also choose the ‘Mass Copy’ option.

A great new feature which will dramatically improve development speed when working with big transformations where you need a lot of links.

In the next post we will be looking at ‘Functoid Intellisense’.

About these ads

6 Responses to Mapping in BizTalk 2010: My favorite new features (part 1) – Intelligent Linking

  1. Jan Eliasen says:

    You write that “Although this is still available in BizTalk 2010″, but actually the “Autolink by” property of the map has now disappeared and you can only use this method you are describing.

    • Randal van Splunteren says:

      Hi Jan,

      I wrote the blog posts series during the release candidate version of BizTalk 2010. After the release of Beta 1 I validated the posts against it. This is probably something that was available in the RC while it was removed from the Beta. Didn’t check it but I believe you of course :-)

      • BillF says:

        Is there any way to shut this feature off?

        I have a situation where I have a schema provided to me from an external trading partner that has a Record named “Client” and in that Record is an attribute named “ClientID” and also an element named “ClientID”.

        I have an internal version of this schema which is basically a direct clone with some routing properties I’ve added for promotion and also some system specific attributes we use internally.

        In my map I am trying to do a one to one from attribute to attribute and element to element but everything I’ve tried automatically links the attribute from my source schema (internal cloned version) to both the attribute and element in the destination schema. I can’t get it to map element to element. None of the options for auto link work and even when I directly try to link from element to element it ignores me and automatically links from the attribute to the element. It’s driving me insane!

        • Sharath Palavalli says:

          This I think is because of a bug in the mapper UI when the target schema has an attribute and an element of the same name. The work around is to turn off the ignoreNamrspacesForLinks btm property. With this turned off, your links should get created correctly. This is not a bug per say in intellilinking.

          Sharath Palavalli
          BizTalk Developer

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: