I’m a dog trainer this year at the Dog Food Conference II
Not really…but I am presenting at the second annual Microsoft DogFood Conference. I will be presenting on BizTalk Server 2009. I have been using BizTalk 2009 as early as April this year and even helped a client go live as part of the Technical Adoption Program. ( TAP – http://msdn.microsoft.com/en-us/isv/bb190413.aspx) I started developing on BizTalk 2004 and I can honestly say that this product has matured into a robust platform for developing enterprise integration solutions. Come check out all the new features and learn about the future roadmap of BizTalk. Ohh yeah, don’t forget to stick around for all the other wonderful topics.
Go to the website below to register and see the full agenda.
Presenting at the SOA Roadshow in Mason on 2/11/2009
I will be presenting at the upcoming SOA Roadshow in Mason, Ohio on 2/11/2009. My topic will be the BizTalk Adapter Pack.
Microsoft Dogfood Conference
The Microsoft Dogfood Conference went really well today. The topic of my presentation was SOA and ESB with BizTalk Server. You can download the presentation and the sample code below.
SOA and ESB with BizTalk Server
Dogfood BizTalk Demo Sample Code
Presenting @ Microsoft Dogfood Developers Conference – 11/20/2008
** Track 0: MS Multipurpose Room **
8:00 to 9:00 AM Register
9:00 to 9:45
- Software + Services, MS Roadmaps, PDC Announcements
Speaker: Brian Prince, MS
9:55 to 11:35
- MOSS: ECM, KnowledgeLake, Imaging Capture
Speakers: Mike Miller and Mark Oman, KnowledgeLake
Noon to 1:00 PM: Lunch
1:00 to 2:20 PM
- MOSS Development
Speaker: Leon Gersing, Telligent
2:30 to 3:30
- Virtual Earth
Speaker: Steve Millroy, MS
3:30 to 5:00 PM
-Ask the Experts
** Track 1: DeVry 501 **
8:00 to 9:00 AM Register
9:00 to 9:45
- Software + Services, MS Roadmaps, PDC Announcements
Speaker: Jeff Blankenburg, MS
9:55 to 11:35
-IE Application Compatibility, Web 2.0, Web Slices and extension
Speaker: Mike Lutton, Sogeti
Noon to 1:00 PM: Lunch
1:00 to 2:20
-SilverLight/WPF Overview
Speaker: Jeff Blankenburg, MS
2:30 to 3:30
-MVC Overview
Speaker: Steve Smith, MS MVP and Nimble Software Professionals
3:30 to 5:00
-Ask the Experts
** Track 2, DeVry 502**
8:00 to 9:00 AM Register
9:00 to 9:45
- Software + Services, MS Roadmaps, PDC Announcements
Speaker: Jim Holmes, MS MVP
9:55 to 11:35
- BizTalk: SOA and ESB
Speaker: Monish Nagisetty, Quick Solutions
Noon to 1:00 PM: Lunch
1:00 to 2:20
-Legacy Modernization: Tools for COBOL, AS/400 and Mainframe migrations to .NET
Speakers: Hewitt Wright, MS and Walter Sweat, Fujitsu
2:30 to 3:30
- Writing Secure Code
Speaker: Steve Webb, Information Control Corporation
3:30 to 5:00
-Ask the Experts:
————————————————————————————-
** Subject Matter Experts Panel **
-Carey Payette, President of the Central Ohio .NET Developer’s Group:
C#, .NET
-Alexei Govorine, Co-founder of Central OH Application Lifecycle Management Group:
Team Foundation Server, ALM
-Rick Kierner, HMB Consultant:
MOSS Development
-Jim Holmes, MS MVP:
.NET, MOSS Development
-Monish Nagisetty, Founder of Mid-Ohio Connected Systems Developers User Group:
SOA, BizTalk
-Leon Gersing, Telligent
MOSS development
-Jeff Hunsaker, Co-founder of Central OH Application Lifecycle Management Group:
Team Foundation Server, ALM
-Mario Fulan, Microsoft Consulting Services:
MOSS Governance and development
-Tom Sears, Microsoft Consulting Services:
.NET Architecture, Architectural Guidance
-Steve Smith, MS MVP:
ASP.NET, MVC, Agile Practices
-David Baliles, MS SLG Dev Tools, Solution Specialist:
MSDN and TFS
-Mike Gresley, MS SLG Developer Technology Specialist:
.NET and TFS
BizTalk Busines Rule Engine at MOCSDUG on 10/2/2008
I presented on the BizTalk Business Rule Engine at MOCSDUG last week. The crowd seemed very interested based on the questions and feedback I received. Richard Broida asked a good question regarding the ability to use Value Types in the BRE Composer when referencing .NET Classes. See the screenshot below. Only type close to the Int32 value type in the .NET Classes pane is an Int32Converter class. It appears that the .NET Classes pane is configured to return only reference types.
BizTalk BRE Presentation (Office 2003)
MOCSDUG, MOCSDUG, MOCSDUG is already here!
Yesterday I attended a COALMG meeting and really enjoyed hearing Steve Andrews talk about TFS, TeamBuild and Msbuild. Later during the Geek Dinner, Amanda Laucher tells me that very few in the community are aware that MOCSDUG exists.
Those of you that read my blog, please spread the word via tweets, blogs, smoke signals, gang signs, <insert here> that the Mid-Ohio Connected Systems Developers User Group is here and we meet on the first Thursday of even months (Feb, Apr, Jun, Aug, Oct, Dec). Our next meeting will be on Thursday, October 2nd.
MOCSDUG Meeting: Intro to ESB Guidance – 6/5/2008
If you are not at TechEd this week and you are in the Central Ohio area, check out MOCSDUG’S (Mid-Ohio Connected Systems Developers User Group) meeting this Thursday, June 5th at 6PM. Richard Broida from Bennett Adelson will be presenting on Microsoft’s ESB Guidance.
See the link below for all the details:
Introduction to ESB Guidance by Richard Broida
Windows Server 2008 – Creating Bootable ISO from CD contents
I recently downloaded Windows 2008 and I ended up with 1.76 GB worth of files you would typically see when you load the ISO or CD. See screenshot below. Unfortunately, burning a CD or ISO from the files shown below will not result in a bootable OS media.
I needed to convert this folder with files into a bootable ISO so that I can easily boot from it when installing Windows. After some searching, I found that this can easily be done with CDImage. I used the following command:
Command
D:\Downloads>CDIMAGE.EXE -m -u2 -b”d:\Downloads\X86 VL\boot\etfsboot.com” “d:\Do
wnloads\X86 VL” d:\Downloads\Windows2008_X68_VL.iso
Options
-u2 encode “UDF” file system without a mirror ISO-9660 file system
(requires a UDF capable operating system to read the files)
-m ignore maximum image size of 681,984,000 bytes
-b “El Torito” boot sector file, no spaces
(e.g. -bc:\location\cdboot.bin)
If you have specified the correct set of options, then you should see a ISO file generated in about 30 minutes.

Article Published on ASPAlliance: Using BTSTask to Create MSI Deployment Packages
I recently wrote an article for ASPAlliance on Using BTSTask to Create MSI Deployment Packages. Check it out!
DBMessageLogger – A Streaming Message Logger Pipeline component
Update (4/7/2008):
Please note that this pipeline component is not a substitute for the Message Tracking feature in BizTalk which can track messages at the port and orchestration level. Message Tracking is a built-in feature within BizTalk and has all of these advantages:
- HAT can be used to find the message
- Very easy to Configure Tracking Using the BizTalk Admin Console.
- You can setup backup and archiving for the messages.
- No custom coding required.
It is important to note however that the Message Tracking feature is a system level tracking which tracks messages at an artifact level (Orchestrations and Ports). If you need message tracking that has more context within a business process then you should consider using BAM with message body tracking. My PC below is an alternative to the BAM solution since I provide hooks for tying the tracked message to other business level tracking data.
Thanks to Michael Stephenson for his valueable feedback regarding this topic.
Original Post (4/6/2008):
If you ever had any requirements to archive or log a BizTalk message then you have probably looked into handling this within a pipeline component (PC). I had a similar requirement but I wanted to be able to log the message into a database table. There is a pretty decent example of a PC that can log messages to file on Gille’s WebLog. The sample code may be a little outdated though.
So I set out to build a PC that can log BizTalk message parts on receive or send sides and also be able to abort gracefully in the event of a failure. Since logging is a non-critical operation, I do not want a failure during this operation to disrupt the entire process. My primary goal for this PC was to read the message data in a streaming fashion and then save it to the database in chunks. This design allows the PC to be scalable when dealing with large messages.
Let’s start by looking at the database tables necessary for storing the messages.
The first table is named IntegrationMessages and it has only one column named PayloadMessageId. This table has one record for every interchange that arrives into BizTalk via receive pipelines or leaves BizTalk via send pipelines.

The second table is named IntegrationMessageParts and it is used to store the actual message parts in binary format. Note that we are storing all message parts and not just the body part of a message.

Now let’s take a look at the design time properties available within this pipeline component.
Design time properties:
Enabled: This property enables or disables the logging capability of this pipeline component. If Enabled is false, then the pipeline component simply passes on the message down the pipeline without any processing.
LogContext: This property specifies whether this pipeline component is being used in a receive pipeline or a send pipeline.
MsgReadChunkSizeInBytes: This property is used to specify the size of the buffer used to temporarily store the message contents while reading from the stream.
ReceiveContextPropName: This property is only applicable when the LogContext is set to Receive. It is used to specify the property name when writing the PayloadMessageId (from the IntegrationMessages table) to the context.
ReceiveContextPropNamespace: This property is only applicable when the LogContext is set to Receive. It is used to specify the property namespace when writing the PayloadMessageId (from the IntegrationMessages table) to the context.
SendContextPropName: This property is only applicable when the LogContext is set to Send. It is used to specify the name of the property that allows
SendContextPropNamespace: This property is only applicable when the LogContext is set to Send.
Download BTSMessageLogger Solution. It includes the pipeline component project, a sample BizTalk project that uses the component and a Windows application to view the logged messages in the DB.
Instructions
1) Extract the contents of the BTSMessageLogger.zip to C:\
2) Deploy the CustomerProcess project from within Visual Studio
3) Run the .\SQL\BTSMessageLogging_CREATE.sql on the local SQL instance to create the logger database
4) Import the bindings from the binding folder
5) Start the application
6) Drop the .\Sample Data\Customer3Rows.txt into C:\BTSMessageLogger\File Drops\In
7) Three (3) xml files should appear in C:\BTSMessageLogger\File Drops\Out
Use the MessageViewer application to view the logged messages



