Just as Microsoft developed the Extensible Application Markup Language for creating user interface elements in the upcoming Windows Presentation Foundation, the new Extensive Object Markup Language (XOML) promises to provide a common syntax for the various types of workflows used in Windows applications programming. This should simplify some of the issues in deciding between the different workflow engines available today with SQL Server, BizTalk Server, and Exchange Server.
By submitting your email address, you agree to receive emails regarding relevant topic offers from TechTarget and its partners. You can withdraw your consent at any time. Contact TechTarget at 275 Grove Street, Newton, MA.
XOML provides the language used to implement Microsoft's Windows Workflow Foundation, or WF, which is to be released as part of Vista. At the Vista launch, Microsoft also plans to release WF support for Windows Server 2003 and Windows XP.
"We are at a point in the technology where we could have a single engine that addresses everyone's needs," said Paul Andrew, senior product manager for Windows Workflow Foundation.
The XOML language underneath is actually the same language as XAML. The only difference is the elements that are put into it. XOML uses node element names, which are similar to WPF, but in XOML they are associated with processes, rather than the buttons and interface elements found in XAML. In addition, XOML uses a different file extension, .xoml, so as not to confuse applications trying to open them up as interface elements.
WF is not a workflow product that could be used as an application for managing workflows within an organization. It is only the lowest level engine that Microsoft applications and others can use as a common framework underneath their applications.
What Windows Workflow Foundation does provide is the workflow runtime, an API set and standard mechanisms for defining workflow models. It will also include a workflow designer that runs inside Visual Studio. Andrew said WF would make it easier to create workflows, given the traditional method of taking business object specifications and manually translating that into procedural code.
Microsoft took input from 20 Microsoft product teams in order to make WF as universal as possible, Andrew said. As a result, a number of different MS products will support the framework.
- The Microsoft Office SharePoint server, a collaboration tool, will use WF for document workflow.
- Microsoft Dynamics, a series of products for business operations such as CRM, or customer relationship management, will use WF to improve the ability to provide better customer service.
- The Microsoft Speech Server 2007 will use WF to make it easier to set up menus and help direct callers to the information they are looking for.
- The Microsoft Operations Manager, a network monitoring tool, and Systems Management Server, which covers software change and configuration, will use WF to improve help desk support.
- Finally, the Microsoft Integration Server, which covers the management and integration of information, will use WF to improve the synchronization of multiple directory servers.
Programmers will be able to build low-level workflows for activities like sending and receiving messages, or high-level activities like claims processing.
"We should see productivity increase by developers that use the technology if they use the higher level of coding simply because they don't have to do that other step," Andrew said.
"There might be a day in our future where there is very little procedural code," he added. "I remember when we used GDI interfaces for C, whereas today you would use HTML. I think the day will come when we say the same thing about business logic in applications."
Windows Workflow Foundation is not without its limits, however. It does not of itself directly support alternative workflow protocols such as Web services. "We have avoided [doing] that so we can focus on the workflow execution," Andrew noted.
However, he said it should be easy to interoperate using a centralized server that supports different communication protocols.