Hello! I’ve just successfully passed 70-504 exam with score of 966/1000. Although, it was tough one, luckily I’ve managed to pass it with quite a score. Nevertheless, here are my impressions from the exam…
Most covered topics were:
– Activities – mostly the tricky ones such as ParallelActivity, ReplicatorActivity, CAG (ConditionalActivityGroup) – there were questions asked how to design the workflows in combination of those activities, CodeActivity and designing dependency properties, using ActivityDesigner and DesignerThemes,
– Hosting Workflows – there were questions about how to initialize the workflow runtime (with parameters, using local services), communication with local services and workflow (interface signatures, dependency properties), starting and stopping, faulting instances,
– Custom Activities – lots of questions (ActivityExecutionContext, dependency propeties, base classes),
– Web services – surprisingly, very detailed questions about connecting, responding, error handling, and encrypting of data, WebServiceInputActivity and WebServiceOutputActivity, InvokeWebServiceActivity,
– State Machine Workflows & Event-Driven Activities – ListenActivity, EventDrivenActivities, WCA.EXE, manual controling event routing (correlation attributes), EventHandlingScopeActivity; recursive composition of states, handling of events in state machine wfs, in particular there were questions regarding StateMachineWorkflowInstance class,
– Persistence Service – a few questions about default persistence (SqlWorkflowPersistenceService), its registration, configuration; and couple of questions about custom persistence services,
Transactions, Compensation, Error Handling – when to compensate, when to transact, how to mix persistence and those options, customizing resource manager (instead of SQL Server) – IPendingWork interface and implementation of its methods; FaultHandler(s)Activities, ThrowActivity, CancellationHandlerActivity – when to choose one of another, dynamic workflow updates (all about it!),
Workflow Rules – the most intriguing part of workflow (maybe the most useful) – PolicyActivity, programming parts of the rule, serialization and markup of rules (and general), attributes, executing rulesets in code, validation, XOML,
Workflow Tracking – adding of tracking service, events, custom tracking profiles (SqlTrackingService & SqlTrackingChannel), SqlTrackingQuery and its Options, TrackingRecords, sql sprocs for tracking, track points, updating profiles, partitioning sql database,
– Some stuff I never heard of (not covered in books I’ve read)? – WorkflowQueues (WorkflowQueuingService and EnqueueItem), VotingService, Workflow Monitor Tool – maybe they are added later, because I’ve based my studying on 3.0 Workflow Foundation books.
ASP.NET as a hosting environment was not covered at all. Also, my favourite part of WF – Hosting Workflow Designer is not in there. Alas, in this case – luckily, because the infrastructure for supporting this is quite complex.
I’ve made a small script out of the materials I’ve studied, and I hope that I will publish it in some time.
Here are my scanned personal notes I’ve promised before: