ITPub博客

首页 > 应用开发 > IT综合 > business processes and workflow in the WS world

business processes and workflow in the WS world

原创 IT综合 作者:notebookissing 时间:2007-01-17 16:37:13 0 删除 编辑

This article looks at business processes, their relatiionship to workflow and web service today, and the challenges that lie ahead.

From:http://www-128.ibm.com/developerworks/webservices/library/ws-work.html

Author:Margie Virdell

[@more@]
  • Business Process

A business process can be defined as a set of interrelated tasks linked to an activity that spans functional boundaries. Business processes have starting points and ending points, and they are repeatable. This definition doesn't reveal the thought, clarity, detail, and time investment required to produce a useful business process. Useful business processes make and save money for the enterprise.

More importantly, the value of creating business processes for an enterprise is in the intellectual assets that those processes represent. The widgets that a business produces have value, of course; additionally, the knowledge of how to make those widgets has value too. That knowledge can be captured, added to, and improved in a business process. The scope of the widget-making process is important because doing all of the steps ensures quality widgets; doing more or less or different steps results in higher costs or lower quality or both.

It is well worth the time and effort it takes to define and document business processes. There's risk in letting your business's widget-making knowledge exist solely, and walk out the shop door each evening, in the head of your chief widget-maker. With a defined widget-making business process, widget-makers can come and go, and one widget-maker can take over for another at any time because the business process is understood and followed by all widget-makers in the shop. The widget-making business process can be studied, changed, evaluated, and changed again since it is visible to all and not restricted to the chief widget-maker.

  • Workflows

Workflow software doesn't create business processes, but applying workflow to a business process certainly brings the details of that process into focus as you lay out the business process definition and add the required business rules definitions. A workflow can be thought of as the implementation of the answers to the questions Who? What? When? in a business process.

Who?

Who are the participants involved in the flow of the business process? What roles do they play? How are they organized? Are the groupings flexible and dynamic? Or more fixed and static? More entities than just people can be workflow participants. Organizations, applications, employees, Web services, and other workflows can be answers to the Who? question. Abstracting participants into roles makes a workflow more robust. For example, instead of risking a bottleneck in the workflow by specifying that EmployeeA or EmployeeB must do a task, or putting up with the maintenance headache of changing the list of specific employees every time there's a relocation or promotion, allowing anyone that has the Supervisor role to do the task lessens that risk and lowers that maintenance cost.

What?

What is it that the participants do? How do they do what they do? Do they approve things? Do they perform transactions? Do they create documents? Track inventory? Call vendors for prices? Execute a campaign? Transfer information to other participants? Some workflows are completely automatic, and some consist of manual tasks that must be performed by people. More and more frequently, workflows are a combination of the two types. For example, calling a vendor for prices could be one in a series of manual tasks that a person performs, but it can become a programmatic call to a Web Service that returns prices based on the vendor and item information provided to it.

When?

How do participants know when to start? When is the work finished? In what order do participants do their tasks? Do they do them sequentially or in parallel? If only sometimes, under what conditions? How long should each task take? Are there hard deadlines or not? If a task is not successfully completed, should it be tried again? When a business process contains tasks that are currently done by people only during the day, and examination of those tasks results in changing them to be automated and performed at any time, the people are then freed up for other tasks and the newly-automated tasks don't have to wait for a person to perform them.

some terms about Workflow

workflow:Very simply, it is the way work gets from start to finish. A workflow consists of process logic and routing rules. The process logic defines the sequence of tasks and the routing rules that must be followed, as well as deadlines and other business rules implemented by the workflow engine.

process definition:A graphical process definition, or process map, represents the process logic elements of a workflow and their relationships

process instance:A process instance, commonly called a job, is a running instance of a process definition.

workflow management system:A software application that stores process definitions and runs jobs based on those process definitions via its workflow engine component. The workflow engine is the runtime execution module.

process definition tool:A software tool used to create and change process definitions. The tool may be a component of business process management software, a stand-alone application, or a component of a workflow management system. Process definition tools that provide the ability to re-use stored workflow elements, and even entire subprocesses, make workflow application developers more productive since they avoid reinventing the wheel when building workflows and integrating them with other applications.

participant:One of the following types: a resource set, a specific resource, an organizational unit, a role (a function of a human within an organization), a human, or a system (an automatic agent). Answers the question "Who?" in a business process.

activity:A task that forms one logical step in a process definition. Can be automated or manual. Automation refers to the ability to define scripts and triggers during process operation. Specific activities in the process definition can run as unattended tasks, and automation can enforce business rules in manual, or human-driven, tasks. A common type of automated activity is deadline handling, which can automatically send a reminder message or trigger an escalation procedure if a work item fails to be completed by a prescribed deadline.

activity owner:An activity owner is the participant that has the authority to declare an activity complete, thus forwarding the work to the next activity in the process.

job owner:A job owner is a participant that has overall control of the execution of one process instance.

work item:Represents the work to be done by a participant for an activity in a process instance.

  • workflow's roots

Workflow directions in software have come from two different originating viewpoints: people-based business processes and rules-based automation processes; the two are becoming more complementary all the time.

The roots of people-based workflow software is in workgroup tools and groupware. In workgroup tools applications (office suites like Lotus SmartSuite, Microsoft Office, and Star Office for examples, plus more specialized tools like Autodesk and Autocad), team collaboration and implicit workflow have always been strong features. Groupware is software that purposely makes it easier for people on teams or in groups to collaborate and helps their work flow more smoothly and efficiently. For people-based workflow software that has evolved from workgroup tools and groupware and now explicitly captures and manages workflows, the future is in enhancements to Web services capabilities, along with JSP and portlet support, moving them towards more and more integration within the Java environment.

The roots of workflow automation applications as expressed in Web application orchestration can be found in rules engine applications and the static, step-by-step, rules-based automation of production and manufacturing processes. This kind of workflow is now heading towards supporting people-based workflows as well.

Merging the two viewpoints means that the ability of workflow software to flexibly handle varied and unexpected circumstances becomes very important. Orchestration and choreography of Web services workflows are essential parts of ongoing standards definition work at this time.

We still see the two viewpoints here. Orchestration imposes order and timing individually on a set of Web services and their outputs in order to produce a desired process result, just as a musical director imposes order and timing individually on a set of musicians and their outputs to produce a desired musical result. Variations and errors in the musicians' outputs are frowned upon by the director but do not change the order or timing of the process. Orchestration of Web services reflects workflow's automation roots.

In contrast, choreography, by defining behaviors for handling varied and unpredictable interactions among a set of Web services, is more complex than orchestration in the same metaphorical sense. While a troop of dancers and an orchestra of musicians both perform their "tasks" in a coordinated manner, dancers in a choreographed performance move around in their workspace and physically interact with each other. Variations or errors in a dancer's movement can cause changes in the movement of other dancers, which in turn changes the dance performance itself. Choreography of Web services reflects workflow's people-based roots.

  • Workflow and Enterprise Application Integration

Workflow software should fulfill these four primary functions as a part of Enterprise Application Integration (EAI): act as a component of vertical applications; work well with application integration software; be the "glue" for collaborative applications; and fit into Web services architectures.

As a component of vertical applications for enterprise industries such as Banking and Insurance, a workflow application should increase interaction between Development and Line of Business through intuitive graphical tools shared across organizations. For industries like Manufacturing, workflow applications should enhance production flexibility and enable production system load-balancing. The workflow application should have the capability to update workflows easily when processes and organizations change. Last, but not least, a workflow application should help the enterprise adhere to government and organizational regulations by standardizing and monitoring business processes.

In order to work well with application integration software APIs, a workflow application should provide flexible Java support that allows that workflow application to be integrated with Web applications and other IT applications, and should support integration with existing business applications. For example, the workflow application should be able to support a nested workflow within an external host workflow system.

Workflow applications should be the "glue" for collaborative applications from both of the viewpoints mentioned earlier. Collaborative applications most often refers to applications that are built of other applications/Web services required to perform tasks and that manage all of the interaction and data flow. Collaborative applications can also mean the automating and streamlining of people-based business processes so that the people involved in the workflow become more productive individually and, more significantly, as a team.

Workflow applications should fit into a Web services architecture. Workflows can be made available as Web services. For example, a workflow Web service could be invoked by an outside vendor submitting a request for a price quote. Upon creation of a request, a workflow application could route that submission to the appropriate person(s) after automatically creating and adding links to prior contracts with the submitter that are stored in a document management system, and developing some recommended quotes based on those prior contracts and current market conditions. When the submission is received by the person that is to fulfill the request, everything needed to make an informed decision about what price to quote the vendor is available. A workflow can also control the flow of a set of Web services that make up an application.

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7851054/viewspace-891076/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
请登录后发表评论 登录
全部评论
  • 博文量
    2
  • 访问量
    13132