02 Oct 2007

BizTalk as a collection of tools OUTSIDE of integration

BizTalk Server 2006 R2 has a set of features which work great doing what BizTalk is normally used for, integration. But these features are so powerful by themselves in a non-integration environment that I can see customers buying BizTalk and never using it, just some of the features. The first I want to look at is a feature call BAM, Business Activity Monitoring. This feature initially allowed you to see inside a running BizTalk orchestration. This is helpful in so many many ways. But the real power is starting to come through in R2 as it now allows you to see in side Workflow Foundation (WF) processes, since R2 supports those.

But most of the time IT thinks BizTalk = Integration. But really with BAM it is almost an infrastructure tool as well, especially if you think the following products all have WF as a core system:

  • Microsoft CRM 4.0 (was Titan)
  • Microsoft Office SharePoint Server 2007
  • Speech Server 2008
  • Customer Care Framework 2008

Now how do you see whats going on inside all of these without your own tools or Visual Studio? BAM it! Also just think of developing a custom WF solution, now you can no spend time on a WF monitor rather just use BAM for that.

The next feature is the rules engine. The rules engine takes data from a BizTalk mapping, .NET component (so basically anything) or a database and runs it through a set of rules. The rules are versioned and items on one set of rules remain on those until they end of life. Now just thinking about how many applications I have written which have a very tightly built rules engine (i.e. business rules) which you can only really change the parameters, to extend that to add/remove rules etc... would be great. The rule designer also is in readable English, rather than C# or some weird language. This is great since it means that a business analyst or customer can manage it, not a developer. Why this is great is that you can integrate this engine into .NET in 5 lines of code or less! Image just plugging in a full rules engine in 5 min and then moving onto something else (in reality maybe not that easy but still easier than building your own).

The last feature is Enterprise Single Sign On (ESSO), where it was originally developed to store credential mappings. i.e. You are MYDOMAIN\USER1 in AD and in Siebel you are ROBMAC01 and your password is XYZ. BizTalk could then use ESSO to authenticate you into these other systems because it knows your user name/password etc.... and it's authenticated you against AD. It's also secure since your credentials are encrypted by your AD account, meaning no one can see other peoples details and there is even a nice client tool which users can use to manage password changes. This is great and maybe useful in your next application, but BizTalk internally and many other people don't use it for this. They use it for configuration setting storage per user. Since the credentials could be anything, including simple name/value pairs, instead of storing credentials you store values. Now instantly you have a accessible and secure config system with a client management tool and a great admin interface which is also scriptible. Once again all for very little development.

Update 16 October 2007: Thanks to Ryan for pointing out BAM is Business Activity Monitoring not Business Automation Monitoring.

21 Sep 2007

Customer Care Framework 2008 RTM

Read all at about it at Yves Pitsch's blog


  • Integration into WCF and WF!
  • Use of CAB
  • Better support of ESSO


15 Jun 2007

Microsoft is pushing open source

Before I begin let me clarify a few points so you are aware of the context of this post.
1) I currently work for a Microsoft Gold Partner, been contracted to Microsoft (through my employer) and spoken at TechEd.
2) Before that I worked for company which used almost solely open source software and developed software for that. I also did work with the Shuttleworth foundation at the linux days event.
So I have been on both sides of the fence, now on to the content...

Go anywhere near Slashdot and mention Microsoft and you will get atleast a few zealots who complain about it's attitude/actions to FOSS (Free and Open Source Software).

Well I am not going into the free part, since until I can live without money making everything free doesn't help and there is many people in the traditional OSS community which do make money (RedHat, Novell, many linux contributors etc...) so I guess I am not alone in this view.

But many people bring up the open source side, which makes less sense to me. Microsoft does have this shared source thingy which is some special license for special people, but that doesn't fit with true OSS where anyone can access it so I'm not including it. Microsoft has Port25 (there public front for their internal open source lab) which has some interesting information, but not really pushing OSS. There are also a few "sponsored" projects on SourceForge and the now defunct CodePlex. Neither of these push OSS as part of major projects. So while benefical aren't big enough.

So what is it that doesn't make sense to me? Simple, the .Net framework is completely open source. All of the .Net assemblies are in source code (IL) all the time and thanks to reflection can be transformed into a convient language of choice of the viewer. Since .Net is the big push from Microsoft the new core of their systems will be open source. This can be seen currently with their applications built on top of it, like Microsoft CRM which has all their assemblies in .Net and can all be opened and viewed. Microsoft CCF is even further advanced with it including some applications in .Net (like the admin console) but the bulk is available in direct source code. BTW Neither are obfuscated in anyway, so there is no attempt to close this source.

Agreed that the core big money makers (Windows, Office etc...) are still closed source, but how much of that is legacy versus how much is based on the choice of language tool (C++ Win32 vs Dot Net) and how much of that is specific plans to close off the source I can not say and no one outside the core executive at Microsoft could say, but the argument that Microsoft doesn't get it, is just wrong. They get it and probebly more than most of the zealots mentioned earlier since they have figured out to use it strategically.

14 Jun 2007

Best news since sliced bread

Ok, maybe not the absolute best news but it is a long time coming and needed. Finally there are CCF virtual labs available. This should help break the massive barrier of entry to this power house technology.
The labs available are:
Win32 automation
Web Automation
Winform automation

Thanks to Yves for breaking this news and the updated links.

22 Feb 2007


You cannot call yourself a CCF developer until you have fired up Reflector a few times to understand the internal workings of the system. So it is with great joy I can say that version 5.0 is out for reflector. All the details available on the new version are available on Scott Hanselmans blog
15 Feb 2007

The other panel

Last week I posted about the floating panels option, well there is another option for panels, that being: hiddenPanel

This setting causes the application not to show at all. Interesting ideas around this...

08 Feb 2007

CCF with floating windows

CCF comes in pretty much any design you like, thanks to having the source code for the agent desktop available. One of the properties of the applications you add is a "Display Group" property which allows you to set where you want the application to go. If you leave it blank, then it defaults to the first CCF panel it finds. If you fill it in and it matches the name of an existing panel it will go on that panel (have a look at the out of box examples for Workflow, Current Session and Session Explorer). What is not documented anywhereUpdated: It is in the developer guide is you can also put in either "floating" or "floatingtool" which will cause the window not to be in the CCF SDI interface (i.e. on the tabs or on some other area) but in it's own pop-up window. The "floatingtool" option changes the type of pop-up form to a tool form (i.e. thin header). it is possible to push the boundry on this one further by putting in your own terms, and then modifing the "AddApplication" method of UIConfiguration.cs to handle those special terms. An idea I had here is that you could do something like have the window be stay on top, align to the right of the window and have it load a reporting services report with graphs on it. Nice mini-dashboard!
05 Feb 2007

CCF Wikipedia Entry

There is an entry in Wikipedia for CCF :) It is unfortunately very light in content.

What does spur me to post about it is not the article itself, but the comments in the history:
"(cur) (last) 21:07, 25 September 2006 Jmcnamera (Talk | contribs) (This reads like an ad plus I can not find anything notable on the web about this except some vague marketing material at MS web site. I'm an MS booster but this doesn't look real.)"

The whole "it doesn't look real" is bad, and it is not the first time this has been brought up. Because so few people know of CCF and the website is tiny (compared to others like MSCRM or Dynamics GP, let alone someone like Office) it really does appear to be a vaporware or beta or some other product which does not exist yet.

Definately the CCF community needs to put more content up in public places, but Microsoft also needs to help drive this, even if it is just with a better website (which links to the forums would also help show real activity with the product).