Wednesday, September 15, 2010

BizTalk 2009 + SharePoint 2010

 

Note:  The following steps do not represent a supportable configuration by Microsoft and extreme caution should be used when following these steps.  To my knowledge, these steps are complete, but it is possible that I missed something.  These steps have been tested in a Send Port Subscription scenario.   Use these instructions at your own risk.

At the organization that I work for, we are rolling out SharePoint 2010.  We currently run BizTalk 2009 and  at this point in time, the  BizTalk 2009 SharePoint Adapter Web Service isn’t supported with SharePoint 2010.  BizTalk 2010 has been updated to support SharePoint 2010.  We really have no choice but to head in this direction since upgrading to BizTalk 2010 just isn’t an option at this point in time.

When you launch the BizTalk 2009 installation on a SharePoint 2010 Server you will not be able to install the Windows SharePoint Services Adapter Web Service as it is not able to detect the pre-requisite Windows SharePoint Services v 3.0 files.

image

Mick Badran has a post that helped me out tremendously. However, I found that I had to take a few additional steps so I will recap exactly what we did in order for us to get this to function in our environment.

We had an existing MOSS 2007 server that had the BizTalk Adapter Web Service installed and functioning correctly.  Since you cannot use the BizTalk installation wizard to install this Web Service, we decided to reverse engineer what was deployed on MOSS 2007 and manually deploy on SharePoint 2010.

  • Copy the c:\program files\Microsoft BizTalk 2009 folder from your MOSS 2007 Server to your SharePoint 2010 Server
  • Create the BTSharePointAdapterWS Web Application in IIS Manager and set the physical path to C:\Program Files (x86)\Microsoft BizTalk Server 2009\Business Activity Services\BTSharePointV3AdapterWS 

Note: This path represents a 64 bit installation.

image

  • We leveraged the existing App Pool that the SharePoint Site was using
  • Modify the web.config to set the appropriate SharePoint Enabled Hosts, if required.  For us, we use AD Groups and had to change to reflect our “DEV” AD group
  • Rebind the Microsoft.SharePoint.dll to point to version 14.

image

  • We removed the Document Tag so that we could browse the WSDL properly.  See this post for more info.

 image

  • We then exported two keys from the Registry on our MOSS 2007 Server and import them on your SharePoint 2010 Server:
    • [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\BizTalk Server]
    • [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\BizTalk Server]
  • At this point we thought we were done and attempted to push a message from BizTalk 2009 to SharePoint 2010 but discovered the following message in event viewer:

 

Event Type:    Warning
Event Source:    BizTalk Server 2009
Event Category:    (1)
Event ID:    5743
Date:        9/10/2010
Time:        1:37:51 PM
User:        N/A
Computer:    SERVER

Description:
The adapter failed to transmit message going to send port "SendPort1" with URL "wss://SERVER:80/DropOffLibrary". It will be retransmitted after the retry interval specified for this Send Port. Details:"System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.BizTalk.KwTpm.OfficeImporters2, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
File name: 'Microsoft.BizTalk.KwTpm.OfficeImporters2, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
   at Microsoft.BizTalk.KwTpm.WssAdapter.BTSharePointAdapterWS..ctor()

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

   --- End of inner exception stack trace ---

This error was triggered by the Windows SharePoint Services receive location or send port with URI wss://SERVER:80/DropOffLibrary.

Windows SharePoint Services adapter event ID: 12462".

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

 

Once again it was back to the MOSS 2007 server and more specifically, a trip to the GAC where we discovered the following BizTalk Dlls.  This list included the Microsoft.BizTalk.KwTpm.OfficeImporters2.dll that was mentioned in the event viewer.  We then pulled these dlls off of the installation CD and gac’d them on the SharePoint 2010 server using gacutil.

image

After Gac’ing these assemblies we had success pushing messages from BizTalk 2009 to SharePoint 2010.

 

Note: There is another option which I have not tried that Kirk Hofer discusses here.  It involves installing WSS v3.0 SP2, but not configuring it, so that the BizTalk install Wizard thinks it is installed.  Our SharePoint team was not crazy about having these other dlls on their fresh SharePoint 2010 server so we were unable to proceed with this approach.

Friday, August 27, 2010

Managing your BizTalk Environment using SCOM

I recently had the opportunity to speak at the Swedish BizTalk user group in Stockholm. It was an excellent opportunity to present to one of the top BizTalk user groups worldwide. My presentation consisted of slide ware, a tour of the SCOM 2007 R2 console and several BizTalk/SCOM demos using BizTalk 2010 beta and the BizTalk 2010 Management Pack beta. You may find the presentation below.

Tuesday, June 22, 2010

BizTalk integration with SharePoint and the Cloud Presentation

I recently had the opportunity to speak at the Calgary .Net User Group. My presentation included slideware and demonstrations involving integrating BizTalk with SharePoint 2010 and the AppFabric Service bus. You can view the presentation below:

Saturday, June 19, 2010

BizTalk 2010 Beta – Where are the AppFabric Service Bus bindings?

After installing the Windows Azure platform AppFabric SDK V1.0 - April Update I was expecting all of the AppFabric Service Bus relay bindings to be available inside of the BizTalk Admin Console but they were not.  I could run the AppFabric Echo .Net Sample without any issues.  After re-installing both the AppFabric SDK and BizTalk 2010 Beta I was still unable to find these bindings in the Admin console.  I checked the machine.config files (both 32 bit and 64bit) and both files were updated.  The problem with this is that I checked the .Net 2.0 config files.

After stumbling across Wade Wegner’s blog, the picture became much clearer.  Wade explains “I soon realized that the issue was the machine.config file.  When you install the Azure AppFabric SDK the relevant WCF extensions are added to the .NET Framework 2.0 machine.config file, which is shared by .NET Framework 3.0 and 3.5.  However, .NET Framework 4.0 has its own machine.config file, and the SDK will not update the WCF extensions.”

To resolve the issue you need to run a utility called: RelayConfigurationInstaller.exe which can be found in C:\Program Files (x86)\Windows Azure platform AppFabric SDK\V1.0\Assemblies (64 bit machine) or C:\Program Files\Windows Azure platform AppFabric SDK\V1.0\Assemblies (32 bit machine) and provide an input file that includes

<?xml version ="1.0"?>
<configuration>
<startup>
<requiredRuntime safemode="true"
imageVersion="v4.0.30319"
version="v4.0.30319"/>
</startup>
</configuration>

The name of this file should be called RelayConfigurationInstaller.exe.config.

example:

C:\Program Files (x86)\Windows Azure platform AppFabric SDK\V1.0\Assemblies>RelayConfigurationInstaller.exe /i

After this command was run successfully, I could now see the “Cloud Bindings” including the NetTcpRelayBinding

image

Wednesday, June 16, 2010

Presenting at Calgary .Net User Group - June 22, 2010

Topic: BizTalk integration with SharePoint and the Cloud
Speaker: Kent Weare
Date: 22-June-2010
Location: Nexen Conference Center
801-7th Ave. S.W., Calgary, AB. (Plus 15 level)
Map
Registration: 5:00 pm - 5:30 pm
Presentation: 5:30 pm

http://dotnetcalgary.com/


Abstract
Part 1 - Discover how you can leverage BizTalk to integrate with SharePoint and InfoPath

In this session, Kent will demonstrate some of the ways that you can integrate with SharePoint using the BizTalk WSS Adapter and Web Services. Kent will also discuss some real world scenarios where this technology has been used to provide value to the business.

Part 2 - Discover how you can leverage BizTalk to integrate with the AppFabric Service Bus

Learn about Microsoft's cloud based Service Bus and how you can leverage BizTalk to communicate with external applications and services. Kent will demonstrate BizTalk's ability to expose on premise services to the cloud and consume AppFabric Service Bus end points. Kent will also discuss some scenarios where it may be appropriate to leverage these integration patterns in the real world.

Friday, June 11, 2010

TechEd 2010 – Day 4

TechEd 2010 North America is done for another year.  I thought the conference went really well and people were full of enthusiasm.  A lot of Product Groups have shipped, or are shipping products this year.  There were over 11 300 in attendance for this event eager to hear about the latest bits in the pipeline .  I was at TechEd in LA last year and can tell you there wasn’t near that many people in attendance.

 

BizTalk and the Cloud

I saw a really interesting session where BizTalk was brokering a connection through the Service Bus into a SAP and a Mainframe system.  A Web app was hosted in Azure and BizTalk was listening for requests via the AppFabric Service Bus.  It was probably the riskiest demo I saw, but Chris and Elizabeth pulled it off without a hitch.  I have been thinking about these types of scenarios quite a bit since I have done a fair about of integration with SAP in the past.  SAP certainly cannot connect into the Azure Service Bus at this time nor do I expect them to be able to do that any time soon.  Mainframe systems are no different since they most likely will not have a transport mechanism capable of communicating with the Microsoft cloud.  Many businesses leverage SAP to run their core business, having BizTalk capable of connecting into the cloud provides an additional layer of abstraction and security when accessing SAP data.

 

More Cloud

There was certainly no shortage of Cloud talk at this conference.  The next session I saw was called Appfabric: Extend .Net technologies to the Cloud.  It was presented by Aaron Skonnard and Keith Brown.  You can tell these guys are very comfortable on the presenter’s stage.  It was probably best presentation that I have seen in a long time.

Some of the topics discussed include:

  • You can think of Azure AppFabric as an extension of the .Net framework
  • No Azure Workflow as a Service in this release
  • Relay bindings allow your application access into the Service Bus
  • Direct connections allow you to communicate peer to peer with other clients in order to improve performance and reduce charges
  • Eventing pub/sub can be used in multi-cast situations
  • To increase interoperability use Http Relay Bindings

View from the BizTalk Booth

  • A had a few conversations with attendees who were using other middleware products such as Oracle or IBM and wanted to know how BizTalk stacked up in terms of feature set.  None of the features that they were requesting were absent from the BizTalk stack.  They also wanted to see how easy the Microsoft tools are to use and the impression that I got is that they felt they were on par with what they were use to seeing.
  • Another attendee wanted to know whether they should be using  WF or BizTalk.  Quite frankly this scenario can still get a little blurry for me.  We talked about things like low latency, durable messaging, flat file requirements, Adapters and management of the solutions.

 

Next Year

Next year TechEd will be held in Atlanta from May 16th-19th.  There is currently an early bird special where you can save $500 for registering early.  http://northamerica.msteched.com/?fbid=qjus7wvTc2O

Thursday, June 10, 2010

TechEd 2010 – Day 3

More BizTalk

We took a closer look at the Dashboard Settings in the BizTalk Admin Console. There are 3 main categories that you can configure:

  • Group Configurations
  • Host Configurations
  • Host Instance Configurations

Probably the most compelling setting allows you to control the polling interval when connecting to the MessageBox for new messages. You even have the ability to configure these settings based upon a Messaging or Orchestration scenario at the Host level. In the demo, we saw a simple Receive and Respond scenario. The default configuration setting is to have BizTalk connect to the MessageBox every 500 ms. This message took .68 seconds to be processed end to end. The Polling interval was then changed to 10 ms and the message took .09 seconds to process. Some pretty dramatic improvements. The end result is that the BizTalk Host Instances are not waiting as long for their next polling interval so messages will be processed more frequently. These actions are not without some risk though. The more frequently you poll, the more stress you put on you SQL Server database so mileage will vary.

The portability of the Dashboard settings were also demonstrated. You now have the ability to export and import your configuration settings across environments so you are not manually tweaking on several servers. You also have the ability to script the import and export of these settings

The new BizTalk Management Pack for SCOM was demonstrated. They have rebuilt this MP from the ground up and now include 2 separate views:

  • Application
  • Deployment

The Application view focuses on artifacts that would typically be addressed by BizTalk developers. So if you have a message that failed in a pipeline or a retrying sent port then you would find them in this view. More infrastructure related items would be found in the Deployment view. So if you had a database or host instance offline, you will find these types of alerts in the Deployment view.

Unfortunately, the new SCOM pack will only work with BizTalk 2010 so if you are still on BizTalk 2009 or previous, you cannot use this MP. The good news is that the MP will ship with BizTalk 2010 so there will be no gap between those two products and their release dates.

Other bits

  • The support for SQL 2005 and Windows 2003 is gone for BizTalk 2010
  • BizTalk 2009 (and earlier) will not be certified for Windows Server 2008 R2.
  • Business Activity Monitoring (BAM) Portal will support 64 bit app pools - Not exactly true, please see comment by Rahul for further clarification
  • BizTalk Admin Console is still not a native 64bit app. You can run in WOW mode on 64 bit machine though

BizTalk Business to Business integration

I later sat in on a B2B presentation that discussed EDI and Trading Partner Management. I have not had a lot of exposure to these 2 features of BizTalk so it was interesting to get a look under the hood. The TPM management is greatly improved and is more intuitive to use as you can now group Business Units under a Parent entity.

They also discussed the BizTalk Mapper since EDI schemas tend to be large and complex. Leveraging new features like Search, Indicative Match, copy and pasting functiods, highlighting selected nodes and links goes along way.

The enhanced FTP adapter was discussed and here are some of the core features:

  • Support for Read Only Receive scenarios
  • FTPS protocol is now supported
  • Improved performance when connecting to AIX systems
  • Atomic Sends for Text files

Communications Server 14

Office Communications Server (OCS) has been rebranded to just Communications Server or “CS 14”. I am not that familiar(at a deep technical level) with OCS and related technologies but since we do use it I thought I would check out the Q and A session that deals with interoperability.

I think it is pretty safe to say that this industry is in a state of transition. You have traditional telecom companies like Cisco and Avaya who are trying to hold onto their footprint and then you have Microsoft who is very hungry in this vertical. The frustrating part is that these companies have so much at stake that they are not collaborating much (from what I can see) and that leaves customers who have a blend of this technology frustrated as it is tough to develop roadmaps with so much changing. It may be a good idea to sit on the sidelines for a year to see how this all shakes out.

View from the BizTalk Booth

More great conversations at the BizTalk booth:

  • An Infrastructure Architect wanted to know what impact BizTalk has on his environment since his organization is planning on implementing BizTalk
  • Another attendee is looking and managing the provisioning of Datacenter assets through BizTalk. He wanted BizTalk to host services that would expose functions like “deploy Windows Server”, “Deploy SQL Server”, “Deploy Application ‘x’ to Server ‘y’”. It was a very interesting discussion about how they wanted to provision systems to their private cloud.
  • More questions about using the BizTalk Mapper activity in WF
  • There genuinely seems to be interest in BizTalk. Perhaps people are just being polite, but a lot of people are talking about introducing BizTalk to their environment(s).