Workflow Application - Development

Development

A workflow application can be developed with any general-purpose programming language, but specialized workflow languages also exist. These usually come with an associated graphical notation (such as BPMN), but some are textual or XML-based. Specialized languages that can be used for workflow definition in this way include:

  • XPDL
  • YAWL
  • SCUFL

The above languages are based on XML syntax: while suitable for manipulation by software, they are difficult for non-technical people (the ones who have a deep understanding of specific business/scientific processes) to work with. Therefore, their use is generally augmented by the use of graphical notations that enable the creation of flowchart-like diagrams that are easier for humans to develop and interpret: the creation of such diagrams is in effect a form of "graphical" programming. The software package that allows a user to develop a workflow diagram will typically translate a diagram into its XML equivalent.

Another approach to develop workflow applications is to use a programming language in conjunction with libraries and interfaces that capture abstractions for task coordination. The following are examples of such libraries and interfaces:

  • Windows Workflow Foundation (WF)
  • Workflow OSID

The use of libraries is generally complementary to diagramming techniques, which are not always sufficient by themselves to create fully functional applications (unless the diagramming tool is part of a specific workflow management system). WF workflows, for example, can be created using Microsoft Visual Studio diagrammatically (their XML equivalent is XAML), and their functionality augmented with code written in C# or VB.NET: a given workflow can be called by an existing software application as a Web service. Software development tools such as Visual Studio or the numerous coding environments for Java will also allow particular components to be designed entirely in code and then used as building blocks in workflow diagrams after they are compiled.

One limitation of certain purely diagram-based techniques, such as BPMN above, is that to fit the purpose of workflow specification, such notations need to be enhanced with additional constructs to capture data passing, data transformations and routing conditions, to bind tasks to their implementation, etc.. BPMN, while intended to serve as a standard, is deficient in this regard, and so several commercial packages (such as Microsoft Biztalk) address these needs in proprietary ways (specifically, by enhancing the basic set of diagramming icons with additional icons that support the needed functionality.

For the purpose of static analysis, e.g., to detect semantic errors at design-time, it is also possible to represent workflow in a mathematical form using formal notations such as Petri nets.

Read more about this topic:  Workflow Application

Famous quotes containing the word development:

    Every new development for the last three centuries has brought men closer to a state of affairs in which absolutely nothing would be recognized in the whole world as possessing a claim to obedience except the authority of the State. The majority of people in Europe obey nothing else.
    Simone Weil (1909–1943)

    The proper aim of education is to promote significant learning. Significant learning entails development. Development means successively asking broader and deeper questions of the relationship between oneself and the world. This is as true for first graders as graduate students, for fledging artists as graying accountants.
    Laurent A. Daloz (20th century)

    To be sure, we have inherited abilities, but our development we owe to thousands of influences coming from the world around us from which we appropriate what we can and what is suitable to us.
    Johann Wolfgang Von Goethe (1749–1832)