My good friend at Scanvaegt Henrik Kristensen has talked about Windows Workflow Foundation ever since I first met him so naturally we had to invite him to give a talk on it for ANUG. We were fortunately enough that he accepted and even provided a nice cantina for the ANUG boys to use for the duration.
The March meeting opened up as usually with myself giving everybody a quick rundown on what's going on with ANUG; mainly focusing on meetings to come. We been fortunately enough to be able to stay ahead of the curb on planning meeting and I'd like it to stay that way so we're planning the next batch of meeting for April, May, June, and we've even got January 2009 booked so stay tuned :)
Future topics include ASP.NET MVC which I'll do a little song and dance about, Windows Communication Foundation which Klaus Hebsgaard has been good enough to agree doing a talk on, and finally a talk on TDD which Mark Seemann agreed to do.
The not so set in stone topics that we'd like to see presentations on include WPF to kind of come full circle on .NET 3.0, Pro Tools where we discuss the various tools and utilities that devs use in the day to day work to get the job done, Subsonic the darling of the ORM world, and a bunch of others topics. We'd like to bring in more open source tools and topics like DotNetNuke and NHibernate so don be shy, please contact me with your ideas.
The meeting marks the second showing of our new format. We noticed that we got quite a good buzz among people for the first break of the evening but not so much so with the second so we decided to break up the main presentation in two pieces to allow people more time to talk with each other and get to know each other. Like the previous time at Systematic it worked out nicely with people clustering around and discussing a number of different subjects. The new format is definitely a keeper.
Download my slides
The main event of the evening was of course Windows Workflow Foundation a tool that I myself didn't know a lot about. Mostly high level stuff but I definitely see the potential there.
Henrik made a good show case on WF, the rules engine and the workflow engine. He even brought out his LEGO Mindstorms robot the demo how you could do a workflow to actually control it. The little bugger has other ideas though as it cruised along and right over the edge of the table. In spite of the rebellious little robot ("is this how is begins?", he asked with the killer Mindstorm robot fast approaching) the point was made very clear with the showing.
Pitfalls in WF were highlighted neatly by way of the robot. For example WF has a notion of a parallel activity which at first look might persuade you to think that you get some kind of multi threading for free. Unfortunately the only we get is a kind of pseudo parallelism where the parallel activities are execute in order.
In all Henrik did a great job of highlighting why we should care about WF. Basically every LOB application today has some kind of workflow built in be it by way of statuses, custom state machines, whatever. The rules engine in particular was interesting to me as I've lacked such a thing a number of times in the past. What I've done before is basically forego the better solution for something simpler to implement because I didn't want the hassle of building a rules engine myself. No more, the next time such a need arises I'll definitely have a go at using the WF rules engine. The configurability alone is worth it.
For the workflow engine I noticed an interesting thing which is the fact that inherently it will make you thing in components. Basically a workflow is built from a number of activities which are stand alone tasks that can manipulate the data flow in some manner. Pretty much we're dealing with a components here and the model makes you go into a certain mode where you naturally try to decouple the activities from each making for much better reusability.
Workflow Foundation may not be the sexiest of the four pillars of .NET 3.0 but it does provide some real value to the developer toolbox.
Download Windows Workflow slides by Henrik Kristensen
Like the last time we were fortunate enough to be able to use the Scanvaegt offices Henrik also gave us a rundown of Scanvaegt. We both figured that the audience would have changed a bit so it was safe to to the presentation once more. Last time around he brought a great video of a machine sorting chicken (yes, I know it sounds lame, but you have to see this thing in action :)). This time he brought a different one showing a machine 3D scanning salmon and cutting it in equal sizes in seconds. This time around you can even check it out yourself as Henrik provided me with the video to share with you guys.
Interesting stuff has happened at Scanvaegt since the last time we were there. Last year they'd pretty much just been bought by a competing company by the name Marell. Since then they've worked on sorting out their product lines as a lot of overlap has been going. Among other things this means that Henrik is non associated with their Icelandic development department and he's even had the pleasure of going to Iceland a couple times. He briefly outlined some of the unique challenged in working in a very distributed environment. Interesting stuff for sure.
Download Scanvaegt International slides by Henrik Kristensen
The opinions expressed herein are my own personal opinions and do not represent
my employer's view in any way.