.NET, BizTalk, Business, InfoPath, Mobile, Personal, Photography, Politics, SharePoint, SQL Server, Technical, Windows Workflow

First WordPress Post

I finally moved off of Community Server as my blog engine and migrated to this site using WordPress.  It’s all new to me so I’m still figuring out the settings, but with the help of my hosting company (WebHost4Life.com) and Vincent (support guy), I was able to get all the content over (I think.)

I decided to move off CS for a couple reasons.  First, I was on an older version of the software and to upgrade would’ve been a pain in the ass.  Second, I initially created the site thinking it would be used to host blogs for other coworkers and friends, and post pictures.  It seemed like folks I ran into that were interested in blogging already had a blog, so it became my personal site.  As for pictures, I’m still trying to figure that solution out, but I know CS isn’t part of it.  Perhaps a newer version would’ve been useful, but see previous first point.  Lastly, although the CS setting for allowing comments was set, no one could comment on my posts.  Not what I wanted.  I realize I don’t have a lot of readers, but I’d like to have the option for communication with anyone that stops by.

Hopefully WordPress will last a while for me.  I’d, of course, like to get on a SharePoint platform some day, but that will have to wait.  If anyone has any WordPress tips, feel free to leave them in the comments (because you can do that now!)

BizTalk, SharePoint, Technical

MCS Co-Worker Finally Blogging

It took him a while, but Sameer Surve finally has a blog!  He’s been my MCS counterpart at my current client for the last year and a half (give or take), and he definitely has lots of SharePoint and BizTalk info worth sharing.  I guarantee you’ll have at least one subscriber, Sameer!

.NET, BizTalk, Business, Mobile, Personal, Photography, Politics, SharePoint, SQL Server, Technical, Windows Workflow

Test Twitter Notifier from Live Writer

BizTalk, Technical

Rename BizTalk 2006 Server (Details)

I posted about this previously, but I wanted to post the steps I used to actually rename the server.

  • Open BizTalk Server Configuration and Unconfigure all features
  • Exit the BizTalk Server Configuration
  • Open SQL Server Management Studio and connect to the server
  • Expand your server in the Object Explorer and expand the Notification Services node
  • Right click on the BAMAlerts instance and select Disable
  • Right click on the BAMAlerts instance and select Stop
  • Right click on the BAMAlerts instance, point to Tasks, and then select Unregister
  • Right click on the BAMAlerts instance, point to Tasks, and then select Delete
  • In the Object Explorer click on the Databases node
  • In the Summary tab on the right of the screen, highlight all databases (do not highlight System Databases or Database Snapshots)
  • Right click on the highlighted databases and select “Delete”
  • The Delete Objects screen will appear, as shown below. Ensure the options are selected as shown in this screenshot, and click OK
    • If you receive any errors while deleting databases, expand the Management – Activity Monitor option under your SQL server in Object Explorer and kill any processes running against the database you’re trying to delete
  • In Object Explorer, expand Security – Logins and delete all logins used by the previously deleted databases
  • Close the SQL Server Management Studio
  • Change computer name
  • Restart and log in (ignore any failed service startup messages)
  • Open SQL Server Management Studio and connect to server using new computer name assigned above
  • Open a New Query Window (click the New Query button in the toolbar)
  • Enter the following commands, replacing <old_name> and <new_name> with the old and new computer names, respectively
    sp_dropserver ‘<old_name>’
    sp_addserver ‘<new_name>’, ‘local’
  • Execute the commands by clicking the “Execute” button in the toolbar or hitting F5 on your keyboard
    • If you receive any errors during the sp_dropserver command, execute sp_helpserver and copy the value of network_name for the <old_name> server and paste it into your sp_dropserver parameter, including any spaces
  • Restart SQL Server (Right-click on your server under the Object Explorer and select “Restart”), ignoring any errors that appear
  • Open Internet Information Services (IIS) from the Start menu
    • Expand Web Sites, Default Web Site and delete the BAM application (if it’s not there, move on to the next step)
    • Expand Application Pools and delete the BAMAppPool (if it’s not there, move on to the next step)
  • Open BizTalk Server Configuration from the Start menu
  • Perform a Basic Configuration using your new computer name as the Database server name and a current local account as the username for the service credential
    • When the configuration is complete review the results to ensure all features were successfully configured. If any failed, there will be a red “X” next to the failed feature.
    • Any failed features will need to be manually configured, so ensure the option to launch the custom configuration is checked before closing the wizard
    • For each failed feature, click on the option in the left pane of the configuration screen and configure the options in the right pane. Usually, the configuration involves setting a username and password for a service.
  • Once the configuration is complete, export the configuration and save the file
  • Open BizTalk 2006 Administration Console
    • Expand BizTalk Server 2006 Administration and right-click on the BizTalk Group for <old_name> and select Remove (If the BizTalk Group shown is already using your new computer name skip this step)
    • Right-click on BizTalk Server 2006 Administration and select “Connect to Existing Group”
    • Select your new SQL Server
    • Select the database (BizTalkMgmtDb)
    • Click OK
  • Restart the machine

Turn on automatic updates and download and apply any available updates

BizTalk, Technical

Professional BizTalk Server 2006 Release

I’ve been keeping an eye on the development of the Professional BizTalk Server 2006 book as it’s being written, in as much as that’s possible, and recommending it to folks who are interested.  Most notably students in a recent BizTalk course I tought for a client.  Darren Jefford just hinted at an upcoming release date.  Keep your eyes peeled!


Rename BizTalk 2006 Server

On certain BizTalk consulting engagements we’re responsible for setting up a development environment to be handed over to the client and used by their developers. Generally, we get a virtual server image and install and configure BizTalk to run isolated.

Sometimes isolated isn’t the best way to go and we want to add the machine to the clients domain so the server can have network access. To do that, the machine will need to be renamed. Since I’ll probably be leaving my current client to their own devices, I wanted to provide a document for them stepping through how to do this.

A quick Internet search came up with one of my co-workers, Wade, and a posting he wrote a couple weeks ago on his experience with changing the computer name. Great starting point for my document! Thanks, Wade.

By the way, we really need to work on our company collaboration!!

<edit>Details posted here</edit> 


Ampersand in Binding Script

Came across something new today (imagine that!)  I was packaging up a new release that adds, among other things, a send port going to an FTP site.  The name of the target folder on the FTP site uses an ampersand (&, in case you don’t know ;-)).  Well, my deployment scripts use XML binding files to bind all the orchestrations and set up the ports, so I went into the binding file to add the new info for the send port.

Of course, when adding the ampersand in XML it needs to be escaped.  As in “&amp;”.  No problem.  The SendPort in the binding file has two elements that contain the target folder name.  Address and TransportTypeData.  The ampersand in the Address element can just be escaped as normal.  However, the ampersands in the TransportTypeData element (there are two instances in the element) cannot be escaped as normal.  If you used a binding file before you know (or you can see) that the data in the TransportTypeData element is itself escaped XML which then gets read by BizTalk to set up the properties on the send port.

My first guess was to try escaping it “twice”, such as “&amp;amp;”, with the hope that the first pass would result in “&amp;” and the second pass would result in the desired “&”.  The import wizard liked it, but when I tried going in to view the properties of the send port it came up and told me I had some invalid XML.  Back to the guessing game.

Except sometimes I don’t like guessing.  So I did it the way I should’ve in the first place.  I set up the port through the BizTalk Explorer and ran an export on the assembly binding to see how BizTalk did it.  Turns out it I was close, but needed to escape it one more time.  The right way to do it is “&amp;amp;amp;”  Perhaps that’s an XML trick not specific to BizTalk, but I never came across it before.


BizTalk Server 2006 Resources

This was sent to me by a co-worker and thought a good list to keep around.

Handy BizTalk Server 2006 Resources

Key Websites

BizTalk Product Website


BizTalk is a business process management (BPM) server that enables companies to automate and optimize business processes. This includes powerful, familiar tools to design, develop, deploy, and manage those processes.  Everything you need for easy installation is included—integrated management tools, support for Web services, and a new business activity monitoring (BAM) portal. In addition, BizTalk Server 2006 includes 23 application and technology adapters in the box for connecting to legacy systems (mainframe and mid-range) and line-of-business applications (SAP, Siebel, PeopleSoft, Oracle, and JD Edwards).

BizTalk Server TechCenter on TechNet


For IT professionals, visit Microsoft TechNet for tools and resources to help you plan, build, deploy, and support BizTalk Server.

BizTalk Server Developer Center on MSDN


For developers, visit the Microsoft Developer Network (MSDN) for technical references and how-to resources to help you develop for BizTalk Server.  Includes product downloads, samples, blog sites, top newsgroup discussions, learning resources and technical references for architects and developers of BizTalk solutions.

BizTalk Server Support Center


Lists a number of support options and services available for BizTalk Server.

Product Information, Pricing, Help, White Papers, Tutorials, Install/Upgrade Guides

BizTalk Server Product Information


Get a firsthand look at Microsoft BizTalk Server through a product overview, virtual labs and trial software, find out more about adapters and accelerators, and see analyst reports, case studies, news, and reviews.

BizTalk Server 2006 Pricing and Licensing


Details on the editions, language versions, features, pricing and licensing of BizTalk Server 2006.

BizTalk Server 2006 PDF Help Files


Microsoft BizTalk Server 2006 Documentation in PDF format.

BizTalk Server 2006 Product Documentation on MSDN


Visit the MSDN Library for BizTalk Server 2006 Help online.

BizTalk Server 2006 White Papers


White papers on BizTalk 2006 topics such as product overview, business value, adapter enhancements, application deployment, BAM, developer tool and runtime improvements, setup and migration, hub/spoke deployment, RFID, etc.

BizTalk Server 2006 Tutorials


Download the BizTalk Server 2006 tutorials for detailed information on how to implement simple scenarios and use a variety of BizTalk tools while creating compiled, testable solutions.  Released March 22, 2006

BizTalk Server 2006 Installation and Upgrade Guides


Review the BizTalk Server 2006 installation instructions for how to install BizTalk Server 2006 on Windows XP, Windows 2000 Server, or Windows Server 2003 in a single server or multi-server environment.  Released April 10, 2006

BizTalk Books Planned

Pro BizTalk 2006


by George Dunphy, Ahmed Metwally

List Price: $59.99, Amazon Price: $37.79

Paperback: 600 pages

Publisher: Apress (October 16, 2006)

ISBN: 1590596994

Book Description

Pro BizTalk 2006 is a high-end resource that is based on real feedback from BizTalk developers. Authors George Dunphy and Ahmed Metwally are well known within the BizTalk community, and here they cover topics not discussed in other books, like performance tuning, scalability, and administration. This book also features examples of specific, real-world implementations.

Download the 120-day BizTalk Server trial software and begin optimizing and automating your business processes.  Released April 3, 200

BizTalk 2006 Recipes (A Problem-Solution Approach)


by Mark Beckner, Ben Goeltz, Brandon Gross, and Brennan O’Reilly (Paperback Jul 1, 2006)

List Price: $59.99, Amazon Price: $37.79

Paperback: 700 pages

Publisher: Apress (July 1, 2006)

ISBN: 1590597117

Book Description

BizTalk 2006 Recipes: A Problem-Solution Approach is based on the experiences of many of the most prominent experts in the field. It features over 170 problem-solving recipes for BizTalk developers and administrators.  BizTalk Server 2006 builds on the heritage and core architecture of BizTalk Server 2004, leading to a powerful tool that encompasses the latest Microsoft technologies and industry standards for automating and managing business processes. BizTalk Server 2006 adds incremental value to BizTalk 2004 by improving administration, deployment, and other key areas of the product.

Professional BizTalk Server 2006


by Darren Jefford

Paperback: 700 pages

Publisher: Hungry Minds Inc,U.S. (March 22, 2007)

ISBN: 0470046422

Book Description

Description not available yet.

Product Trial Download and Tools

BizTalk Server 2006 Trial Software


Download the 120-day BizTalk Server trial software and begin optimizing and automating your business processes.  Released April 3, 2006


BizTalk Server 2006 Best Practices Analyzer


Use the BizTalk Server 2006 Best Practices Analyzer to check your deployment against a variety of best practices, including high availability, security, management, and performance.  Released June 2, 2006

BizTalk Server 2006 Orchestration Designer for Business Analysts


This Visio add-in allows business analysts to create basic orchestration flows and implement them using BizTalk Server 2006.

Online/Virtual Training

BizTalk Server Virtual Labs

http://msdn.microsoft.com/virtuallabs/biztalk/ or


Learn how to take full advantage of BizTalk Server key features through virtual labs.  It’s simple and free: no complex setup or installation is required to try BizTalk Server running in the full-featured MSDN Virtual Lab. You get a downloadable manual and a 90-minute block of time for each module. You can sign up for additional 90-minute blocks any time or take advantage of our introductory experience with the new Virtual Lab Express.

·       Express Lab: What’s new in BizTalk Server 2006
·       BizTalk 2006 New Features for Deploying and Managing a BizTalk Application
·       BizTalk 2006 New Features for Working with Flat Files
·       BizTalk 2006 Integrating Business Rules
·       BizTalk 2006 Working with Maps
·       BizTalk 2006 Working with Schemas

First Look: Microsoft BizTalk Server 2006 for IT Professionals


This online clinic provides IT professionals with an introduction to BizTalk Server 2006 and how to deploy and manage applications in a BizTalk environment. Major topics covered include installing and configuring BizTalk Server 2006 and managing a BizTalk Server environment.


First Look: Microsoft BizTalk Server 2006 for Developers


This online clinic provides developers with an introduction to the BizTalk Server 2006 development environment and BizTalk messaging and orchestration services. Major topics covered include building a messaging integration solution and building a business process integration solution.

BizTalk Friday Brown Bag Webcasts (Public and Internet Accessible)



Mar 4            BizTalk Server 2006 “Pathfinder” Technical Overview Jeff Wierer

                   <erikleasdtjupiterBrown BagsBTSBAG55_JWierer_BizTalk 2006 Pathfinder Tech Overview-internal NDA only.wmv> (internal/NDA only)

Jun 17           BAS and Sharepoint Adapter in Pathfinder (BizTalk 2006) Gary Keong & Sunghwa Jin


Jun 24           BAM in Pathfinder (BizTalk 2006) New Features Mubarak Elamin & Brad Paris


Jul 1             New Features of Pathfinder (BizTalk 2006) Messaging Engine Ruslan Yakushev


Aug 26          Windows SharePoint Services (WSS) Adapter in Pathfinder (BizTalk 2006) Greg Prickril & Adrian Hamza


Sep 9            Adapters New Features (POP3 & SMTP Drilldown) in Pathfinder (BizTalk 2006) – Erik Leaseburg & Doug Girard


Oct 14          Writing Effective BizTalk Server Adapters Kartik Paramasivam


Nov 18          Beginning-to-End Ordered Delivery (Sequential FIFO) in BizTalk 2004 and 2006 Erik Leaseburg


Dec 2            Best Practice Analyzer (BPA) BizTalk 2006: Rules Design Spec Review/Discussion Gruia Pitigoi-Aron


Mon, Dec 12   BizTalk Server 2006: Development and Adapters Joe Sharp



Jan 6           Future Directions: Beyond BizTalk Server 2006 Eddie Churchill


Feb 10          BizTalk Server 2006 Lifecycle: Deployment, Monitoring & Maintenance Nikhil George & Erik Leaseburg


Feb 24          Upgrading from BizTalk Server 2004 to 2006 Charlie Ferebee


Mar 3           BizTalk 2006 Adapter for SAP Gruia Pitigoi-Aron


Mar 17          BizTalk 2006 Adapters for DB2 and Host Files – Ricardo Mendes


Apr 7           BizTalk 2006 Adapter for Oracle DB – Puru Amradkar


Apr 28          BizTalk 2006 Adapter for Siebel – Puru Amradkar


May 5           BizTalk 2006 Adapter for WSE 3.0 Jesus Rodriguez, Rick Pelletier, Javier Mariscal (Two Connect) & Mark Fussell


May 12  WSE 2.0 SP1 Adapter for BizTalk 2006 Michael Elizarov


May 19  BizTalk Operations Rob Cameron


May 26  BizTalk 2006 Adapter for RIM BlackBerry Jennifer Zouak (Zouak Consulting)


Jun 2           BizTalk Adapter for WebSphere MQ (Client-Based) Anil Balakrishnan




Update for ThreadPool Issue

Here’s some additional information concerning my previous post on fixing some thread pool errors.  After implementing that fix, we ran a file that created over 100 concurrent instances.  Well, the MaxIOThreads and MaxWorkerThreads were both set to 100, so we got some thread pool errors again.  When I first researched that solution everything I saw said to set both of those to 100 and the internals of the server would multiply that out for multi-proc boxes.  So set at 100 for a 4 proc box you would end up with 400 threads.

I haven’t spent a lot of time confirming this, but it looks like that’s not right.  It looks like that setting is not per proc.  Maybe it is for ASP.NET which uses the machine.config and is pretty much what all the documentation on these settings is based on, but BizTalk doesn’t.  I bumped both values up to 400 (4 proc) and the thread issue went away.

As a side note, I really need to look at another facet to make sure when we get a file that causes over 400 concurrent we aren’t screwed.  Maybe some type of loop that handles 100 at a time.  I don’t know.


Deploying a BizTalk Web Service

I’ve done plenty of development projects on my own to make sure I know how to expose an orchestration through a webservice (”expose” is probably the wrong word but it’s what the industry uses.)  What I haven’t done is deployed a webservice created for an orchestration to another server, such as a test box.  Guess what I’ve been doing recently??

Deploying the BizTalk bits is standard stuff so I didn’t have any issues on that end.  I was hoping the web service deployment would be a simple copy-paste and set up the website.  Turns out there is plenty of other stuff to do along the way.  Most of it, I learned the hard way:  Fix error retest research error fix error retest…You get the idea.  I say it’s the hard way, but I enjoy it.  I get to learn a lot of things I wouldn’t had there been a simple checklist to follow (which, by the way, there isn’t (at least a complete checklist.))

The main reason for this post was to publish the checklist that worked for me.  Not so folks can blindly follow it, because depending on your architecture this may not work for you, but rather to get some information out there so that it can get folks thinking along the right lines.  I also wanted to have a trail of what I ran into and how it was solved in case I’m ever in a similar situation.

Before I run through what was done I should explain the architecture.  I was deploying the web service on the BizTalk box (Win2003), which connects to a SQL Server on another box (Win2003).  That’s it.  Simple.  That’s what I thought, too!

So without further ado, here’s what I went through to get the web service and orchestration set up so they could talk properly.  Like I said before, deploying the BizTalk piece was nothing new so I won’t go over that.

Web Service install:  Getting the service there is a simple copy-paste.  Now comes the fun part.

  1. SOAP and SQL adapters run in through the BizTalk Isolated Host.  What this means for the web service is that it needs to run under a user that has access to run this service.  To do that, set up an Application Pool in IIS and configure the identity that it runs under to be a user that is a member of the group that runs the Isolated Host.  In my case, it was a domain group.  Now configure the web application (I’m assuming this was already created) for the web service to run in this new Application Pool.

  2. Remember (or in my case, write down) the user you used for the App Pool identity

  3. In my case, I wanted to set up a separate website just for web services published for BizTalk.  So I did.  On my dev box I didn’t do that (WinXP).  So after I set up the new website on the desired port, I thought I needed to modify the receive port binding.  The virtual directory setting on the binding remains relative, meaning “/ApplicationName/WebService.asmx“.  There is no documentation on this setup and my search came up empty, so I assumed BizTalk would need something more to tell it the website was not on the default web site.  After playing around quite a bit with the virtual directory and public address values, turns out my assumption was wrong and BizTalk is smart enough to figure it out.  Good little BizTalk…sit…stay…rollover…Good Boy!!  End result:  No changes to the binding.  I still have no idea what good the Public address setting is, though.

  4. This one took me a while, mainly due to the webservice being one-way.  One of the aspects of one-way services is that if there is an error, the client doesn’t get to know about it.  Which means when I would test it, I could see in the IIS logs that there was a 500 response, but the client would never get the error.  In hindsight I could’ve updated the webservice to log the error, but I instead modified it to return something.  In the end I added an exception log for when it is one-way so future errors will be logged.  Anyway, turns out I was battling a permission issue for quite some time and didn’t even know it.  Another area where the docs are lacking is in security setup.  Turns out the user that you wrote down in step 2 above needs to be a member of the IIS_WPG group on the box.  This one was easy to find in the docs and I had done this up front.  What wasn’t covered was that the user also needs to be a member of the STS_WPG group.  Mainly so the user has access to the temp folders. 

That’s it.  I left out a lot of debugging steps and the trial and error stuff in the hopes of keeping this short.  Seems like my posts are getting longer and longer these days.