Recent Orchestration Activity

Here is a simple TSQL query for the BizTalk tracking database, to summarise the orchestration instantiation head-count for a given host. Your mileage with this query may vary depending on how frequently your tracking data archive job is scheduled for (i.e. this query might not have much data to work with if the data has just been archived and purged). SELECT [Service/Name], COUNT(*) FROM dbo.dtav_ServiceFacts sf WHERE [Service/Type] = 'Orchestration' AND [ServiceInstance/Host] = 'FooHost' GROUP BY [Service/Name] ORDER BY 2 DESC

July 27, 2008 · 1 min

XLANGMessage Deserialization Issues

There have been a few scenarios where the complexity of using a standard BizTalk map, have far outweighed using some custom code. This approach, prescribed in Professional BizTalk Server 2006 as the “Manual Mapping” technique, involves code generating types (xsd.exe) from the message schema and using some simple BizTalk object model to stream-in the message, craft a response and return it back to the BizTalk runtime. C# snippet: ...

July 27, 2008 · 2 min

Pectoralis Major Tear

Firstly, I am not a doctor or qualified in a medical profession in any way, I am just documenting my personal experiences with this particular injury. Staying physically active plays a large role in my day-to-day routine. While I love to cut code and experiment with technology, it doesnt help me towards keeping a physically healthy body. To balance this, I mainly participate in solo sports (jogging and resistance training in the gym), this way I can exercise when I want, and how I want. ...

May 6, 2008 · 6 min

Orchestration Deployment Error 26

There seems to be an intermittent deployment problem with BizTalk 2006, that has been the cause of much time wasting. When attempting to deploy BizTalk artefacts either explicitly using the BizTalk Administration Console or the Visual Studio deploy functionality results in the following: Error 26 Failed to add resource(s). Change requests failed for some resources. BizTalkAssemblyResourceManager failed to complete end type change request. Failed to update binding information. Could not enlist orchestration ‘Net.Bencode.Orchestration,Orchestration, Version=1.0.0.0, Culture=neutral’. Could not enlist orchestration ‘Orchestration.TestProcess’. All orchestration ports must be bound and the host must be set. ...

April 25, 2008 · 1 min

MIME Decoder and 64bit

This week I got a great introduction to the subtle difficulties that are waiting to be encountered when running a 32-bit component in a 64-bit environment. In short, an orchestration that employed the standard (ships with BizTalk) MIME Decoder pipeline component was consistently failing with the following: The invocation of a pipeline component continued to raise the following exception. The pipeline “Net.Bencode.Pipeline.Decoder” could not be created for execution. Error Details: “Retrieving the COM class factory for component with CLSID {254B4004-2AA7-4C82-BB2E-18BA7F22DCD2} failed due to the following error: 80040154.” ...

April 22, 2008 · 2 min

WSE Adapter Woes

Every now and then I come across a solution that employs the BizTalk Web Service Enhancement (WSE) 2.0 adapter suite—a legacy technique for getting BizTalk to consume/expose web services. The WSE adapter pack includes the foundation runtime binaries and a cool schema generation wizard that neatly plugs into Visual Studio—the “Add Generated Items” option available in solution explorer will get options for doing WSE schema generation. Recently I had to maintain a legacy (2004) solution—among other activities this involved defining a number of new logical ports in an existing orchestration. After a typical BizTalk build-deploy-test cycle I soon discovered that the WSE adapter was not happy… ...

March 18, 2008 · 2 min

WMI with System.Management

Lately i’ve come across the requirement to provide diagnostic/environmental information from within BizTalk itself. Integration solutions can become unwieldy as the number of participating scheduled processes, windows services, web services, databases, COM+ components, queues and so on increases. The deployment of such scenarios often involves a number of independent installers and/or release procedures—eg. one for each vendor system and one for the integration (ie. BizTalk) solution itself. Ensuring that the correct environmental configuration files, databases, business rules etc. have been put in place, can make a sysadmins life rather tedious. Providing the ability to ascertain key environmental configuration can ease deployment headaches when things don’t seem to be working. ...

March 18, 2008 · 2 min

Debugging Pipeline Components

Of late I have been spending most of my free time (which isnt a great deal) with pipeline components. BizTalk pipelining is very intriguing and potentially a powerful tool in any BizTalk developers toolkit. Pipeline component development like most BizTalk related development, seems to involve allot of boilerplate code. Others have tried to counter this with VS.NET wizards (eg. pipeline component wizard, adapter wizard, etc). For some reason I just dont like these…they are a little heavy for my needs. ...

March 16, 2008 · 2 min

Missing Tracking Data?

BizTalk’s tracking capabilities are a wonderful diagnostic feature when in thick of core BizTalk development work, or when a curly situation raises its head in a production environment. Typically when involved with BizTalk development it is not uncommon to find yourself integrating with COTS (Commercial Off The Shelf) products. Participating systems can (and do) deviate from the agreed contracts, sometimes in ways never foreseen. Doing integration between business units and their systems is a political hotspot when things go wrong; being able to identify the cause of an integration problem quickly is crucial. BizTalk tracking can be easily switched on and off at runtime, at both the port and orchestration level. The actual information (message bodies and/or context properties) and the granularity (pre and/or post processing) of tracking can be easily controlled using the administration console. ...

March 4, 2008 · 2 min

GnuPG

This semester I have enrolled in a security unit at my local University. Before we get into the mechanics of modern security techniques (mathematical theory, ciphers, protocols, hashing, Kerberos), the first lecture kicked off with a gentle overview of PKI and the basics of using the GNU Privacy Guard, aka GnuPG or GPG for short. In short it is a complete and free implementation of the OpenPGP standard. Generate a key pair: ...

March 2, 2008 · 3 min