Fredrik Gunne hos Avega: Windows Workflow Foundation
I veckan var det dags för ännu en föredragshållare på Avega. Jag missade tyvärr Suns Tohrbiörn Fritzon om Javas framtid och när vår egen Manuel Palacio tog upp JSF och Seam, ett nytt applikationsramverk för webbutveckling med Java. Den här gången var det konsulten Fredrik Gunne, med nästan ett decennium på Microsoft (utvecklingsgruppen för Microsoft Exchange) och Microsoft Consulting Services bakom sig, som bjöd på en presentation av Windows Workflow Foundation (förkortas WF, inte WWF).
Det är aldrig någon höjdare när en talare inleder med att förklara hur illa insatt han är i sitt ämne och att han aldrig jobbat med det, men när det gäller så pass nya teknologier som Workflow Foundation kan det möjligtvis passera. Trots de därmed dämpade förväntningarna levererades en ganska grundlig genomgång av ämnet och vi fick se en hel del intressanta demonstrationer och kodexempel. Däremot blev det av lätta insedda skäl något sämre med konkreta exempel på tillämpningar och fallstudier.
För den som missat det är alltså Workflow Foundation den motor för arbetsflöden ("workflow engine") på Windowsplattformen som levereras som en del av .NET Framework från och med version 3.0 av ramverket. "Workflow engine" för kanske tankarna till BizTalk, affärsprocesser, Enterprise Application Integration och andra dyrare, tyngre och högre abstraktionsnivåer än vi normalt stöter på i .NET-utveckling på ramverksnivån. Ett utdrag från Wikipedia ger ett mer jordnära perspektiv på begreppet workflow:
"Workflow is the operational aspect of a work procedure: how tasks are structured, who performs them, what their relative order is, how they are synchronized, how information flows to support the tasks (wordflow) and how tasks are being tracked."
Ganska många utvecklare har förmodligen skrivit procedurer som hanterar hur uppgifter är strukturerade, vilken deras relativa ordning är och hur de spåras, för att ta några av de delar som har uppenbara kopplingar till många programmeringsuppdrag. Med Workflow Foundation vill Microsoft också göra workflow engine mer "mainstream"; det ska bli en lika naturlig del i utvecklarnas verktygslåda som t.ex. ADO.NET eller .NET Remoting. Genom .NET Framework finns det alltid tillgängligt, är mycket enkelt att använda och kräver därmed inget större godkännandeprocedur från chefen eller kunden än t.ex. ett beslut att använda System.Transactions.
Det var förmodligen också det viktigaste intrycket jag tar med mig från presentationen: att Workflow Foundation kan komma till användning i långt fler situationer än jag tidigare tänkt mig. Från att ha betraktat Workflow Foundation som en relativt marginell del av ramverket, ämnad för särskilda scenarier såsom SOA-orkestreringsperspektiv och liknande, inser jag nu att det är ett verktyg också för många av de små arbetsflöden och processer som förekommer i många applikationer.
Jag får förhoppningsvis anledning att återkomma till Workflow Foundation i framtiden, men tills vidare vill jag uppmana alla som ännu inte tittat närmare på det att göra det, särskilt om man - som jag - inte förstått hur användbart det kan vara.

1 kommentar(er):
JBoss has a workflow engine that's very well integrated with Seam. The concepts are similar (or the same?) to WWF.
http://www.javaworld.com/javaworld/jw-05-2006/jw-0522-jbpm.html
BPM is unfortunately relegated to the "ghetto" section av the Java community. People have not begun to understand yet how to use this stuff
The core value of this stuff (apart from less coding, easier to understand system) is that it facilitates communication with i.e. BAs
Skicka en kommentar