Showing posts with label Workflow. Show all posts
Showing posts with label Workflow. Show all posts

Thursday, April 24, 2008

Microsoft Workflow en ASP.Net

Wanneer je de workflowruntime direct vanuit asp.net wilt gebruiken dan zijn er een aantal zaken die je goed in de gaten moet houden:

  • Tenzij je de "ManualWorkflowSchedulerService" gebruikt wordt er voor iedere "PageRequest" en voor iedere "Workflow"-instantie een aparte "thread" gemaakt wat dus leidt tot een verdubbeling;
  • Maak een singleton-wrapper om de Workflow-runtime heen die je wilt gebruiken zodat je maximaal een instantie per webapplicatie kan bestaan.
  • Alle workflowinstanties blijven in het geheugen van je webserver tenzij je de "SqlWorkflowPersistenceService" gebruikt.

Succes!

P.S. Om deze "SqlWorkflowPersistenceService" te gebruiken heb je een SqlServer-database nodig met de juiste objecten. Deze kun je aanmaken met de scripts "SqlPersistenceService_Logic.sql" en "SqlPersistenceService_Schema.sql" die te vinden zijn op de locatie: "C:\windows\Microsoft.NET\Framework\v3.0\Windows Workflow Foundation\SQL\EN".

Thursday, March 13, 2008

Highlevel Microsoft Workflow mogelijkheden

Als ik slechts een onderwerp mag noemen waar ik het meest in geinteresseerd ben dan is het het ontwikkelen van "State of the art" administratieve systemen (natuurlijk gebruik makend van Microsoft Technologieen) die deels of geheel via het internet worden gedistribueerd (lees: kort-door-de-bocht SaaS).

Bij het ontwikkelen van zo'n "State of the art" systeem kan Microsoft Workflow Foundation natuurlijk niet ontbreken.

Vanuit een architectuurperspectief kan het nuttig zijn om van Microsoft Workflow Foundation het volgende te weten:
  • Je kunt je eigen activities ontwikkelen;
  • Je kunt je eigen workflowtypes ontwikkelen (dus naast de standaard 'statemachine' en 'sequential' types) want workflowtypes zijn zelf ook maar gewone 'activities';
  • Workflows kun je niet alleen definieren via 'xaml' en via de designer maar vanuit je eigen applicatie via een speciale API. Dit is in het bijzonder interessant voor een SaaS oplossing omdat klanten dan via de webbrowser op een gebruiksvriendelijke en eenvoudige manier in dezelfde omgeving eenvoudige worfklows kunnen definieren (Visual Studio is hier dan vaak geen oplossing).
  • Specifieke instanties van een worfklow kunnen ad-hoc worden aangepast terwijl ze nog 'running' zijn. Dit is bijzonder interessant zeker in een zogenaamde 'human workflow' maaromgeving. Bijvoorbeeld: "In dit specifieke geval wil ik dat de juridische afdeling hier hun goedkeuring op geeft".
  • Workflow Foundation ondersteunt transacties.
  • Workflow Foundation biedt een uitgebreide 'audittrail' waarmee precies kan worden achterhaald wat de levencyclus van een workflowinstantie is/was en waarom. En - hoe kan het ook anders - als de standaard 'audittrail' niet voldoende informatie biedt dan kun je hier je eigen uitbreidingen voor ontwikkelen.