2008-04-01

Varför så lite aktivitet

De senaste veckorna har det vart tyst här på bloggen, detta beror på att jag den 14e mars fick mitt första barn. Det blev en pojke som skall heta Viggo och han har naturligtvis tagit upp all min tid under de pappadagar som fanns tilldelade (tillsammans med påsk blev det en rejäl ledighet). Både mor och barn mår bra och allt har gått bra.

Nu är jag tillbaka i matchen och har i samma sväng lämnat ett stort projekt som jag arbetat med under närmare 1.5 år tillbaka. Hoppas nu att det snart dyker upp ett spännande projekt med mycket workflow foundation.

I vår skall jag hålla en kurs i WF på addskills men det kommer jag att skriva lite mera om senare i veckan.

Nog med off-topic nu, dags att kontrollera bloggar och dyligt och se om något nytt hänt

2008-03-13

Framtiden för workflow foundation

Jag skrev tidigare om möjligheten att påverka framtiden för workflow foundation där jag länkade till en undersökning som gjordes av teamet bakom produkten.

Igår fick jag en uppföljning på denna

Last Fall, you filled out the Windows Workflow Activities survey.  On behalf of the Connected Systems Division, we would like to thank you for your time and valuable feedback. The data you provided was invaluable to the product team, and has directly impacted many feature decisions.

Here is an opportunity to influence another facet of the product. This survey is related to designer rehosting. Designer rehosting  is the ability to take the workflow design surface and use it within applications other than Visual Studio.  Frequently, this will be used to provide workflow editing capabilities in environments that are more “friendly” to non-developers, or display monitoring information about running workflows.  Another important re-hosting feature is the re-hosting of the rules designers.

This survey will help us understand how developers use the designer rehosting capability in v1, or (perhaps more importantly) why they have decided to not rehost the designer.  This feedback will directly impact how we look at designer re-hosting capabilities in future products.

Spännande =)

2008-02-27

XOML eller XAML.. XML?.. vad gäller

Matt W har ett kort men intressant blogginlägg som reder ut begreppen (eller i alla fall förklarar besluten bakom)

Ny bok om workflow foundation

Snubblade över denna bok (är en eBook och alltså billig men finns tryckt också) och den verkar intressant.

Features of this Short Cut series include

  • Demonstrations on how to build practical workflow applications by solving problems that workflow developers will have to solve.
  • Plenty of code that helps demonstrate how to solve the practical problems of building an application. The first three Short Cuts emphasize and illustrate how to build the elements of an application.
  • The fourth Short Cut will pick a different application and illustrate how to build a workflow application with more emphasis on the design strategy and tactics using the problem solutions developed in the first three articles.
  • Providing this information as a Short Cut will enable information to be delivered to developers quickly, more efficiently, and cheaply than could be done in a book, but with the quality of a book rather than the superficial level of most current articles.

Vet inte hur bra boken är men den verkar vara en snabb väg upp på banan i alla fall. Om någon redan läst den eller om ni köper och läser den får ni gärna kommentera med era åsikter.

2008-02-13

ParallelActivity - Har den fel namn eller är världen galen?

Efter att ha fått frågan både i forum och på mail och nu senast direkt från en kollega tror jag det är dags att bena ut hur ParallelActivity fungerar och varför den inte alltid gör vad vi förväntar oss.

Först och främst skall vi vara medveten om att workflow foundation är designat kring en ide att vara enkeltrådat. Detta är för att förenkla för oss utvecklare vilket i grunden är en grymt bra idé. Detta begränsar oss oftast inte eftersom flera workflows kan exekvera samtidigt på flera trådar. Vi kan även med korrekt design komma förbi de eventuella begränsningar som finns.

 

Exempel 1

Här är ett enkelt flöde med två CodeActivitys i en ParallelActivity. I dessa båda code så exekveras koden enligt bild nummer två

image

image

Hur lång tid tar detta att genomföra är nu frågan. Ett rimligt antagande är naturligtvis 4 sekunder eftersom det är tiden som den längsta vilan är. Tyvärr är svaret 7 sekunder eftersom schemaläggaren som är grunden i workflow foundation först exekverar codeActivity1 och sedan codeActivity2. Detta beror helt och hållet på vår design och det faktum att vi stoppar den tråd som exekverar oss. Detta är även en av de saker som kan begränsa vår möjlighet att skala upp applikationen.

 

Exempel 2

I detta exempel skall vi använda DelayActivity istället för Thread.Sleep

image

delayActivity1 vilar i 4 sekunder och delayActivity2 vilar i 3 sekunder, hur lång tid är nu detta totalt? Svaret i det här fallet är 4 sekunder eftersom det är den längsta vilan som utförs.

 

Vad är nu den stora skillnaden på exempel ett och två? Svaret är att exempel ett är synkront och exempel två är asynkront. För att få detta att fungera med egna aktiviteter kan de vara händelsedrivna eller returnera ActivityExecutionStatus.Executing och släppa tråden vidare. En bra grundregel är att om du blockerar tråden så gör du fel.

Är något oklart så ställ gärna frågor så kan jag komplettera artikeln.

2008-02-11

WCF proxyn och ReceiveActivity tips o trix

Hittade en bra artikel om ett problem som är relativt troligt att råka ut för. Det gäller senaste .NET och vår nya servicehost.

Genomgående är detta nyttigt att kunna

When you create a proxu and do the first call this WorkflowInstanceId is automatically added and resent with the next request. So we need to retrieve this WorkflowInstanceId and, when we create the second proxy object, add it again

2008-02-08

SPAspTaskForm, ny version på codeplex

Med hjälp av bra feedback från lite olika hörn av vår värld finns det nu en ny version av SPAspTaskForm på codeplex, har även uppdaterat wiki-sidorna med mer information.