HOME

TheInfoList



OR:

A process-driven application is a
software application Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work. At the lowest programming level, executable code consists ...
that is driven by an underlying process or
workflow engine A workflow engine is a software application that manages business processes. It is a key component in workflow technology and typically makes use of a database server. A workflow engine manages and monitors the state of activities in a workflow, su ...
where the process can be exposed and reused. In effect all applications are process-driven and the logic of any application can be extrapolated into a
flowchart A flowchart is a type of diagram that represents a workflow or process. A flowchart can also be defined as a diagrammatic representation of an algorithm, a step-by-step approach to solving a task. The flowchart shows the steps as boxes of ...
to represent the logical process of execution. Process-driven applications are a growing trend in enterprise solutions involving humans, systems or both. With the release of .NET Framework 3.0,
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washi ...
introduced the
Windows Workflow Foundation Windows Workflow Foundation (WF) is a Microsoft technology that provides an API, an in-process workflow engine, and a rehostable designer to implement long-running processes as workflows within .NET applications. The latest version of WF was r ...
(“WF”) which provides developers with the ability to separate application flow from application execution. One Microsoft product to use this approach,
BizTalk Server Microsoft BizTalk Server is an inter-organizational middleware system (IOMS) that automates business processes through the use of ''adapters'' which are tailored to communicate with different software systems used in an enterprise. Created by M ...
, uses orchestrations to represent the order of execution. Both technologies provide graphical tools to manipulate processes and can form part of a process-driven application. They provide the process engine required to drive the application. The term "process-driven application" was popularized by K2K2.com
/ref> company in 2008 when describing applications driven by processes, and originally referred to applications driven by their
business process management Business process management (BPM) is the discipline in which people use various methods to discover, model, analyze, measure, improve, optimize, and automate business processes. Any combination of methods used to manage a company's business p ...
("BPM") software known a
K2 blackpearl
The term has now gained wider acceptance and refers to any application driven by a process engine.


History

The first
software applications Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work. At the lowest programming level, executable code consists ...
were considered procedural in that they were composed of multiple procedures that were called in a predefined order. This predefined order could be static, such as in applications not requiring input, or dynamic based on input either from humans or other sources. In effect, the entire execution path could be directly mapped onto a flowchart which would take into account all path changes based on input. In those days, it was the norm for all applications to start out as a flowchart and then move forward from there although this has now changed as organizations move towards
Rapid Application Development Rapid application development (RAD), also called rapid application building (RAB), is both a general term for adaptive software development approaches, and the name for James Martin's method of rapid development. In general, RAD approaches to ...
("RAD") methodologies. Even today's applications using today's techniques of
object-oriented programming Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code. The data is in the form of fields (often known as attributes or ''properties''), and the code is in the form of ...
can have their execution logic represented using a flowchart. Now consider that the humble flowchart forms the basis of all processes in use today. Whether it's accounting, business, engineering, etc., the humble flowchart was the first, so to speak. All process models attribute their roots to the flowchart. Taking the above into account, it was only a matter of time before technologists realized this gap and started to look for tooling to support the ongoing design and maintenance of these processes.


Process categories

In the context of process-driven applications, three categories of process exist:


Human-to-human process

Human-to-human processes, in this context, refer to processes involving humans only. The process is defined and managed by specific software and this software is responsible for, for example, task assignment, tracking and auditing. The process software is thus responsible for following the predefined process path and assigning tasks to humans for them to review and complete.


Human-to-system process

Human-to-system processes, in this context, refer to processes involving both humans and systems. The process is still defined and managed by relevant process-centric software except that in this scenario, underlying systems may be accessed to store data or initiate transactions on behalf of a human or as a result of choice or design.


System-to-system process

System-to-System processes, in this context, refer to processes involving systems only. The process in this context is usually referred to as an
orchestration Orchestration is the study or practice of writing music for an orchestra (or, more loosely, for any musical ensemble, such as a concert band) or of adapting music composed for another medium for an orchestra. Also called "instrumentation", orch ...
as it usually comprises data transformation and complex routing scenarios.


Relevance

Today's businesses are process driven, everything done in a business is a process, from making coffee to hiring an employee to auditing financial transactions. Thus it makes sense to extrapolate these processes to reusable definitions which can be controlled by software to ensure that actions are repeatable, auditable, monitored and predictable. Separating processes into the above categories allows organizations to better understand their requirements and in turn to select software best suited to those requirements. Once the process engine is selected, applications are built around these processes to provide the organization with a solution which is in fact a process-driven application.


See also

*
Business process automation Business process automation (BPA), also known as business automation or digital transformation, is the technology-enabled automation of complex business processes. It can streamline a business for simplicity, achieve digital transformation, inc ...
*
Business process management Business process management (BPM) is the discipline in which people use various methods to discover, model, analyze, measure, improve, optimize, and automate business processes. Any combination of methods used to manage a company's business p ...
*
Business process modeling Business process modeling (BPM) in business process management and systems engineering is the activity of representing processes of an enterprise, so that the current business processes may be analyzed, improved, and automated. BPM is typically ...
*
Computer-supported collaboration Computer-supported collaboration research focuses on technology that affects groups, organizations, communities and societies, e.g., voice mail and text chat. It grew from cooperative work study of supporting people's work activities and working ...
*
Document Automation Document automation (also known as document assembly or document management) is the design of systems and workflows that assist in the creation of electronic documents. These include logic-based systems that use segments of pre-existing text and/or ...
*
Enterprise content management Enterprise content management (ECM) extends the concept of content management by adding a timeline for each content item and, possibly, enforcing processes for its creation, approval and distribution. Systems using ECM generally provide a secure ...
*
Human interaction management Business process management (BPM) is the discipline in which people use various methods to discover, model, analyze, measure, improve, optimize, and automate business processes. Any combination of methods used to manage a company's business pro ...
* Process architecture *
Workflow A workflow consists of an orchestrated and repeatable pattern of activity, enabled by the systematic organization of resources into processes that transform materials, provide services, or process information. It can be depicted as a sequence o ...
*
Workflow engine A workflow engine is a software application that manages business processes. It is a key component in workflow technology and typically makes use of a database server. A workflow engine manages and monitors the state of activities in a workflow, su ...
*
Workflow management system A workflow management system (WfMS or WFMS) provides an infrastructure for the set-up, performance and monitoring of a defined sequence of tasks, arranged as a workflow application. International standards There are several international standards ...


References

* * * {{cite web , last = Del Piccolo , first = Sergio , title = 2008 K2 Insiders Conference: Day 1 , url = http://delpiccolo.com/2008/04/09/2008-k2-insiders-conference-day-1 , accessdate = 2008-04-18 Information technology management