Wednesday, December 31, 2008

BizTalk 2009 Beta - Code Migration Process

After going through the process of migrating a BizTalk 2006 R1 solution to BizTalk Server 2009 (beta) I am happy to report that the process is a painless endeavor. The process itself reminds me a lot of the BizTalk 2004 - 2006 migration process.

My dev box has a clean install of BizTalk Server 2009 and did not previously have Visual Studio.Net 2005 on it. Therefore, I needed to go through the Code Conversion process. I used a BizTalk 2006 project from a previous blog post. The project was not all that complex but it did include the typical artifacts that you would find in a BizTalk solution. This includes:
  • The BizTalk Solution file
  • Orchestration Project
  • MapsAndSchema Project
  • Pipeline Project
  • .Net Helper Project
  • Binding Files (more on this later)

As you can see the DeliveryNotification sln file is a Visual Studio '8' (or 2005) file.

Double clicking on this file will launch Visual Studio 2008 and the Code Conversion Wizard

After clicking on "Next" you will be prompted with a dialog box that lists all of the related projects that will get migrated.

Success! Enable the check box to see the conversion report.

The results of the conversion process are documented below and the project listings are on the right hand side. Note that BizTalk projects currently have a "C#" icon. I do expect this to change as this is Beta. The underlying reason for this is that BizTalk projects are now considered to be 'flavours' of C# projects as discussed in this post.

So what was converted?
Here is a screenshot of what my BizTalk artifacts look like after the conversion process. By observing the Date modified timestamps, you get a sense of what was changed.

After taking a closer look, you will find that the actual BizTalk artifacts(schemas, orchestrations, maps etc) are not actually getting modified. Rather, it is the Visual Studio artifacts(solution file, project file, user settings) that are being modified.

I look at this as good news/bad news. Good in the sense that you will have a lot confidence that nothing will get broken when converting code. Bad in the sense that this means little has changed(from a development perspective) between BizTalk Server 2006 Rx and BizTalk Server 2009

Post Conversion
So the conversion process worked - now what? When I tried to build and deploy the solution I had no issues:

When I launched the BizTalk Admin Console, I was pleased to see that my Application Container and related artifacts were created during my deployment from 2008. Since this was my initial deploy on a clean dev box, I didn't have any bindings for the orchestration, receive locations or send ports.

I decided to import an existing binding file from my BizTalk Server 2006 solution.

The binding file import was successful!

I did discover an issue when I tried to start up the application from the tree view on the left hand side:

I could not Start, Stop or Configure the application. I was able to manually start the send ports, the orchestration and enable the receive locations. Or I could click on "Applications" folder and start the application from the "main frame". Both of these actions did start the application and turned the application's icon green.

I checked the Microsoft Connect site and saw that Ben Cline had already reported this as a bug. I added some of my own comments so Microsoft is aware of it and I would expect that it will get resolved for the next release.

Once the application was online, I processed some files to ensure that the application was functioning correctly and that it was.

While my project was not all that complex, I was happy with the migration experience and feel pretty confident in moving my projects from BizTalk 2006 to BizTalk 2009.


Unknown said...
This comment has been removed by the author.
Unknown said...

Thanks for mentioning me in your blog post. You wrote an excellent article on the new features provided with HAT! It seems that the right frame of the BizTalk admin console works better than the left - it must be some sort of context menu enabling/disabling issue. Thanks for confirming the issue on the Connect site.
- Ben Cline

Kent Weare said...

Thanks Ben.

Strange issue for sure! I continue to see some annomolies with the left frame. For instance right now my app is stopped(red light) and I have "Stop" and "Configure" enabled. However, "Start" is currently disabled where it should be enabled and "Stop" disabled.

Oh well...I am sure they will get it straightened out :-)

Unknown said...

Hi, I have a question about migration of EDI application from BTS2006 (not R2) to BTS2009. Will I be able to use my EDI Schemas , maps etc from BTS2006 into BTS2009? Thanks,Aarthi

Kent Weare said...

Hi Aarthi,

I have never worked with EDI so I don't want to give you bad info. I would create a post on the BizTalk MSDN forums.