2011-04-19

.NET Framework 4 plattform update 1

Denna uppdatering släpptes igår och innebär en hel del uppdateringar för WF4. Största nyheten är att State machine workflows är tillbaka. En annan cool nyhet är möjligheten att använda SQL Azure för persistens, dvs nu kan vi med enkelhet köra i molnet. En uppdatering som kanske inte kommer att användas lika frekvent är compensation extension som ger oss möjlighet att bygga egna workflow hosts som kan hantera kompensering.

Alltså:

  • State machine
  • SQL Azure
  • Compensation extension

Completed State Machine Workflow

Efter installationen är du tvungen att aktivt välja plattform update 1 som target framework för att få tillgång till nyheterna. Detta går även att konfigurera i efterhand, vilket är värt att notera då det är client profile som är default Ler

Mer information och nedladdning hittar du via denna länk

2010-06-07

AppFabric, nu finns skarpa versionen!!

Det får att ladda hem från denna länk, detta är alltså den skarpa releasen av det som tidigare hette Dublin och Velocity.

Releasen fungerar på Windows 7, Windows Vista, Windows Server 2008 samt R2.

Det finns en detaljerad installationsanvisning på svenska som jag verkligen tycker man skall läsa innan en skarp installation. På en utvecklardator där det bara skall testas duger oftast en vanlig next->ok installation :)

En skarp release av Dublin innebär att Windows helt plötsligt är en spännande plattform för BPM/SOA!!

2010-04-27

Windows Server AppFabric Beta 2 Refresh

Nu finns en ny version av AppFabric att ladda ned, största nyheten är att den fungerar med RTM av .NET 4 och Visual Studio 2010.

Skynda och ladda hem här

Du kan ladda hem installationsanvisningar här

bloggen som postade nyheten från början finns följande att läsa "Currently in Beta 2, Windows Server AppFabric enhances the Application Server role in Windows Server and is available as a free download"
Någon fler som undrar om även den skarpa versionen kommer att vara gratis?

2010-04-23

State Machine Activity Pack och ADO.NET Activity Pack CTP1

Detta är ett coolt tillägg till WF4 och bör göra vardagen enklare för de som saknat state machine möjligheten i WF4 (den fanns i tidigare versioner av WF). Personligen använder jag mest flowchart eftersom det för mig är hur en process ser ut men jag ser även nyttan med state machines och är glad att möjligheten är tillbaka.

ADO.NET activity paketet ger oss möjlighet att kommunicera direkt med databaser från våra processer. Jag är inte helt säker på att detta är helt rätt väg att gå i alla sammanhang men hur som helst kan det bli en snygg demo :)

Läs mer hos Ron Jacobs

Och om ni vill ladda ned och köra så finns rubbet här

2010-03-16

CacheMetadata(…), alltid vår kompis

När vi bygger våra egna kodaktiviteter (NativeActivity, CodeActivity, AsyncActivity) i WF4.0 skall vi alltid göra en override på CacheMetadata och bidra med vår kunskap om den aktivitet som vi skapat.
Dokumentationen på MSDN ger oss följande exempel

protected override void CacheMetadata(NativeActivityMetadata metadata)
{
//call base.CacheMetadata to add the Activities and Variables to this activity's metadata
base.CacheMetadata(metadata);
//add the private implementation variable: currentIndex
metadata.AddImplementationVariable(this.currentIndex);
}



vilket tyvärr är ett lysande exempel på ett dåligt sätt att implementera den metoden. För att förstå varför det är dåligt måste vi gå på djupet.


Vad gör CacheMetadata? Jo, den funktionen ger oss möjlighet att


  • Skapa avancerade valideringsregler (validering är något vi alltid skall skapa)

  • Registrera child activities

  • Deklarera variabler

  • Tala om att aktiviteten vi skapat kräver en viss extension

  • Registrera en egen extension provider



Varför duger då inte exemplet ovan? För att svara på det så måste vi kika på vad base.CacheMetadata gör.


  • Hanterar alla publika properties av typen Activity

  • Hanterar alla publika properties av typen Variable

  • Hanterar alla publika properties av typen InArgument


Allt detta gör den via reflektion vilket naturligtvis kostar oss i prestanda. För att förbättra prestanda bör vi alltså göra detta manuellt och inte anropa base.CacheMetadata. Vi måste hur som helst alltid göra en override för att hantera scenarion som inte täcks av de tre som hanteras av runtimen.

Om vi tittar på hur alla inbyggda aktiviteter gör så föregår de med gott exempel och gör en override, det är bara MSDN som visar på något annat.

Många saker i aktivitetsmodellen för WF4 är bättre och enklare än föregångaren men detta är ett exempel på när vi bör dyka ned i detaljerna för att leverera en bra lösning.

2010-03-03

AppFabric beta 2

Finns att ladda hem här och nu har vi äntligen har vi ett datum för den skarpa produkten och det är Q3 2010 som gäller.

AppFabric är alltså de förut separerade produkterna Velocity och Dublin som nu finns i ett trevligt paket. Den här releasen är feature complete vilket innebär att detta är vad vi kan förvänta oss i den skarpa produkten.

Denna version skall även fungera med VS 2100 RC vilket känns skönt eftersom jag blev lite frustrerad när jag installerade releasekandidaten och tappade möjligheten att laborera med AppFabric :/

Nytt i denna version är att andra databaser än MS SQL stöds, de har även jobbat med övervakning och spårning.

2010-01-15

VB-syntax i WF4.0

Ni som testat WF4.0 eller lyssnat på mig på någon av de föreläsningar jag hållt har antagligen uppmärksammat att det är VB-syntax som gäller när vi skall skriva uttryck i WF4.0.

För mig är detta inte en jättestor issue eftersom jag förstår argumenten bakom (exempelvis, att även de som är vana VBA skall kunna påverka affärsregeler i WF utan att behöva lära sig C#)

Hur som helst har teamet bakom WF gjort en liten undersökning där DU kan vara med och påverka.

Gör din röst hörd här