BizTalk Server 2009 Virtual Labs are now available

BizTalk Server 2009 Virtual Labs are now available

Are you looking to try out BizTalk Server 2009 but don’t have the time to setup a full BizTalk environment?  Then Microsoft’s Virtual labs might be right for you.  The most popular labs for BizTalk Server have been updated for BizTalk Server 2009 and a few new ones focused on the features of BizTalk Server 2009.  Check them out if you are interested. 

 

In related news, I’m in the process of adding BizTalk Server 2009 content to the BizTalk Server Fundamentals course in  Pluralsight On-Demand!.  If you haven’t already subscribed, you should really check it out.  I’m spending my free time these days learning about Agile Team Practices from David Starr and ASP.NET MVC from K. Scott Allen.  It’s the next best thing to having these guys in a classroom with me.  We’re continuing to expand the library too, so the subscription gets more valuable by the month – not many investments you can say that about today!

BizTalk Testing Guidance – Stub Of Dynamics AX

Following on from my previous article, one of my old colleagues has written up an article about how a project he worked on was able to simulate the behaviour of Dynamics AX by using one of the approaches I described in my article about how to simulate external systems in testing.

Check out Charlies article here: http://geekswithblogs.net/charliemott/archive/2009/05/13/stub-of-dynamics-ax-for-biztalk-development-and-bizunit-testing.aspx

Retrieving "FullName" property for a local account…

You see quite a few code samples for retrieving “FullName” (or other properties) from an Active Directory that look like this:

string directoryPath = "WinNT://somedomain/someuser";
string fullName;

DirectoryEntry directoryEntry = new DirectoryEntry(directoryPath);
if (directoryEntry.Properties["FullName"].Value != null)
{
fullName = directoryEntry.Properties["FullName"].Value.ToString();
}

One issue with this code is that when “somedomain” actually corresponds to the local
machine name (because your are trying to retrieve the “FullName” of a local account),
it can take an extremely long time to run. This is probably because the underlying
framework is off trying to find a domain controller before falling back to the local
security store.

To work around this, consider code that would look like the following when formulating
the directory path:

string[] identities = windowsIdentity.Name.Split('\\');
string directoryPath;
if (Environment.UserDomainName.ToLower() == Environment.MachineName.ToLower())
{
// special case needed for "off domain" case.
directoryPath = "WinNT://localhost/" + identities[1];
}
else
{
directoryPath = "WinNT://" + identities[0] + "/" + identities[1];
}

Using “localhost” will cause the property retrieval to be just about instantaneous,
whereas using the computer name (from a local account Windows identity) results in
up to a twelve second delay.

CEP: Microsoft reveals more at TechEd

Following on from the news about Microsoft’s CEP engine, Richard Seroter attended yesterday’s TechEd session on the new engine and has blogged verydetailed notes. See http://seroter.wordpress.com/2009/05/12/teched-2009-day-2-session-notes-cep-first-look/. I’m delighted to see that Microsoft is disclosing muchthe same level of information publicallythat they made available internally a couple of months ago.Now all we need is CTP 1.

Richard notes that the session was sparsely attended. CEP has some way to go before it is widely acknowledged or understood in the mainstream, and the potential impact of engines like this will be poorly understood at present. I intend to put together an article or two in which I’ll attempt to explain why I think we should all take note.

I responded to a comment from Tim Bass last night. Tim is a vocal critic of the CEP marketplace, and one of hiscommon themes is the belief that most/all CEP vendors currently attach the term ‘CEP’ incorrectly to what are ‘mere’ event stream processing engines. I responded by pointing out the CEDR technology, on which I believe Microsoft’sengine in based, directly tackles one of the chief characteristics of the event ‘cloud’ (a core concept in CEP) which is that events may be detected out-of-order in terms of time and causality, and that CEP engines must be able to handle this efficiently. I was interested to see that Richard recorded an emphasis on this capability of Microsoft’s new engine.

Also, one other point.I had a Twitter message yesterday from another well-known person on the CEP circuit who said that he hadn’t seen any sign of anyone using the new Microsoft engine yet. For the avoidance of confusion, Microsoft only announced the engine yesterday. There is a very early private preview of the code doing the rounds internally within Microsoft. It looks like the first public CTP will be available later this year and that launch is expected next year. So no one is yet using the engine, apart from Microsoft themselves (apparently, if I understood comments madeduring the keynote correctly,they are currently handling 500 million events a day through the engine in association with their web site).