Programming Windows Workflow Foundation van K. Scott Allen

Boekbespreking: Programming Windows Workflow Foundation van K. Scott Allen

Een van de onderdelen van het nieuwe, in november vrijgegeven, .NET 3.0 framework is Windows Workflow Foundation. Voor veel .NET ontwikkelaars is dit waarschijnlijk het moeilijkste onderdeel om mee te beginnen. Workflow producten zijn immers niet erg bekend binnen de PC wereld. Er zijn op dit moment dan ook nog niet zoveel boeken over Windows Workflow Foundation, in het kort ook wel WWF genoemd, te krijgen. Deze keer bespreek ik het boek Programming Windows Workflow Foundation van K. Scott Allen. 

De auteur

Voor diegenen die al langer met WWF bezig zijn, zal K. Scott Allen geen onbekende naam zijn. Hij schrijft al enige tijd blog-postings en artikelen over WWF en zijn website (www.OdeToCode.com) staat dan ook al langer bekend als een goede bron van informatie. Het zal de lezer dan ook niet verwonderen dat Scott van Microsoft de Most Valuable Professional Award gekregen heeft voor zijn werk in de gemeenschap.



De hoofdstukken

Het boek is in 9 hoofdstukken verdeeld. Ieder hoofdstuk behandelt een bepaald onderwerp en geeft de lezer de nodige informatie daarover. Het boek is wel als een leerboek opgezet en bij elk hoofdstuk wordt er van uitgegaan dat de stof in de eerdere hoofdstukken reeds bekend is. Dat maakt het boek misschien wat minder geschikt als een naslagwerk, al is het zeker niet zo dat het ‘waardeloos’ wordt zodra het eenmaal van voor tot achter gelezen is. Overigens worden de code voorbeelden in dit boek alleen in C# gedaan en niet in Visual Basic. Misschien jammer voor sommige mensen, maar zelf zie ik dat niet echt als een probleem, aangezien de syntaxverschillen niet zo groot zijn en alle codevoorbeelden dubbel opnemen het boek veel dikker zou maken.

H1: Hello, Workflow

Scott gaat er in dit boek van uit dat de lezer nog geen ervaring met WWF of een ander vergelijkbaar workflow product heeft. In dit eerste hoofdstuk komt dan ook de basis van WWF aan de orde en wordt uitgelegd waarom dit eigenlijk een interessant product is. Hij gaat in vogelvlucht door het product en laat de lezer even kort snuffelen aan de verschillende aspecten zonder hier verder op in te gaan. Dat laatste is voor de volgende hoofdstukken gereserveerd.

H2: Authoring Workflows

In dit hoofdstuk komen de verschillende manieren om een workflow te schrijven, zoals code of XAML, aan bod. Ook wordt er uitgelegd hoe je een zelfgeschreven activiteit in een XAML workflow kan gebruiken, iets dat nogal eens voor verwarring zorgt. Daarna wordt er ingegaan op hoe de gemaakte workflow gecompileerd kan worden en daarna uitgevoerd wordt. Hierbij komen onderwerpen als de workflow compiler en XAML activation ook aan bod.

H3: Sequential Workflows

Voor de meeste ontwikkelaars is een sequentiële workflow makkelijker te begrijpen dan een state workflow waardoor de eerste meestal eerder aan bod komt. In dit boek is dit niet anders. De basis van hoe een sequentiële workflow te maken komt aan bod. Verder gaat Scott in dit hoofdstuk voor het eerst op in wat een aantal verschillende activiteiten doen en waar die gebruikt kunnen worden. Verder komt ook aan bod hoe een workflow met andere programma onderdelen kan communiceren, iets wat voor een state workflow niet anders werkt.

H4: The Base Activity Library

In dit hoofdstuk worden de verschillende standaard workflow activiteiten beschreven. Dit hoofdstuk klinkt dan misschien wel een beetje als een naslagwerk maar is het zeker niet. De uitleg van elke standaard activiteit gaat niet erg diep. Op zich is dat niet erg want een volledige uitleg zou een zeer dik boek op zich zijn en dat zou binnen de opzet van dit boek niet bevorderlijk werken. Overigens is nagenoeg alle informatie in dit hoofdstuk al eerder op de website van Scott verschenen in een artikel met dezelfde naam.

H5: Custom Activities

In dit hoofdstuk beschrijft Scott hoe en waarom een ontwikkelaar zelf workflow activiteiten zou willen schrijven. Hierbij komen de voor workflow belangrijke concepten dependency properties en attached properties om de hoek kijken. Naast het maken van een custom activity zelf komt ook het valideren en de layout hiervan in de designer met behulp van custom validators en designers aan bod. Een ander belangrijk concept dat aan bod komt is de execution context. Helaas krijgt een zo belangrijk onderwerp als de activity execution context vrij weinig aandacht: begrijpen hoe dit werkt is van cruciaal belang voor een ontwikkelaar die zelf activiteiten wil gaan ontwikkelen en dit laatste is voor een echte applicatie al snel nodig.

H6: Workflow Hosting

In dit hoofdstuk komt het hoe, wat en waarom van workflow hosting aan de orde. Workflow is een library, niet een op zich staand product, dus de ontwikkelaar moet zelf zorgen voor de runtime omgeving. Daarbij krijgt hij te maken met onderwerpen als logging, scheduling en tracking. Indien gebruikt gemaakt wordt van langdurige workflows, en daar ga ik wel van uit want dat is waar een groot deel van de kracht ligt, zal de ontwikkelaar ook met persistentie te maken krijgen in de een of andere vorm.

H7: Event-Driven Workflows

Pas in hoofdstuk zeven komen state workflows aanbod. Aan de ene kant kan ik me wel voorstellen dat het pas later aan bod komt omdat een state machine voor nogal wat ontwikkelaars geen bekend concept is. Maar toch vind ik het jammer dat het niet direct na de sequential workflows aan bod gekomen is. Op deze manier gaan veel ontwikkelaars, tijdens hun experimenten met een sequentiële workflow aan de slag op een plek waar een state workflow beter op zijn plaats is. Overigens beschrijft Scott het principe van een state workflow duidelijk, daar is helemaal niets mis mee. Verder probeert hij antwoord te geven op de vraag wanneer een state en wanneer een sequentiële workflow te gebruiken. Overigens is dit hoofdstuk ook terug te vinden als een artikel op de website van Scott Allen.

H8: Communication in Workflows

In dit hoofdstuk gaat Scott verder in op de communicatie van zelfgeschreven activiteiten met andere programmaonderdelen. Hij laat zien hoe correlation parameters werken en hoe workflow queues gebruikt kunnen worden. Met name dit laatste is belangrijk omdat erg veel van de interne werking binnen WWF op basis van ditzelfde queue mechanisme gaat. Uiteraard komen web services hier ook aan bod als een van de manieren om met andere programma’s te communiceren. Een ding dat misschien lijkt te ontbreken is Windows Communication Foundation maar dat kunnen we Scott niet aanrekenen. Er is namelijk in WWF, onderdeel van het .NET 3.0 framework, geen standaard mogelijkheid om via Windows Communication Foundation, ook onderdeel van datzelfde .NET 3.0 framework, berichten te versturen of te ontvangen.

H9: Rules and Conditions

Als laatste is er een hoofdstuk over het werken met rules en conditions aan het boek toegevoegd. De rules engine die in WWF opgenomen is bestaat uit een aantal klassen met zeer veel mogelijkheden. Het zal dan ook niet verbazen dat er slechts aan de oppervlakte van die rules engine gekrabt wordt. Wel legt Scott de mogelijkheden hiervan goed uit.

Conclusie

Voor de ontwikkelaar die net met Windows Workflow Foundation aan de slag gaat is dit een zeer bruikbaar boek. Veel van de dingen die een ontwikkelaar moet weten worden behandeld. Het zal echter niet het enige WWF boek zijn dat een serieuze ontwikkelaar op de plank heeft staan, daarvoor ontbreken te veel details.

Commentaar van anderen:
ChristianLouboutin op 14-8-2010 om 10:08
Christian Louboutin Shoes, Christian Louboutin, Christian Louboutin Shoes, Wedding Shoes, Christian Louboutin Copyright 2010, Chemicals Chemistry via VerticalNews. Christian Louboutin Shoes, Wedding Shoes Pattinson great actorly virtue is that he wears clothes well, so it too bad he slackered-out in cargo pants here. Christian Louboutin, Christian Louboutin Shoes, Wedding Shoes, Discount Christian Louboutin, Manolo Blahnik Shoes Tyler is less revealed than telegraphed through accessories a dead brother depth, a pack-a-day habit angst, a bookstore job smart, Discount Christian Louboutin, Louboutin, Christian Louboutin Sale, Louboutin Shoes, Sale Christian Louboutin Rodita zip sandals New style Black 14 a rich, aloof, and permanently disappointed daddy Pierce Brosnan. Louboutin Sale, Herve Leger Bandage Dress, Herve Leger Dress, Herve Leger V Neck Dress, Herve Leger Bandage Dress Falling for You Love, angst, and something else is in the air in Remember Me Remember Me Herve Leger Dress, Chanel Shoes, Yves Saint Laurent Shoes, Manolo Blahnik Shoes Platform Cage Sandal 13 by Allen Coulter Summit Entertainment Opens March 12 Putatively a new romance starring Robert Pattinson, Remember Me begins like a vigilante movie Alexander Wang Shoes, Louboutin Shoes, Louboutin Sale, Louboutin, Christian Louboutin Sale, Buy Christian Louboutin A Brooklyn subway platform, a racially charged stickup girl watches her mother get shot. Christian, Christian Louboutin Discount, Christian Dior Shoes, Christian Louboutin Pumps Pattinson great actorly virtue is that he wears clothes well, so it too bad he slackered-out in cargo pants here.
Geef feedback:

CAPTCHA image
Vul de bovenstaande code hieronder in
Verzend Commentaar