Microsoft Business Integration RoadShow 2011 (Lisboa, 28/Fev)

Microsoft Business Integration RoadShow 2011 (Lisboa, 28/Fev)

Another year, another Business Integration Roadshow. This year I’ll be unable to present, as I’ll be attending Microsoft’s MVP Summit in Redmond, but my two colleagues Tiago Oliveira and Ra%u00fal Ribeiro will present a session on the integration of BizTalk Server 2010 together with Windows Azure – “BizTalk + Azure – Better Together”. You can expect a few surprises and a eye-opener demo. 🙂

More information and registration for the event can be found here.

Share this post: email it! | bookmark it! | digg it! | reddit! | kick it! | live it!

BizTalk Server 2010 Feature Pack

BizTalk Server 2010 Feature Pack

The BizTalk Server 2010 Feature Pack is an add-on to BizTalk Server 2010 that allows BizTalk functionality to be invoked from Windows Azure’s Service Bus. The feature pack specifically includes “BizTalk Server 2010 AppFabric Connect for Services”, the feature that allows you to do this.

You can read more about how it works on the BizTalk Server Team Blog. Great feature!

Share this post: email it! | bookmark it! | digg it! | reddit! | kick it! | live it!

Masterclass BizTalk and AppFabric

Tomorrow I will be giving a master class around BizTalk and AppFabric at my company. It will be a Dutch presentation on BizTalk Server 2010, AppFabric Connect and Windows Azure/Server AppFabric. With AppFabric connect one can extend reach of BizTalk orchestrations and LoB applications to the cloud. Most of information I will be sharing is similar to what can be found in:

  • TechEd Session BizTalk What’s it?, What’s New..? and What’s next..?;
  • BizTalk Server 2010 Training kit;
  • BizTalk Server 2010 AppFabric Connect For Services;
  • Windows Server AppFabric Samples;
  • AppFabric Connect;
  • BizTalk AppFabric Connect: An Introduction;
  • Working with AppFabric Connect;
  • Exposing LOB Services on the Cloud Using AppFabric Connect for Services;
  • Exposing BizTalk Applications on the Cloud using AppFabric Connect for Services.

Session is open for all professionals inside and outside our company, partners and customers. With AppFabric integration will get a new meaning as capabilities with Microsoft technology and products grow on-premises and in the cloud.

Technorati: biztalk server 2010 appfabric

Update to Stored Procedure to delete Backup BizTalk Server SQL Agent backup files

Since BizTalk 2004 there has been an issue with the Backup BizTalk Server SQL Agent job (this is the only supported way to backup the BizTalk Server Databases), the issue is that the job never deletes the backup files it creates. There is a step in the job that clears the backup history table in the database but never delete the backup files from the disk.

In BizTalk 2004 I create a new stored procedure sp_DeleteBackupHistoryAndFiles to be used instead of the Microsoft supplied sp_DeleteBackupHistory, this stored procedure will delete the backup files create by the job when they exceed the value specified in the DaysToKeep parameter of the Clear Backup History step. With the release of BizTalk 2010 there have been changes to the sp_DeleteBackupHistory stored procedures, they are adding a parameter to the stored procedure to use local time and changed to the query to prevent the deletion of the history from the last full backup set forward.

I have made the same update to my sp_DeleteBackupHistoryAndFiles stored procedure, this stored procedure can be downloaded from the download page on BizTalkBill.com and it is called BizTalk 2010 Stored Procedure to delete backups

Warning: sp_DeleteBackupHistoryAndFiles requires xp_cmdshell to be enabled on the SQL Server

Installation Instructions:

  • Download and execute the script in your BizTalk Management Database (BizTalkMgmtDb)
  • Open the Backup BizTalk Server SQL Agent Job
  • Open the Clear Backup History Step
  • Change the stored procedure being execute from sp_DeleteBackupHistory to sp_DeleteBackupHistoryAndFiles
  • Add @UseLocalTime = 1 (if you are using local time in the MarkAndBackupLog step
  • Click OK until the job is saved.

If instruction to enable xp_cmdshell are needed please see SQL Books Online – http://msdn.microsoft.com/en-us/library/ms190693(v=SQL.100).aspx

Please Note: I am in the final process of testing a SSIS Package to delete the backup files that does not require xp_cmdshell

Interesting Side-Effect of specifying BackupHour on BackupFull Step of the Backup BizTalk Server SQL Agent Job

With a hotfix that was introduced in BizTalk Server 2006 you can now specify the hour that you want the Backup BizTalk Server SQL Agent job to do the full backup of the BizTalk Server Databases, the default behaviour for this step of the job is to create the full database backups at change of day GMT time. For Melbourne, Australia this means that your full backup will happen at either 10am or 11am, depending on daylight savings time, this is typically not the time you want full database backups to happen.

After the hotfix and in subsequent releases of BizTalk Server you can now specify the hour that you want the full backups create, you can also now specify on the MarkAndBackupLog step to use local time for the log marks name that get created, so the log mark name and file date time match and additionally with BizTalk Server 2010 you can specify to use local time for the Clear Backup History step also.

The interesting side-effect that I found was that if you do not specify BackupHour on the BackupFull step and your machine, In my case a development server, was powered off for a couple of day, the first time that the Backup BizTalk Server jobs run after powering on the server a full backup is created. If you specify a BackupHour on the BackupFull step the job continues to create only transaction logs until the BackupHour is reached.

Also in BizTalk releases prior to 2010, if your server has been off for more days than you have DaysToKeep specified (default 14), it will delete the only full backup and not create another one until the BackupHour is reached, this was fixed in BizTalk 2010 with a change to the Clear Backup History step stored procedure.

Although this side-effect will typically not effect production environment that are up and running always, it may effect other environment that are not running always.

The Good, Bad and Ugly of Integrating Dynamics CRM 2011 and BizTalk Server 2010

The Good, Bad and Ugly of Integrating Dynamics CRM 2011 and BizTalk Server 2010

Microsoft Dynamics CRM 2011 is the latest version of Microsoft’s CRM platform. The SaaS version is already live and the on-site version will likely be released within a couple weeks. Unlike previous versions of Dynamics CRM, the 2011 release does NOT have a BizTalk-specific send adapter. The stated guidance is to use the existing SOAP […]

BizTalk: Suspend shape and Convoy

BizTalk: Suspend shape and Convoy

Part 1: BizTalk: Instance Subscription and Convoys: Details
This is a Part 2.

I am discussing the Suspend shape together with Convoys and going to show that using them together is undesirable.
In previous article we investigated the Instance Subscriptions and how they could create situation with dangerous zones in processing.

Let’ start with Suspend shape. [See the BizTalk Help]
“You can use the Suspend shape to make an orchestration instance stop running until an administrator explicitly intervenes, perhaps to reflect an error condition that requires attention beyond the scope of the orchestration. All of the state information for the orchestration instance is saved, and will be reinstated when the administrator resumes the orchestration instance.
When an orchestration instance is suspended, an error is raised. You can specify a message string to accompany the error to help the administrator diagnose the situation.”
On the Suspend shape the orchestration is stopped in the Suspended (Resumable) state. Next we have two choices, one is to resume and the second is to terminate the orchestration.
Is the orchestration is stopped or unenlisted? You don’t find a note about it anywhere. The fact is the Orchestration is stopped and still enlisted. It is very important.
So again, the suspended orchestration can be resumed or terminated. The moment when the operator or the operation script resumes or terminates can be far away. It is also important too.
Let’s go back to the case from previous article. Make sure you notice the convoy and the dangerous zone after the last Receive shape.
Now we have a Suspend shape inside the orchestration.
The first orchestration instance is suspended. Next messages start new orchestration instance and have been consumed by this orchestration, right? Wrong!
The orchestration is stopped on the Suspend shape but still enlisted. Now the dangerous zone, the “zombie zone” is expanded to the interval between the last receive and the moment of termination or end of the orchestration. The new orchestration instance for this convoy will not start till this moment. How fast operator finds out this suspended orchestration? Maybe hours or days. All this time orchestration is still enlisted and gathering the convoy messages. We can resume the orchestration but we cannot resume these messages together with orchestration.
Seems the name Suspended of the orchestration is misleading. The orchestration can be in the Started (and Enlisted)/Stopped (and Enlisted)/Unenlisted state. The Suspend shape switches orchestration exactly to the Stopped state. The Stop name would describe the shape clearly and unambiguously and the Stopped state would describe the orchestration.

Imagine we can change the BizTalk.
  • The Orchestration editor can search these situations and returns the compile error. In similar case the Orchestration Editor forces us to use only ordered delivery port with convoys.
  • The run-time core can force the orchestration with convoy be suspended in Unresumable state, that means the run-time unenlists the orchestration instance subscriptions.
  • The Suspend shape name should be changed.The “Suspend” name is misleading. The “Stop” name is clear and unambiguous. The same for the orchestration state, it should be “Stopped” not “Suspended (Resumable)”.

Conclusion:
  • It is not recommended using a Suspend shape together with the convoy orchestrations.