Announcing free training on the ESB Guidance (Canada only)

The concept of Service Oriented Architecture and the Enterprise Service Bus is huge topic for many organizations now days.  To address this, our patterns and practices team have recently released the Enterprise Service Bus Guidance which organizations can use to implement an practical and effective ESB solution using our .NET technologies. 


In order to accelerate your understanding of this guidance, the Canadian BizTalk team is excited to announce that we will be running a one day deep dive training course focused entirely on the ESB Guidance.  We have created this training course to radically accelerate your understanding and adoption of it. The course will be held on April 16th at the Microsoft Canada Head Office in Mississauga (Full details are on the registration page).  This is significant event as there will be no cost to attend and attendees will get some real deep hands on experience with the solution.  This is the first public offering of a course that we recently delivered internally to our MCS community which received very positive reviews.  The course includes architectural discussions on the ESB concept, deep dive views into its internals as well as proctored hands-on labs.


This course will be focused towards the deeper technical components within the ESB, so this is best suited for architects, developers and other technical roles.


The agenda for the course is a follows:


1) The ESB as an architecture concept. What is it? What should it do? Why would I need it?


2) Getting Started – Installing and configuring the ESBG


3) The Core ESBG Engine: What are the core components and how do I use them?


4) ESBG External Services: How are these different from the Core Engine?


5) The ESB Exception Management Framework and Administration Portal


6) Introduction to Microsoft’s ESB & SOA Governance Partners


7) Bits and Bites: Miscellaneous Topics


If you are interested in attending, you can access the registration page at:


http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032373531&Culture=en-CA


Hope to see you there.


Cheers and keep on BizTalking…

BTSUG – on This Wednesday! BAM + XBOX-ing

Happy Easter,

It’s user group week and this Wednesday we’re going to look at BAM (as well as playing
some xbox!)

Wow another month has gone by and there’s been some great work done in the land of
BizTalk.

There’s been a BizTalk Operations guide released and a whole swag of BizTalk whitepapers/articles
published also – keep an eye on my blog (Main
link
, and the BizTalk
Specific Info Link) for all of these and more.

If you haven’t checked out the BizTalk Adapter Pack V1.0 then it will be available
from MSDN Downloads from April 1 (no April fools joke) – US Date, April 2 for us.

So what’s coming up in March I hear you ask….

This month I’m mixing a little work with play! IT’s XBOX time!!!! (with some BAM thrown
in there)

(we didn’t actually get the XBOX ’room’, but I’ve decided we’re going to make our
own……in no other place than the boardroom! – “Mr Green, in the Boardroom
with the Candle Stick!”…..wrong game 🙂

I’m also wanting to cover BAM from setup, including WCF and WF services. But
the really cool part is that I’ll show you how to expose this in MOSS 2007 BI Dashboards
!
(right in the middle of your intranet!)

What is in store for our March 26th Session (add to Outlook)

Where:
Microsoft, North Ryde
1 Epping Road

When:
6pm – Beer + Pizza
6.30pm – Kick off
March 26th 2008

– LOAD FEST going on in the background – if you haven’t already got all the latest
.NET 3.5 goodies, then I have 30GB worth that you copy over.

TOPIC THIS MONTH: BAM End-To-End and XBOX-ing.

Presenter: Mick Badran (aka me) – MVP BizTalk and experience in Biztalk since
its inception (1999/2000).
Mick as extensive real world experience in BizTalk and integration

Session Outline

In this session we will be focusing on some BAM within the BizTalk 2006 R2 Framework.

1) How to get BAM off the ground

2) Using BAM within Windows Workflow and WCF Services.

3) Extending BAM in real time

4) Surfacing BAM information through a MOSS Business Intelligence ’Dashboard’

5) XBOX games! Games and more games.

Feel free to forward this to any of your colleagues/friends I may have missed (tell
them to register on the Sydbiz.org site
to be included)

Call for Speakers/Other People to take Tyre Kicking Sessions

If you want to help out and share a little of what you know with us, as always I welcome
all and sundry.

Just email me and we’ll organise it….or….I could just dob you in……now where
has Neal gone???

Love to see you there – and reply to this email to let me know for catering.

BizTalk – Disable Global Tracking

Happy Easter all – just come back from a great Easter getaway weekend and thought
I’d share this common question with you:

“How do I turn off Global Tracking in BizTalk?”

On an internal email a solution was mentioned:

Basically – it comes in two steps, (a) following a TechEd article, (b) performing
additional steps in WMI.

Here’s the steps:

1. TechNet
Article

2. WMI Steps –

The GlobalTrackingOption property is a property of the MSBTS_GroupSetting WMI class.

The MSBTS_GroupSetting WMI class represents a logical grouping of computers that are
running Microsoft BizTalk Server.

This property can be modified with the Windows Management Instrumentation Tester tool.
To do this, follow these steps:

——————————————
1. Click Start, click Run, type wbemtest, and then click OK.
2. In the Windows Management Instrumentation Tester, click Connect.
3. In the Namespace box, type root\MicrosoftBizTalkServer, and then click Connect.
4. Click Open Class, type MSBTS_GroupSetting in the Enter Target Class Name box, and
then click OK.
5. In the Properties list, click GlobalTrackingOption, and then click Edit Property.
6. To disable the Global Tracking option for the BizTalk Group, change the Value that
is listed from 1 (0x1) to 0 (0x0), and then click Save Property.
7. To enable the Global Tracking option for the BizTalk Group, change the Value that
is listed from 0 (0x0) to 1 (0x1), and then click Save Property.
8. Also click on Save object
9. To close the Windows Management Instrumentation Tester tool, click Close in the
Object Editor for MSBTS_GroupSetting dialog box, and then click Exit in the Windows
Management Instrumentation Tester dialog box.
10 Restart the host.

The new "WCF LOB Adapter SDK"-based SQL Adapter – Limitations

As mentioned in this post, we’re developing a new SQL Adapter, which will be available in the next release of the BizTalk Adapter Pack. The list of features which we’re supporting is mentioned in that blog post.

As for the features/items/etc which we’ve decided NOT TO SUPPORT, they are:



  • SQL Server versions prior to SQL 2005.

  • The ability to perform one or more INSERT, UPDATE and DELETE operations, on one or more tables, all within the same XML message. In our current design, within a single message, you can either perform one or more INSERT, or UPDATE, or DELETE operations, all on the same TABLE or VIEW.

  • The ability to have multiple transactional blocks within the same XML message. All the operations within a message all take place within the same transaction; and this is actually a distributed transaction which spans these operations on your SQL Server, as well as the operations performed by BizTalk on the MessageBox database.

If any of the above are absolutely critical to your scenarios, please get in touch with us.


EDIT: Regarding the first two points, please have a look at this post.

The new "WCF LOB Adapter SDK"-based SQL Adapter – Limitations

As mentioned in this post, we’re developing a new SQL Adapter, which will be available in the next release of the BizTalk Adapter Pack. The list of features which we’re supporting is mentioned in that blog post.

As for the features/items/etc which we’ve decided NOT TO SUPPORT, they are:



  • SQL Server versions prior to SQL 2005.

  • The ability to perform one or more INSERT, UPDATE and DELETE operations, on one or more tables, all within the same XML message. In our current design, within a single message, you can either perform one or more INSERT, or UPDATE, or DELETE operations, all on the same TABLE or VIEW.

  • The ability to have multiple transactional blocks within the same XML message. All the operations within a message all take place within the same transaction; and this is actually a distributed transaction which spans these operations on your SQL Server, as well as the operations performed by BizTalk on the MessageBox database.

If any of the above are absolutely critical to your scenarios, please get in touch with us.


EDIT: Regarding the first two points, please have a look at this post.

Transactional behavior in a receive location using an adapter

Quite a few customers developing custom adapters built on the WCF LOB Adapter SDK have come back to us asking for details on how to have transactional behavior while receiving messages from the LOB and submitting them to BizTalk (receive location) – for example, assume in your receive location:

  1. You read some data from the LOB
  2. You delete the data from the LOB (since you don’t want to read it again)
  3. In IInboundHandler, you construct a message containing this data
  4. You return this message via the out parameter in the TryReceive function (in other words, you are submitting this message into BizTalk).
If an error occurs after step 4, you have lost the data! (since it has already been deleted from the LOB).

If your LOB supports transactions, then you can prevent this from happening – the same transaction can be used to read + delete the data from the LOB, as well as submit the message into BizTalk, and if anything fails at any point, everything is rolled back.

More information on how you can do this – read this post by Sonu Arora at http://blogs.msdn.com/sonuarora/archive/2007/06/19/transaction-support-in-inbound-message-exchange-handler.aspx.

Transactional behavior in a receive location using an adapter

Quite a few customers developing custom adapters built on the WCF LOB Adapter SDK have come back to us asking for details on how to have transactional behavior while receiving messages from the LOB and submitting them to BizTalk (receive location) – for example, assume in your receive location:

  1. You read some data from the LOB
  2. You delete the data from the LOB (since you don’t want to read it again)
  3. In IInboundHandler, you construct a message containing this data
  4. You return this message via the out parameter in the TryReceive function (in other words, you are submitting this message into BizTalk).
If an error occurs after step 4, you have lost the data! (since it has already been deleted from the LOB).

If your LOB supports transactions, then you can prevent this from happening – the same transaction can be used to read + delete the data from the LOB, as well as submit the message into BizTalk, and if anything fails at any point, everything is rolled back.

More information on how you can do this – read this post by Sonu Arora at http://blogs.msdn.com/sonuarora/archive/2007/06/19/transaction-support-in-inbound-message-exchange-handler.aspx.

I’m Back (Sort Of)!

I'd really like to thank everyone for your kind words, notes of concern and continued readership. My health issues have still not been diagnosed (constant lower back pain, uncontrolled muscle spasms in the lower back and legs and sometimes severe muscle cramps) but my daily regimen of medication, physical therapy, exercise and prayer seem to be working and my condition has stabilized to the point where I feel I can blog once again.

My first order of business will be to answer the backlog of questions and comments that I've received over the past several months and to let you know about some of the exciting new projects I'm working on.

iPhone E-Commerce Using Commerce Server 2007, ASP.NET 3.5 & Apple's iPhone SDK!

Yes, you've read it correctly and I'd like to begin by apologizing to the Windows Mobile folks but Apple offers a much (MUCH) better user experience in Safari on iPhone than Microsoft does on Internet Explorer Mobile. Safari on iPhone is a much faster and more standards compliant browser than the current version of IE Mobile and those two factors alone make the iPhone / iPod Touch a much more compelling platform to target for a mobile e-commerce web application.

Having said that, I still feel that Commerce Server 2007 running on IIS 6 or 7 using ASP.NET 3.5 (web forms & ASP.NET AJAX or the new ASP.NET MVC) offers a much more robust development platform one which to create a data driven web app than any of the other platforms out there!

Combine Commerce Server's profiles, catalog and basket systems with the clean, standards compliant XHTML markup possible in ASP.NET 3.5, along with the CSS2.1 / CSS3 UE goodness found only in the iPhone SDK's new version of Safari on iPhone and Dashcode and you've got a potential winner!

Putting this all together should prove to be one of the most exciting projects I've ever worked on and a whole lot of fun!