BizTalk Mapper Extensions UtilityPack updated for BizTalk Server 2010

BizTalk Mapper Extensions UtilityPack updated for BizTalk Server 2010

“BizTalk Mapper Extensions UtilityPack” project (available on CodePlex) is now updated for BizTalk Server 2010 (sorry for the delay). This is a simple migration of the project to 2010 and all functoids were tested in this environment. The project was originally published on 21 November 2010 and no new developments have been made %u200b%u200bsince then. […]
Blog Post by: Sandro Pereira

WCF bindings to connect with the top Non-Microsoft platforms

Microsoft finally launched the WCF binding to connect with the top Non-Microsoft i.e. Oracle WebLogic, Oracle Metro, IBM WebSphere, Apache Axis2
You can get the bindings from CodePlex which also contains the links to the following useful whitepaper.
Oracle WebLogic-to-WCF Secure Messaging Interoperability WhitePaper
IBM WebSphere-to-WCF Secure Messaging Interoperability WhitePaper

Three .NET Best Practices to Keep in Mind

Practice #1: Catch Exceptions at the Highest Possible Level (Tier)
In general, exceptions should be bubbled up to the highest possible level to be caught and processed. For example, in our project, a search goes through the following logical tiers:
UI -> Services -> Data/SharePoint/Refinement -> Web Services
There are quite a few instances where we’re catching exceptions […]
Blog Post by: Michael Gerety

MQSC options may not be available in Biztalk Administration console

Recently, we ran into some issues in which the MQSC adapter was not displayed as an option in the BizTalk Administration console, even after the adapter was properly installed on a BizTalk 2009 / Windows 2008 SP1 server. Before outlining the problem and the solution, let’s discuss the MQSC adapter basics first.

MQSC Adapter Basics

The MQSC adapter is only supported running in 32-bit mode on BizTalk 2006 R2, regardless of the operating system being used. On BizTalk 2009 and 2010, the MQSC adapter is supported on Windows 32-bit and Windows 64-bit configurations. In BizTalk 2009, the ability to run in a 64-bit host depends on the version of the IBM Websphere client installed, specifically MQ Client (7.x) or greater. If the goal is to run 64-bit hosts then the 64-bit version of the IBM Websphere client must be installed onto a supported Windows operating system running on a 64-bit processor. For
more information, please follow the installation documentation for the IBM Websphere client and/or the installation documentation for the version of Biztalk being installed.

939202 Update

This update forces the MQSC adapter to run in 32-bit hosts in BizTalk 2006 R2 regardless if the operating system is 32-bit or 64-bit. When 939202 is installed onto any other version of BizTalk (except BizTalk 2006 R2), you may get the “Exception: is not a valid Win32 application. (Exception from HRESULT: 0x800700C1)” exception when running the adapter in 64-bit hosts. Uninstall the 939202 update. If a problems persists, call Microsoft customer support.

MQSC Adapter WMI Installation May Fail

When the MQSC adapter is installed onto BizTalk 2009 / Windows 2008 SP1 (or later SP) or BizTalk 2010 / Windows 2008 R2, it is possible that the WMI install will fail to write the proper registry entries when loading the “Microsoft.BizTalk.Adapter.MQSCAdmin.dll”. The BizTalk MMC console runs as 32-bit MMC.exe process. When the MQSC adapter installation fails, it does not write the correct information to the registry keys used by the MQSC adapter.

To resolve this, add the “MQSC Adapter Class” class information manually into the Wow6432Node node in the registry and then do a repair of the MQSC adapter (again, it is part of the HIS installation). The outline for correcting this problem is as follows: 

  • Install MQ 7.x or greater and all of the appropriate updates (64-bit version).
  • Install BizTalk Host Adapters 2.0 from the HIS 2009/2010 Server media onto the target BizTalk 2009/2010 server.
  • Copy the registry information below into a registry file (.reg file) and import it into the HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID key.
  • Run the repair for the BizTalk Host Adapters 2.0 from the HIS 2009/2010 Server media (do not skip this step).
  • The MQSC adapter should show up in the BizTalk Administration console.

 NOTE: Please refer to the appropriate HIS and IBM Websphere client documentation for the most current installation procedures.

REGISTRY ENTRY

 “Using Registry Editor incorrectly can cause serious, system-wide problems that may require you to re-install Windows to correct them. Microsoft cannot guarantee that any problems resulting from the use of Registry Editor can be solved. Use this tool at your own risk.”

REGISTRY ENTRY

=============

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID\{CF8B4D15-5D2B-4c62-90DB-16804D2454B9}]

@=”MQSC Adapter Class”

“AppID”=”{401D2C40-DAA9-4a63-8D42-9BF98B04F616}”

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID\{CF8B4D15-5D2B-4c62-90DB-16804D2454B9}\BizTalk]

@=”BizTalk”

“TransportType”=”MQSC”

“Constraints”=dword:00003d0b

“ReceiveLocation_PageProv”=”{2DE93EE6-CB01-4007-93E9-C3D71689A280}”

“TransmitLocation_PageProv”=”{2DE93EE6-CB01-4007-93E9-C3D71689A282}”

“OutboundProtocol_PageProv”=”{2DE93EE6-CB01-4007-93E9-C3D71689A283}”

“OutboundEngineCLSID”=”{6811E17F-A4C2-44BB-B4D5-D69962E58E87}”

“InboundEngineCLSID”=”{538F8B3D-EE7B-4459-A123-45CD5C3B671B}”

“InboundTypeName”=”Microsoft.BizTalk.Adapter.Mqsc.MqscReceiver, Microsoft.BizTalk.Adapter.MQSC, Version=7.0.2300.0, Culture=neutral,

PublicKeyToken=31bf3856ad364e35, Custom=null”

“InboundAssemblyPath”=””

“OutboundTypeName”=”Microsoft.BizTalk.Adapter.Mqsc.MqscTransmitter, Microsoft.BizTalk.Adapter.MQSC, Version=7.0.2300.0, Culture=neutral,

PublicKeyToken=31bf3856ad364e35, Custom=null”

“OutboundAssemblyPath”=””

“PropertyNameSpace”=”http://schemas.microsoft.com/BizTalk/2003/mqs-properties

“ProtocolAlias”=”mqsc://”

“ReceiveHandlerPropertiesXML”=”<CustomProps><AdapterConfig vt=\”8\”/></CustomProps>”

“SendHandlerPropertiesXML”=”<CustomProps><AdapterConfig vt=\”8\”/></CustomProps>”

“ReceiveLocationPropertiesXML”=”<CustomProps><AdapterConfig vt=\”8\”/></CustomProps>”

“SendLocationPropertiesXML”=”<CustomProps><AdapterConfig vt=\”8\”/></CustomProps>”

“AliasesXML”=”<AdapterAliasList><AdapterAlias>mqsc://</AdapterAlias></AdapterAliasList>”

“AdapterMgmtTypeName”=”Microsoft.BizTalk.Adapter.Mqsc.MqscAdapterManagement”

“AdapterMgmtAssemblyPath”=”C:\\Program Files (x86)\\Microsoft BizTalk Adapters for Host Systems 2.0\\system\\Microsoft.BizTalk.Adapter.MQSCAdmin.dll”

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID\{CF8B4D15-5D2B-4c62-90DB-16804D2454B9}\Implemented Categories]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID\{CF8B4D15-5D2B-4c62-90DB-16804D2454B9}\Implemented Categories\{80D39129-B68D-4f85-98EF-

151A4E1627F7}]

@=””

NOTE: Confirm that the “AdapterMgmtAssemblyPath” is proper for your installation.

Blog Post by: Dwaine D Gilmer

Speaking at Dutch BizTalk User group – Almere, Netherlands

Tomorrow I’ll be presenting BizTalk 360 to the Dutch BizTalk user group at Almere. I need to thank the organisers especially Randal van Splunteren, Steef-Jan Wigger, and Charles Storm for making this happen.

Randal has already raised the bar and increased the expectations by his blog post . Steef-Jan is going to do couple of talks on Salesforce-BizTalk integration and Jeroen Boiten going to talk about BizTalk project at Gasunie. If you are around and haven’t registered, please do so, this will be an opportunity to meet all the BizTalk community people at one place. Registration link.

See you all soon.

Nandri!

Saravana Kumar

Sending Messages from Salesforce.com to BizTalk Server Through Windows Azure AppFabric

Sending Messages from Salesforce.com to BizTalk Server Through Windows Azure AppFabric

In a very short time, my latest book (actually Kent Weare’s book) will be released. One of my chapters covers techniques for integrating BizTalk Server and Salesforce.com. I recently demonstrated a few of these techniques for the BizTalk User Group Sweden, and I thought I’d briefly cover one of the key scenarios here. To be […]
Blog Post by: Richard Seroter

Packt Books Making Their Way to the Amazon Kindle

Packt Books Making Their Way to the Amazon Kindle

Just a quick FYI that my last book, Applied Architecture Patterns on the Microsoft Platform, is now available on the Amazon Kindle.  Previously, you could pull the eBook copy over to the device, but that wasn’t ideal.  Hopefully my newest book, Microsoft BizTalk 2010: Line of Business Systems Integration will be Kindle-ready shortly after it […]
Blog Post by: Richard Seroter

Marriage between BizTalk360 and Azure AppFabric Service Bus – Result: Birth of http://demo.biztalk360.com

This is an open invitation for all of you to access/manage one of our test BizTalk environment, running in our premise protected by NAT/Firewall.

http://demo.biztalk360.com

Note: The first time loading will take sometime, once the SilverLight application is downloaded, it will be quick.

Why do we need AppFabric Service Bus integration for BizTalk 360?

Even before shipping the V1.0 of BizTalk360, we started on some of the cool features requested by potential customers (coming in V2.0). Ability to manage their BizTalk environment remotely, securely, and with less investment in infrastructure changes.

There are various scenarios why a company may want to do this. One of the main reason is outsourcing your Microsoft BizTalk Server support/operations to some third party companies. Previously providing something like this required heavy investment on infrastructure like setting up VPN connections, Citrix/RDP access to your production environment etc. But thanks to BizTalk360, which by default comes with lot of features targeted for production support, things like fine grained authorization, complete governance/auditing, ability to give read only access etc. Now with the support for AppFabric service bus, it’s possible to allow third party companies to securely manage your BizTalk environment. It’s important to mention, you’ll be able to audit/govern who did what!!.

Technology behind the scene

Majority of the hard work here is taken by Microsoft Azure AppFabric Service Bus (SB from now) infrastructure. Basically AppFabric SB takes care of all the challenges around establishing the connection with the on-premise infrastructure crossing through NAT/Firewall securely. This was possible also because of the BizTalk360 architecture. The front SilverLight application merely displays the data provided by the back end 8+ WCF services. We simply introduced AppFabric Service Bus layer in-between the SilverLight front end and the WCF backend as shown in the above figure. All of our recent blog posts were related to this. There were few challenges, but once we understood the challenges and how the whole thing works, everything went very smooth.

  • Azure AppFabric Service bus, Silverlight Integration – End-to-End (walkthrough) – Part 1
  • Azure AppFabric Service bus, Silverlight Integration – End-to-End (walkthrough) – Part 2
  • AppFabric Service Bus : net:pipe needs to be specified error
  • Understand Azure AppFabric Service Bus Pricing

As you can see from the picture above, the original BizTalk Environment is running in one of our internal environments. The front end is hosted on Windows Azure as a web role. The Azure AppFabric service bus puts the plumbing in-between and takes care of all the communication.

There is also a CNAME mapping, which maps http://demo.biztalk360.com to the actual Windows Azure Webrole application http://biztalk360.cloudapp.net

All the communication from the Azure Web role to the on premise BizTalk environment is fully encrypted using "https" traffic.

User simply come and hit the URL http://demo.biztalk360.com without knowing what’s going on behind the scene.

Nandri

Saravana Kumar

First look at Azure AppFabric June (2011) CTP

First look at Azure AppFabric June (2011) CTP

Recently Microsoft has released another Azure AppFabric CTP.  This particular one focuses on Azure “AppFabric Applications” or otherwise known as “Composite Applications”.  The goal of Azure AppFabric Applications(as I see it) is  to build, deploy and manage multi-tier applications as a single logical entity in Windows Azure.

Coming from the BizTalk world I am very familiar with distributed applications.  Some of the challenges in developing and maintaining these types of applications is understanding all of the moving parts that are involved in these solutions.  AppFabric Applications is a step in the right direction as it provides a holistic view of our “stuff” that makes up a distributed application including Web Applications, Custom and 3rd party Services, Service Bus capabilities (Relay/Queues), Workflow and Storage(DB/Blob/Table). 

Managing, and understanding,  different application/solution tiers independently can be a bit of a nightmare.  One of the features of AppFabric Applications the ability to automatically generate a diagram that describes all of the core components of our distributed application and the related dependencies.

If we take a look at a diagram that describes one of the sample solutions we can quickly discover what our solution is made up of.  In this case we have a Web Application that will push data to an AppFabric Queue.  In turn we have a service that pull this data off of the queue.

image

So at this point you may be thinking “whoopee” I can draw that in Visio in 2 minutes.  Well Visio will not be able to deploy this entire solution to the cloud in the matter of a few mouse clicks.  Once this application is in the cloud we then have the ability to provision our various tiers by “turning a knob” or in this case pulling down a menu to select the amount of instances we require.

Another nice benefit is that we can trace and instrument our entire solution from once place.  This is another pain point of distributed systems.  There is usually logs all over the place that have to be aggregated to get a sense of the performance and health of an entire application.  This is another benefit of using Azure AppFabric Composite apps.

Unfortunately my experience with this technology is only in the Local Development fabric as I am currently waiting to get access to the “Labs” environment in Azure.  But if you check out some of the resources that I have outlined below you can see some demos of the Management features available in the Cloud.

Summary

Benefits:

    • Ease of deployment
    • Greater developer productivity
    • Effortless scale
    • Centralized managed and monitoring

CTP includes

    • AppFabric Developer Tools
    • AppFabric Application Manager
    • Composition Model
    • Support for running Custom Code, WCF and WF

What you need

Windows Azure AppFabric CTP SDK and Windows Azure AppFabric Tools for Visual Studio

Resources:

Before you start, I recommend watching the following videos:

  • Channel 9 announcement video 
  • Alan Smith’s webcast
  • TechEd 2011 North America video

I also suggest you take a look at the Tutorials and Samples.

The Samples that are available include introductory apps like a StockQuote app that has a Web Front end and then consumes a back end service  to a Contoso Pizza application that includes a Web Front End that consumes a back end service which leverages some WF workflow.

Closing

This new CTP has me really intrigued.  I plan to investigate further and will blog more about my findings.