2008-12-09

Dublin and BizTalk server

En inte helt ovanlig fråga just nu är vilken roll dublin kommer att spela i framtiden om vi redan idag använder BizTalk.

Har hittat extremt lite på ämnet men här finns i alla fall lite information

For anybody familiar with BizTalk Server, looking at “Dublin” might cause a slight sense of déjà vu. Supporting workflow-based logic, providing a monitoring and management infrastructure: These are things that BizTalk Server does today. What’s the future of BizTalk Server in a “Dublin” world?

The key thing to understand is that “Dublin” doesn’t directly target traditional BizTalk scenarios. For example, enterprise application integration and business-to-business connections via EDI will still use BizTalk Server. Similarly, bringing existing applications into the service-oriented world by exposing their functions and/or data through BizTalk Server will continue to make sense. While the reach of “Dublin” may grow over time, BizTalk Server remains important for connecting the Microsoft application platform to the diverse systems common in most enterprises.

If an organization needs an application container for WCF services, however, especially those implemented using WF, “Dublin” is a better choice—this is what it’s designed for. And expect BizTalk Server’s connection with “Dublin” to get stronger: Look for a future release after BizTalk Server 2009 to build on the “Dublin” infrastructure. Even though the functions of BizTalk Server and “Dublin” appear to overlap in some ways, each technology has a clear role to play.

Vad tillför Dublin för nya möjligheter mot det vi har att tillgå med WF idag?

 

Bilden ovan beskriver rätt bra vad vi får med Dublin

  • En host som kan köra våra workflows och utbyta information via WCF
  • Auto start av nya workflows
    • Dvs, när vi tar emot ett meddelande kan vi starta ett nytt ärende
    • Detta har gått även tidigare men inte lika smidigt
    • Nu kan runtimen även starta utan att ett nytt meddelande inkommit
  • Restart av aktiviteter som misslyckats med tidigare körning
    • Detta är konfigurerbart och ställer lite nya krav på hur vi bygger våra workflows.
  • Persistence & Tracking
    • Detta har vi haft förut också men inte lika kraftfullt och inte med samma verktygslåda

2008-11-04

Workflows i molnet

Microsoft .NET Workflow Service är en del av Azure, dvs Microsofts plattform / operativsystem i molnet.

De nya aktiviteter som erbjuds handlar i många fall om att läsa och skriva data över HTTP men det finns en aktivitet som sticker ut... CloudDelay, smaka på den =)

Mer finns att läsa här

2008-10-30

PDC - WF

Lite uppsnappat

- BPEL, microsoft siktar pa v2.0 (OASIS), vilket ar grymt. Mest handlar det om import/export men det ar ett stort steg i ratt riktning
- DependencyProperties, om du tycker dessa ar knepiga kan du slappna av. Framtidens WF ar mkt enklare!
- ActivityExecutionContext, total rewrite men samma namn. Nu ar workflowet verkligen en bookmarking application och hela modellen for Executin/Running osv ar mkt enklare
- Dublin.. mm.. dublin.. har snackar vi BPM/SOA pa riktigt
- Oslo, bygg dina BPM/SOA tjanster mha Oslo och publicera till Dublin.. smaskens!

Nu ska jag vidare till en genomgang av Cloud Computing!

2008-10-28

PDC dag 2

Idag fick vi se windows 7 och jag gillade att microsoft fokuserat på prestanda och fiffiga utökningar i användargränssnittet. Coolast är nog den nya taskbaren och multitouch.

Förutom win7 fick vi en kopia av visual studio 2010 som nuförtiden har ett gui i wpf!

Har även kört en labb med wf4.0, ska samla tankarna kring detta och skriva mer sedan.

Nu ska jag hänga med på en oslo-demo

WF 4.0 - Breaking news

Kom just tillbaka fran en session om WF 4.0 och det var massor av nyheter.

* BPEL!! Vet inte sa mkt annu men mer kommer!
* Aterkopplingar, dvs vid exempelvis en if/else sa kan vi koppla oss tillbaka till en tidigare aktivitet utan att kora en extra while
* Designern ar mer logisk och snyggare
* Aktiviteter for databaser, powershell och sa vidare
* Prestandan ar 10-100x battre
* WF 4.0 ar breaking, dvs en total rewrite men gamla aktiviteter gar att anropa
* WF 3.0 / 3.5 kommer att fortsatta som forut
* Modellen i WF 4.0 ser enklare ut, dvs mindre Context, State osv att halla reda pa
* Sharepoint och crm teamen jobbar redan med tekniken

Att WF4.0 ar en rewrite gjorde mig initialt lite trott men jag forlat ratt fort nar demon fortsatte med att skapa en aktivitet i spraket OSLO/M och sedan ur denna generera en XAML-fil som i sin tur var en komplett aktivitet.

Fortfarande inga svenska tkn och rejalt trott.. men annars roxxar PDC!

2008-10-27

PDC / KeyNote

Har precis lamnat KeyNote pa PDC och den stora nyheten ar Windows Azure som ar microsofts erbjudande kring cloud-computing.

Windows® Azure is a cloud services operating system that serves as the development, service hosting and service management environment for the Azure Services Platform. Windows Azure provides developers with on-demand compute and storage to host, scale, and manage Web applications on the Internet through Microsoft® data centers.


Vad jag tycker ar annu mer intressant ar att Workflow Foundation namndes manga ganger, bade som en byggsten men aven som en del av vad som stods av azure. Jag tror marknaden narmar sig en kritisk massa kring workflow foundation och vi kommer att fa se mer och mer framover.

Demonstrationerna handlade bla om Dynamics, Workflows, Supply Chain och ett nytt verktyg som heter BlueHoo (upptack nya vanner med liknande intressen som ar i narheten och har bluetooth). Kan ni tanka er ett program ar 2008 som automatiskt markerar tjejer som rasa och killar som bla.. progress!

Sorry for att jag saknar svenska tecken, datorn verkar lite strypt..

2008-10-21

PDC 2008 och min trevliga Xperia X1

Nu närmar sig PDC 2008 och denna helg flyger jag till Los Angeles för att ta till mig alla coola nyheter kring .NET 4.0, Oslo, Dublin, Parallellisering och så vidare.

Min kamrat på färden blir min nyinköpta Xperia, på flyget får den agera ljudboksuppläsare (kanske lite southpark också, man vet aldrig) och under själva sessionerna ska jag försöka posta blogginlägg hit =)

Nu går vi off-topic en stund och byter till skamlös reklam läget, ber om ursäkt för detta

En brist med Xperian är att den saknar ett vettigt verktyg för övervakning av aktier, som tur är har en fiffig kille (läs: jag) löst problemet och postat denna lösning på CodePlex (jag har inte släppt källkoden ännu men det kommer att ske strax när kodbasen stabiliserat sig någorlunda).

Här är en bild på EquityXpertsom du kan ladda hem här


Skriv gärna en blänkare om ni har en Xperia och har åsikter om EquityXpert, kom ihåg att den kräver .NET 3.5 och lycka till!

2008-10-10

DependencyProperties och FxCop - ett svar!

Har nu fått ett svar om mitt problem med att följa de guidelines som anges i FxCop när jag använder dependency properties i Workflow Foundation.

Hi Daniel,
Thanks for the feedback. We use FxCop internally on the WF framework, but unfortunately, we must have missed running it on our content (e.g. samples), otherwise we would have picked this up. We are hoping to address this in the next version of WF by making sure that the usage of our OM helps to promote proper .NET coding practice.
Instead of having to add suppressions everywhere in your code, the other option is to disable that particular rule from running. I realize this isn't a great solution, but I thought it may be a reasonable option for you.
Thanks again for reporting this issue.
-- Dave, WF Team

Låter som ett bra och ärligt svar och jag kan med gott samvete arbeta vidare :-)

Nu återstår bara frågan om jag skall designa, dvs med public static readonly eller utan readonly.. då varningen som jag får av fxcop utan readonly är "bara" Microsoft.Usage medan den med readonly är Microsoft.Security (DoNotDeclareReadOnlyMutableReferenceTypes).. trots detta borde readonly vara det mer korrekta sättet att deklarera en dependency property.

2008-10-06

Dublin

Det börjar komma fler och fler orter som verkar intressanta, vi har tidigare hört och läst om Oslo men nu är det Dublin som gäller.

Dublin handlar om ett gäng uppdateringar till Windows Server som i första hand berör WCF / WF. Nyckelorden är prestanda och enklare hantering

Här är två citat från sidan ovan

"greater scalability and easier manageability, while extending Internet Information Services (IIS) to provide a standard host for applications that use workflow or communications"

"The company is adding significant functionality to the new version of Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) as part of the .NET Framework 4.0 release, including new messaging and REST capabilities in WCF, new workflow models, seamless integration between WF and WCF to support stateful and conversational services, and a new visual designer"

Johan Lindfors skriver mer om ämnet på sin blogg och där nämner han en tiofaldig prestandaförbättring vilket låter lovande.

Ser verkligen fram mot att landa på PDC, det verkar vara mkt som faller mig i smaken =)

2008-10-02

DependenyProperties och FxCop

Har skapat en request på microsoft connect om att FxCop skall tillåta DependencyProperties utan att kräva manuella suppressions.

Läs mer här och rösta gärna på ärendet så det får prioritet.

En DependencyProperty deklararas enligt följande

public static DependencyProperty NameProperty = DependencyProperty.Register("Name", typeof(string), typeof(MyActivity));

Detta bryter naturligtvis mot de designregler som finns men då vi mer eller mindre är tvingade till detta pga den programmeringsmodell som finns i workflow foundation känns det trist att FxCop och StyleCop gnäller.

2008-09-30

Enterprise library och workflows

Jag har testat att kombinera Enterprise Library 4.0 med workflows och det är naturligtvis inga större konstigheter till att börja med.

Då jag själv gillar AOP och ville använda policy injection blocket i enterprise library blev jag tvungen att låta mina affärsentiteter ärva från MarshalByRefObject (vet att det går att köra med ett interface också men det hör inte hit) samt skapa/wrappa dem genom PolicyInjection blocket för att få tillbaka den transparent proxy som motsvarar mitt objekt.



[ValidationCallHandler]
public void Deposit([RangeValidator(typeof(Decimal), "0.0",
RangeBoundaryType.Exclusive, "0.0",
RangeBoundaryType.Ignore)] decimal depositAmount)
{
balance += depositAmount;
}













Mitt typiska flöde/aktivitet har ofta en eller flera affärsentiteter kopplade till sig och dessa skall naturligtvis vara serialiseringsbara för att kunna persisteras (genom exempelvis SqlWorkflowPersistenceService )



Nu uppstår problemet.. tyvärr inte med alla objekt utan bara vissa och problemet verkar bero på att serialiseringen smäller vilket i sin tur innebär att flödet är helt trasigt. Hela problemet verkar ha med den transparent proxy som skapas vilket gör att problemets fokus ligger rakt i kärnan på hur funktionen är designad.



Lärdom, använd inte Policy injection för de entiteter som skall serialiseras med ditt workflow.



Resultatet blev att Enterprise Library åkte ut och PostSharp åkte in (utan några problem hittils och inga krav på att ärva från en viss klass eller köra någon wrappning)

2008-09-17

.NET 4.0 / OSLO

Som ni säkert sätt börjar det läcka ut nyheter kring .NET 4.0 / OSLO i lagom tid inför PDC.

Ett problem som finns med dagens WF/WCF-lösningar är att den svarande parten (WCF) i princip måste få veta vilken nästa aktivitet i flödet är (vilket motverkar ett av syftena med workflows)

Citat från Matt W's blogg

The first time I did this I spent days working on it saying to myself "surely you don't have to do this... surely you don't have to tell the target service which *activity* you want it to talk to next". But you do. It makes me sad inside.

matt: Our general goal is not to introduce more misery into the world. At this point in time, doing duplex requires the explicit management of the context token. We're working to make it better, so hopefully around PDC time, you will no longer be sad inside

Här är en dragning som jag garanterat skall gå på
http://channel9.msdn.com/pdc2008/TL06

Ska bli kul att se vad mer som finns i .NET 4.0, 3.5 var smaskens men trots allt inte en major version på samma sätt som 3.0 var =)

2008-09-12

Long running processes

Att hantera krav på skalbarhet, felhantering, undantagshantering för processer som kan ta lång tid på sig kan vara en utmaning. Ett exempel kan vara en import eller export av data som kan ta allt från minuter till dagar beroende på storlek, nätverk, lagring.

Tänk en flytt av allt innehåll i exempelvis sharepoint där vi har webbar med underwebbar, listor, documentbibliotek och så vidare.

Hur löser vi denna typ av problem på ett effektivt sätt där vi kan korrigera eventuella problem utan att starta om processen från början? Helst med ett automatiskt retry-beteende om exempelvis nätet skulle få hicka.

Svaret är naturligtvis workflow foundation =)

Ofta när vi pratar om workflow foundation så handlar det om processer där människor är inblandade men som tur är så finns det andra användningsområden också.

Med hjälp av persistence kan vi spara ned vårt nuvarande state efter varje operation (ex flytt av ett dokument), vi får även på köpet ett bra verktyg för skalbarhet eftersom vi kan skala ut över flera maskiner utan att skriva någon extra kod för ändamålet (sql-persistence sköter detta åt oss)

Nästa sak på listan är naturligtvis att skapa lite egna aktiviteter, exempelvis en för att hantera en site, en för ett document library och så vidare. I site-aktiviteten lägger vi sedan en repeater som hanterar undersiter, en repeater som hanterar alla listor osv. Dvs vi skapar med väldigt lite kod ett inituitivt flöde med kod som är enkel att underhålla.

Den sista aktiviteten vi bör kika på är naturligtvis en egen retryaktivitet som klarar av att ha en childaktivitet och har ett retry-beteende. Om vi sedan genomgående stoppar våra site, documentlibraryaktiviteter etc. i vår retryaktivitet så slipper vi begåva varje enskild aktivitet med detta. Vi kryddar naturligtvis med loggning och konfigurering.

Workflow foundation är en cool kamrat för oss utvecklare / arkitekter :-)

2008-09-11

Match with the Target Type

Råkade ut för en skön grejj i VS 2008's designer för workflow, jag var mitt uppe i lite rejäl refactoring och helt plötsligt kunde jag inte binda en dependency property...

Path resolved to Referenced activity Property 'MyProperty' whose PropertyType 'MyNamespace.MyCustomType' does not match with the Target Type 'MyNamespace.MyCustomType'

Frustrationen växte och jag började fundera över allt möjligt
* Kan det bero på att jag gömt konstruktorn för typen?
* Kan det bero på enterprise library's policy injection?
* Kan det vara min factory som ställer till det?

Vad var då lösningen? Stäng ned visual studion, hämta en kaffe och starta om studion igen. Tydligen är detta ett resultat av någon caching i VS2008 (mer prestanda men tydligen en del buggar kvar..)

Då jag inte tänkte på omstarten direkt tyder det trots allt på att denna typ av problem börjar bli mer sällsynta, måste tänka positivt =)

2008-09-03

Tillbaka!!

Nu är föräldraledigheten slut för denna gång och jag har sedan i måndags börjat på ett nytt uppdrag. Att fördriva två månader med min son var ett grymt beslut och vi har byggt grunden till en underbar relation =)

Hur som helst har jag turen att arbeta med ett projekt som involverar workflow foundation. Anledningen till att jag valt den tekniken i projektet skall jag försöka förklara i ett inlägg framöver.
Detta innebär naturligtvis även att några av mina trevliga kollegor kommer att få knacka WF-kod i mängder närmaste tiden och det skall bli kul (för mig i alla fall, hoppas att de tycker det också)

I höst skall jag hålla två WF-utbildningar på addskills och jag hoppas att intresset är större än förra gången (den kursen blev tyvärr inställd)

Har precis läst M.Deurell's blogg och inser att han verkar rätt hooked på powershell (inte så konstigt då det r0xxar), det kanske är ett bra verktyg för att hålla koll på WF också.. vem vet

2008-06-27

Föräldraledighet

Nu är sommaren här och jag har planerat in två månader föräldraledighet, dvs jag kommer att vara en av alla dessa pappor som tar ut föräldradagar under OS (en del av statistiken... jojo)

Jag är tillbaka med ny kraft och nya funderingar i början av september, ha det bäst så länge

2008-06-19

.NET 3.5 SP1 vad är nytt och relevant?

Som ni säkert sett finns en beta av SP1 att ladda hem och den innehåller massor av godsaker bla Entity Framework som är GRYMT! Tyvärr finns inte så mycket att säga om nyheter för Workflow Foundation utan det enda som verkar ha hänt är att själva designern är uppsnabbad (iofs inte en dålig nyhet). Värt att notera är att WCF fått MASSOR av nya prylar och WF är trots allt mer eller mindre sambo med WCF nuförtiden så vi får glädja oss åt detta. En stor nyhet för WCF är att det nu går att skicka objekt som inte är datacontracts över linan.

Glad midsommar!

2008-05-28

BPEL, vad händer...

Jag gissar att det inte bara är jag som längtar efter att BPEL-stödet skall utvecklas vidare och lämna CTP-stadiet (release i mars förra året).

Snacket då var att stöda OASIS BPEL 2.0 standard fullt ut och det lät otroligt lovande. Det senaste jag såg på ämnet var ett svar av Matt Winkle i en tråd där han säger "With regards to BPEL, I'm not sure what the status on that is, I'll send an email around internally". Detta får i alla fall mig att hoppas på lite nyheter inom kort.

Tidigare inlägg om BPEL kan ni läsa här

2008-05-23

Mer än en workflow runtime?

I betafasen av workflow foundation fanns en begränsning om att endast en WorkflowRuntime fick finnas i en AppDomain. Detta var naturligtvis en stor begränsning och är även något som teamet bakom WF valde att plocka bort (på samma sätt som vissa klasser slutade vara sealed).

Här finns en bra artikel som beskriver ämnet mer i detalj

2008-05-22

Artikel om repeatern

Repeatern är en inte helt enkel kontroll att förstå sig på och när man använder denna är det verkligen risk för att göra knepiga saker. Här finns i alla fall en bra artikel som beskriver hur man kan göra en repeat-until snurra via xoml eller kod.

Den stora utmaningen kommer när man sedan lägger in aktiviteter som konsumerar något mer avancerat än strängar och kanske måste binda data utåt men det är en helt annan historia =)

2008-05-07

WorkflowServiceHost, att ta tillbaka kontrollen

Ibland är det bra att kunna lägga in sina egna mekanismer mitt i befintlig kod och detta är något som WCF ger oss ett underbart stöd för.

Alla som startar ett nytt WF-projekt utanför sharepoint använder förhoppningsvis WorkflowServiceHost (.NET 3.5) och där finns naturligtvis stöd för att lägga sig i hur saker fungerar.

I grunden finns ServiceHostFactoryBase och WorkflowServiceHostFactory som ger oss möjligheten att påverka hur vi skapar vår WorkflowServiceHost.

Det hela beskrivs väldigt bra i följande artikel

public class MyWorkflowServiceHostFactory : WorkflowServiceHostFactory
{
public override System.ServiceModel.ServiceHostBase CreateServiceHost(string constructorString, Uri[] baseAddresses)
{
ServiceHostBase sh = base.CreateServiceHost(constructorString, baseAddresses);
//sh is the WorkflowServiceHost
WorkflowRuntimeBehavior wrb = sh.Description.Behaviors.Find<WorkflowRuntimeBehavior>();
wrb.WorkflowRuntime.WorkflowIdled += new EventHandler<System.Workflow.Runtime.WorkflowEventArgs>(WorkflowRuntime_WorkflowIdled);
return sh;
}

2008-04-30

BizTalk 2006 eller Workflow Foundation ?

Nu finns ett bra whitepaper som kan hjälpa dig med beslutet och det går att läsa här

Summary: This article will provide guidance for choosing between Microsoft BizTalk Server 2006 and Windows Workflow Foundation in a variety of Application and Enterprise Integration workflow scenarios. (16 printed pages)

2008-04-29

BPEL4People

Det händer saker i standardiseringsprocessen, tyvärr ser jag inte många spår av microsoft i detta forum (däremot mycket IBM, Oracle och SAP). Som jag tidigare postat info om så finns det lite BPEL-stöd i WorkflowFoundation men vem det hur det kommer att utvecklas i framtiden.

För er som vill hålla er informerade om det senaste finns en bra artikel här

Här kommer en liten kort sammanfattning om bakgrunden

Web Services Business Process Execution Language, version 2.0 (WS-BPEL 2.0 or
BPEL for brevity) introduces a model for business processes based on Web services.
A BPEL process orchestrates interactions among different Web services. The
language encompasses features needed to describe complex control flows, including
error handling and compensation behavior. In practice, however many business
process scenarios require human interactions. A process definition should incorporate
people as another type of participants, because humans may also take part in
business processes and can influence the process execution.
This specification introduces a BPEL extension to address human interactions in BPEL
as a first-class citizen. It defines a new type of basic activity which uses human tasks
as an implementation, and allows specifying tasks local to a process or use tasks
defined outside of the process definition. This extension is based on the WS-
HumanTask specification.
Human tasks, or briefly tasks enable the integration of human beings in service-
oriented applications. This document provides a notation, state diagram and API for
human tasks, as well as a coordination protocol that allows interaction with human
tasks in a more service-oriented fashion and at the same time controls tasks’
autonomy. The document is called Web Services Human Task (abbreviated to WS-
HumanTask for the rest of this document). 
Human tasks are services “implemented” by people. They allow the integration of
humans in service-oriented applications. A human task has two interfaces. One
interface exposes the service offered by the task, like a translation service or an
approval service. The second interface allows people to deal with tasks, for example
to query for human tasks waiting for them, and to work on these tasks. 
A human task has people assigned to it. These assignments define who should be
allowed to play a certain role on that task. Human tasks may also specify how task
metadata should be rendered on different devices or applications making them
portable and interoperable with different types of software. Human tasks can be
defined to react on timeouts, triggering an apropriate escalation action. 
This also holds true for notifications. Notifications are a special type of human task
that allows the sending of information about noteworthy business events to people.
Notifications are always oneway, i.e., they are delivered in a fire-and-forget manner:
The sender pushes out notifications to people without waiting for these people to
acknowledge their receipt.

Workflowaktiviteter för imaging till sharepoint

Själv har jag en bakgrund från imaging världen med kunskap rörande produkter från bla FileNET och jag tycker naturligtvis detta är superspännande. För er som inte vet vad imaging innebär så kan det enkelt beskrivas som processen där man utgår från ett fysiskt papper och via diverse bildbehandling och OCR-tolkning skapar en digital kopia med spårbarhet till orginalet och ibland med möjlighet att helt ersätta orginalet.

Nu har i alla fall Pegasus imaging skapat ett gäng aktiviteter för workflow foundation som fungerar i sharepoint och ger möjligheten att skapa en komplett kedja för imagning.

The Pegasus technology enables exciting new applications. For example, a workflow can be easily created for Sharepoint that is triggered when users add faxed documents to a Sharepoint document library. The workflow could apply ScanFix’s despeckle and deskew activities, convert the images into PDF format, and forward them to users. Or, a WF application could be built that takes groups of images from a large microfiche image collection, tests them for inverted display and negates them if needed, removes unsightly borders, positions the new images on the page, and saves them out as multi-page TIFF files. These can then be viewed anywhere using a browser and Pegasus Imaging’s Prizm® Viewer.

Läs mer här

2008-04-24

Sharepoint 2007 och .NET 3.5 är ok

Tyvärr tror jag inte att detta betyder att ServiceHost är ett alternativ ännu så för oss workflow-snubbar betyder det inte så mkt mer än att vi får extension methods, linq och annat smått o gott att leka med =)

Mer finns att läsa här

2008-04-09

Spara ett workflow till XOML

Hittade en bra artikel som beskriver hur vi kan använda WorkflowMarkupSerializer för att spara ett befintligt workflow till XOML. Detta kan vara en bra väg för oss där vi kan erbjuda andra att modifiera flödet innan det används.

XOML är alltså den XAML (XML) representation som kan beskriva ett flöde i workflow foundation. (lite förenklat)

Se även andra inlägg om XAML

2008-04-04

Ny kurs i Workflow Foundation (Microsoftkurs 6462)

Den 26e maj skall jag hålla en kurs i workflow foundation på Addskills, materialet ser jättebra ut och jag hoppas att laborationerna håller samma höga nivå.

Från addskills kursbeskrivning

Windows Workflow Foundation (WF), Microsofts motor för arbetsflöden, är en del av .NET Framework från version 3.0. Under kursen lär du dig att utnyttja Windows Workflow Foundation för att skapa flexibla arbetsflödesbaserade applikationer. Läromedlet består av en bok, med teori och övningar. Kursledaren arbetar även som konsult och delar med sig av sin praktiska erfarenhet.

MÅLGRUPP
Utvecklare som skapar applikationer med arbetsflöden. Kursen är förberedande för Microsoft certifieringstest 70-504.
FÖRKUNSKAPER
Du ska ha god vana av systemutveckling med Visual Studio 2005 eller senare och Framework 2.0 eller senare. Läromedlet är skrivet på engelska.
UTBILDNINGENS LÄNGD
Kursen varar två dagar.
KURSINNEHÅLL
  • Introduktion till Windows Workflow Foundation
  • Skapa sekvensiella arbetsflöden
  • Skapa arbetsflöden för tillståndsmaskiner
  • Använda villkor och regler
  • Kommunikationen mellan arbetsflöden, processer och tjänster
  • Skapa anpassade aktiviteter
  • Skapa och hantera runtime-tjänster
  • Hantera fel, transaktioner och kompensationer
  • Praktiska tips och tricks
  • Kursdeltagarnas frågor

2008-04-03

Nytt jobb?

Från Matt W's blogg "My team is looking for people interested in building the next generation of the WF designer"

Låter inte det spännande?

Från annonsen

"Windows Workflow Foundation (WF) is the workflow engine that powers SharePoint, Speech Server, the next major release of BizTalk, and countless customer and partner solutions as part of the .NET Framework. Our team builds the tooling that allows people to rapidly model, execute and debug the execution logic of their applications in a rich, graphical programming environment. The tools we build range from flowchart and process designers, to the visualization and management of complex rule sets. If you’re passionate about enabling the rapid modeling of process, or creating a great user experience building on the power of WPF, check us out. The tools we build will ship inside the next release of Visual Studio and the .NET Framework, and support the “Oslo” effort currently ongoing in Microsoft’s Connected Systems Division."

Mer finns att läsa här

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.

2008-01-31

SPAspTaskForm är nu live and kicking!

codeplex kan ni nu kika på, ladda hem och anmäla ert intresse att deltaga i utvecklandet av SPAspTaskForm.

Project Description
This project aims at making the creation of sharepoint workflow taskforms in ASP.NET as simple as possible.

Imagine having a ASP.NET developer with limited sharepoint experience and NO workflow knowledge.

Now it's simple to create task forms, just create a UserControl and access WF-data using
string someCustomData = SPAspTaskFormContainer.Current.Field["SomeCustomData"];
And save the data back to the workflow using
SPAspTaskFormContainer.Current.Save()
The save-method will actually do a redirect and navigate the user back to wherever you decide.

Kom gärna med feedback eller anmäl er för deltagande. Saker att jobba med är mer exempelkod, paketering (eventuellt mha STSDEV) och så vidare.

Skicka gärna ett mail om ni tycker projektet är användbart, sådant uppskattas =)

2008-01-22

En workflow foundation implementation av SMTP

Hittade en grym tillämpning av WF på nätet, detta är verkligen läsning som är värd att lägga lite tid på (i alla fall för alla n3rds som hackat lite SMTP tidigare)

Läs även denna post om en annan rolig tillämpning av workflow foundation

2008-01-21

Vill du omstrukturera workflows?

Matt W har i sin blogg gjort ett litet upprop där han efterfrågar feedback kring hur vi vill uppleva nästa generations designer.

Ge bra feedback här

Grymt att microsoft-grabbarna tar feedback från oss vanliga dödliga på detta sätt =)

2008-01-17

Ett år senare, dags för cyberkalas

Idag fyller bloggen ett år och det förtjänar att firas

 

Tack till er alla som läser bloggen, WF är ett grymt ramverk vilket fler och fler börjar upptäcka, nu ska jag glida iväg och fira med en extra stor latte (vår espressomaskin på jobbet är fantastisk).

2008-01-12

BPEL4People Technical Committee

Jag har tidigare pratat om BPEL4People och WS-HumanTask och vilket utrymme dessa fyller.  Enkelt kan man beskriva dessa som en väg att koppla in människan i BPM och detta är en viktig del i framtida SOA-lösningar.

På teched fick jag möjligheten att prata med Matt Winkle och jag påtalade behovet av stöd för ovanstående specifikationer. Som det ser ut just nu kan båda bli standarder i OASIS och detta öppnar spelfältet yttligare =)

Följande citat är från John Evdemon

The BPEL4People and WS-HumanTask specs are headed to OASIS, resulting in a new BPEL4People Technical Committee (TC) - expect to see an announcement and call for participation soon. The TC will focus on defining human interactions (“human tasks”) as part of a WS-BPEL process, enabling these definitions to be exposed as web services.

Jag hoppas nu verkligen på stöd kring detta antingen från Microsoft själva eller från 3e part (gärna i en fri licensform)

2008-01-11

SPAspTaskForm - ett enkelt sätt att skapa asp.net taskforms i sharepoint

Jag pratade om detta tidigare i denna bloggpostning Ramverk för ASPX TaskForms i Sharepoint 2007 och där kan ni läsa lite bakgrund.

I denna tråd på MSDN-forums har jag postat lite information om mitt projekt som heter SPAspTaskForm (kommer att finns på codeplex som opensource). Det jag efterfrågar är några som vill betatesta och komma med feedback innan koden läggs upp. Är ni intresserade så kontakta mig via mail (även om du är intresserad av att ingå i projektet på codeplex).

Det är förresten kul att se att kommentarsfunktionen här på bloggen börjar användas, jag läser allt även om jag inte svarar =)

2008-01-07

Nytt år, nya utmaningar

Nu är det slut på julledigheten och det är dags att med ny energi ta tag i både gamla och nya utmaningar =)

Själv har jag spenderat ledigheten (tog ut de där 5 dagarna ledigt som krävdes för att få vila ut sig rejält) med att renovera lite hemma. Måste säga att det är rejält skönt att få arbeta med händerna ibland (även om hjärnan får vara med en del när nytt golv skall läggas)

Nog med trivia nu, dags att få något gjort

God fortsättning!