<Disclaimer>This is personal notes of what I retained during the session. This can be incomplete, partially right or wrong. It is just part of the notes I took and what retained my attention. Nothing prevents the user to get more information on their favorite web site.</Disclaimer>
As usual, David Chappell gave us a great presentation, as he is able to vulgarize a complex topic such as workflows and technologies that are around. He is also able to take advantage of the space that is at his disposal, making him a great presenter.
David starts by explaining that workflows, services and models are just abstractions for Workflow foundations, Dublin and Oslo.
Basically, Dublin is an extension to the Windows Server infrastructure to run and manage wCF applications and especially the ones that are using WF. It means that WCF and WF can be used independently or together.
On the other side, Oslo is focusing on the modelisation only.
But, what is WF ?
First, WF is not easy at all to use.
On the positive side, it is useful for scalable and long-running applications, such as applications that call services or that are based on user entry.
A WF must support parallel activities, meaning that a multi-thread applications should be written.
On the down side, there is no standard host process to run WF applications.
The next generation of WF aims to make the WF applications development easier.
To achieve this goal, a new designed with more activities and better runtime performance will be released. Along with that, a new workflow type, flowchart, will be available to the developer. Currently, only 2 workflow types are available : sequential, which is estimated as too simple, and the state machine which is, on this side, too complicated.
Dublin will be the default hosting process for WCF applications using WF by excellence. It will offer a persistence service to store the service state, management tools, auto start capabilities allowing to start a service without waiting a first message to start, a restart on failed service mechanism, message forwarding based on content based routing and finally, tracking features.
So, then, what is the difference between BizTalk and Dublin ?
While Dublin is focused on WCF applications containing business logic, BizTalk on its side, is focused on EAI and B2B applications, exposing applications via services. BizTalk is more for integrating applications. On the other side, Dublin will be part of the Windows Server infrastructure, making it a "free" product as opposite to BizTalk which is a paid product.
What are models ?
They are descriptive, sometimes executales, and can be linked together.
So, Oslo is a general-purpose modeling platform and is composed of a SQL Server repository to store schemas and instances, a modeling language called "M" and a modeling tool called Visual Studio "Quadrant".
This platform can be used to model the environment or a set of hardware or machine on which de application can be deployed.
M is, in turn, composed of two languages : MSchema, to describe schemas, contracts and messages that generates T-SQL statements, and MGrammar used to define textual DSLs. Olso offers also tools for creating parsers for MGrammar defined DSLs. Moreover, MSchema is itself defined by MGrammar.
On the side of VS Quadrant, this will be an application in which no code will be developed, but only models. It will be based on the same user interface model as Office 2007, using a contextual ribbon depending on the current model view.
The schema repository, as it will be stored in a SQL Server database, will be accessible by any tools able to interface with SQL Server.
Finally, WF4.0 will be available with .NET4 and Visual Studio 2010 and Dublin will be first available as a separate web download.