Monish Nagisetty's Space

Building connectivity on-premise, in the cloud and beyond

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

October 23, 2008 Posted by | Uncategorized | Leave a comment

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)

BizTalk BRE Presentation (Office 2007)

BRE Sample Code

October 7, 2008 Posted by | Uncategorized | Leave a comment

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.

September 5, 2008 Posted by | Uncategorized | Leave a comment

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

June 1, 2008 Posted by | Uncategorized | Leave a comment

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.

Now off to configure my shiny new Win2k8 VPC….

May 7, 2008 Posted by | Uncategorized | 18 Comments

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!

April 8, 2008 Posted by | BizTalk | | Leave a comment

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:

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.
IntegrationMessagesTable

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.
IntegrationMessagePartsTable

Now let’s take a look at the design time properties available within this pipeline component.
 DBMessageLoggerDesignTimeProperties                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
DBMessageLoggerDesignTimeProperties2 
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
8) Use the MessageViewer application to view the logged messages

April 6, 2008 Posted by | BizTalk | | 3 Comments

Multi-server BizTalk Configuration under a NT4 Domain

I ran into the error below when configuring BizTalk in a multi-server environment (1 SQL Server + 1 BizTalk Server).  It turns out that both servers were members of a NT4 domain.  I discovered that BizTalk does not support NT4 domains.  As stated in the installation document, only Active Directory (AD) domains are supported.

TITLE: Microsoft BizTalk Server 2006 Configuration Wizard

——————————

CORP\QABTSServerAdmins is not an valid domain group. (ConfigHelper)

 

——————————

ADDITIONAL INFORMATION:

The specified domain either does not exist or could not be contacted. (ConfigHelper)

February 18, 2008 Posted by | Uncategorized | | Leave a comment

The system cannot find the file specified. (Exception from HRESULT: 0x80070002)

Have you ever seen the error below? The error tells you that it cannot find a file but it does not mention the name of the file! In my case, I had a map with a script functoid that referenced an external assembly. It turns out that I copied this map from another project and the assembly reference was no longer valid. I should have encountered build errors but instead I had to deal with this issue at runtime.

Event Type: Error

Event Source: BizTalk Server 2006

Event Category: BizTalk Server 2006

Event ID: 5753

Date: 2/8/2008

Time: 2:24:53 PM

User: N/A

Computer: QSI-BTS06R201

Description:

A message received by adapter “FILE” on receive location “RCV.CUST.DATA.FROM.SYSTEM.A” with URI “C:\BTSMessageLogger\File Drops\In\copy*.txt” is suspended.

Error details: The system cannot find the file specified. (Exception from HRESULT: 0x80070002)

MessageId: {A916E973-85FB-42B0-83CB-84670D0DDAFF}

InstanceID: {62D1A2A0-9D45-447C-ACD0-17F273E21762}

February 9, 2008 Posted by | BizTalk | | Leave a comment

Visual Studio 2005 Freezes when building BizTalk projects

Have you ever seen VS2005 freeze when building BizTalk projects? I have and it was not a pleasant experience.  In search for a solution back in October last year, I meticulously collected info about my environment and posted it on MSDN Forums.   I just ran into this problem again today and I saw that someone responded to my post with a solution that actually works! Even though the solution is ridiculous it worked for me.  Thank you Hema!

February 8, 2008 Posted by | Uncategorized | , | 1 Comment