[INACTIVE BLOG] Connected Thoughts – Thiago Almeida

May 21, 2010

BizTalk Server 2010 Beta: Enhanced Mapper

Filed under: BizTalk — Thiago Almeida @ 4:33 am

clip_image001

This is the first in a series of posts on the new features included in BizTalk Server 2010 Beta. Without a doubt the enhanced mapper is one of the biggest developer productivity updates from a usability perspective in the past few releases of BizTalk Server.

There is quite an extensive list of updates to the mapper and its functionality and this is easy notice the difference as soon as you open it in Visual Studio 2010. Note that most if not all the changes are to improve usability but the XLST created in the background and the list of functoids remains the same as far as I can tell.

There are too many improvements to demonstrate in one blog post, and there’s no point in trying to list them by importance as it is pretty subjective. In this post I will show some of the new features.

Many of these improvements are based on a couple of studies performed by the Microsoft Research team together with Eddie Churchill dating back to 2004/2005. The study involved enhancing the mapper to reduce the cost, complexity and labor involved in creating large maps between large schemas. You can watch a video of the team demonstrating some of these features on the MSDN channel Code 9 here: BizTalk’s sexy new XLST mapper.

The first feature I like is the Mapper Utility Ribbon that now sits on top of the mapper, as you can see on the picture below:

clip_image003

It helps you to identify at any time the root reference of the source and the destination schemas by showing these values on top of the source and destination schemas. The other buttons expose some of the other new features of the mapper.

The first button to the right of the root reference of the source schema and the first button to the left of the root reference of the destination schema toggle a new feature called Relevance View, the first feature resulting from the research done by Microsoft in 2005. Relevance view will implicitly collapse any non-relevant parts of the schemas. Relevance is based on whether an element or any of its children has links and if the elements or links are selected. The same map on the previous image with relevance view enabled on both sides looks much cleaner:

clip_image005

The next button from the left toggles the Show Relevant Links function. When enabled it behave like previous versions of the mapper in where it will still show on the mapper if there are links on the page even though they don’t apply to the current view. To clean up the view you can disable this.

While Auto Scrolling of Elements in the Source or Destination Schemas is always there by default, the next button from the left toggles the Auto-scrolling of Functoids function. This is another item inherited from the research by Eddie Churchill et. al. When the user selects a functoid or link this feature will bring all relevant links and functoids into view. For example, with the Auto-scrolling of Functoids disabled I selected the link in blue below:

clip_image007

As you can see it will highlight that there are links and schema elements associated with the selected link, but not bring the missing functoids into view. When I enable the feature it will auto scroll to show all the relevant functoids:

clip_image009

Also as a separate feature note how links out of scope show as a dotted line. Note that at least for now Auto-scrolling of Functoids won’t automatically move functoids for you. Functoids that are so far apart from each other that their distance is longer than the mapper window size will still not show in the same view.

As part of the previous two images you can already see the Optimized Display of Links across the map surface and the Emphasizing the Selected Objects features, also resulting from the Microsoft research. Here’s an example from the old mapper:

clip_image011

When selecting the same element on the new mapper, you now have a much clearer view of the all the links, functoids and destination elements relevant to what you have selected, as well as graying out everything else on the surface:

clip_image013

Selecting a specific link or functoid will also yield the same effect. The link selected is highlighted in blue:

clip_image015

Selecting multiple elements will apply the feature to all selected items:

clip_image017

Two other features available from the ribbon are the Panning Mode for when you want to click and drag to pan around the mapper surface, and the Zoom grid which lets you zoom in and out at different levels.

The last feature from the ribbon is Search. A second or so after you stop typing into the search box the mapper will show and select the first results it can find, as well as give you up and down arrows to let you move to the next or previous result:

clip_image019

You can also choose where to search by clicking the Options menu next to the search box:

  • Source Schema
  • Destination Schema
  • Map (searches on items on the map surface)
    • Name
    • Label
    • Comments
    • Inputs
    • Scripts

A neat feature is the status bar at the bottom of Visual Studio 2010 will give you the totals of the results found:

clip_image020

The next nice feature is Suggestive Match, yet another feature from Microsoft Research and Eddie Churchill. This feature was implemented to help the user identify good candidates for mapping based on an algorithm that also includes lexical matching using the English language. By selecting an element, either on the source schema or the destination schema, and clicking Ctrl + M, Ctrl + U you will see all the possible matches with the best ranked match already selected (the hotkey used to be just the Shift key on previous versions of the Beta so this might change back eventually):

clip_image022

You can then click enter to accept the best match or click up and down arrow to select other links. You can also right click on the element and select “Indicate Matches” on the pop up menu, and then select the link you are interested in by selecting it with a right click.

No new functoids have been released, but a lot of improvements have been made to help developers with the functoids, starting by functoids showing a tooltip when you hover over them. The functoid configuration has also been redeveloped; compare the same logical Equal functoid on previous versions to the BizTalk 2010 Beta version:

clip_image023 clip_image024

You can also now rezise the functoid configuration page, a feature very useful for the scripting functoid. You can also now import the script from a file (but not save it to a file…):

clip_image025

Another nice feature worth mentioning is that as part of Visual Studio 2010 you can now pop the mapper window out of the main Visual Studio window and move it around to other monitors.

Those are some of the features in the new mapper. There are quite a few more that I haven’t mentioned above that will improve developer productivity, for example:

  • Support for Cut, Copy, and Paste
  • Support for moving functoids and links between pages
  • Context menu when linking between records to assist with auto linking
  • Identifying functoid configuration issues
  • Support for selecting multiple links and functoids
  • Support for labeling and commenting
  • Displaying the relevant information through Infotips and Tooltips
  • Undo/Redo
  • Remembering the last view when reopening a map
  • Viewing input parameters in the properties window
  • Copy XPath option when right clicking on an element

Enjoy the new mapper, and let me know what you think and if you find any issues by adding comments to this post.

About these ads

9 Comments

  1. [...] Enhanced Mapper [...]

    Pingback by BizTalk Server 2010 Public Beta Announced « Connected Thoughts – Thiago Almeida — May 21, 2010 @ 4:34 am

  2. Will this be available for use outside of BizTalk?

    Comment by James — May 21, 2010 @ 8:09 am

    • The mapper is also available to use from Windows Workflow after you install BizTalk.

      Comment by Thiago Almeida — May 21, 2010 @ 8:27 am

      • Will the data mapping activities require any BTS runtime components (e.g. DLLs) when you distribute your app? In other words, what is the licensing requirements if you only want to use the mapper at design time? I understand it generates XSLT, but wondering if the using functoids or custom extensions would cause a dependency on the BTS DLLs.

        Comment by James — May 22, 2010 @ 4:48 am

      • Hi James,
        Using the mapper from windows workflow foundation adds a reference to Microsoft.XLANGs.BaseTypes.dll, so for now there is that requirement . Microsoft haven’t released any details on licensing when using mapper from Windows Workflow Foundation without having BizTalk installed on the same machine. At least initially the idea is to have BizTalk Server and Windows Server AppFabric (to host the workflow that uses the mapper) together. I have a blog post planned on using the mapper and the WCF LOB adapters from windows worklfow and will try to find out more then.

        Comment by Thiago Almeida — May 22, 2010 @ 9:20 am

  3. [...] BizTalk Server 2010 Beta: Enhanced Mapper [...]

    Pingback by Scott Banwart's Blog » Blog Archive » Distributed Weekly 51 — May 22, 2010 @ 3:15 am

  4. [...] Thiago Almeida [...]

    Pingback by First Look At BizTalk Server 2010 Mapper - Jean-Paul Smit — May 23, 2010 @ 10:59 am

  5. [...] workflow activities toolbox containing the mapper activity. The mapper interface is the same as the enhanced BizTalk Server 2010 Beta mapper. The code activity (from Program FilesMicrosoft BizTalk Server 2010Developer Tools [...]

    Pingback by BizTalk Server 2010 Beta: BizTalk + AppFabric « Connected Thoughts – Thiago Almeida — June 14, 2010 @ 11:31 pm

  6. [...] I was really excited to experiment with BizTalk Server 2010 after reading about the new features at Thiago Almeida, Randal van Splunteren and Jean-Paul Smit, I decided to make a virtual machine and install BizTalk [...]

    Pingback by Error 2337 when installing SQL Server 2008 R2 « Andy's Warhole — February 15, 2011 @ 12:57 am


RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

The WordPress Classic Theme. Blog at WordPress.com.

Follow

Get every new post delivered to your Inbox.

Join 39 other followers

%d bloggers like this: