Группа авторов

Cloud Computing Solutions


Скачать книгу

into subtasks, roles, rules and processes to execute and observe the workflow; workflow system boosts the level of production of organization and work efficiency. Various types of workflows are business workflow, abstract workflow, concrete workflow, scientific workflow and so on. Business workflow allows controlled flow of execution and simplifies workflow management. It provides support for security, reliability, transactions, and performance. Its performance can be increased by use of faster server. Its workflow lifecycle is design, deployment, execution, monitoring and finally refinement. Scientific workflow supports large data flows and needs to do parameterized execution of large number of jobs. It is also to monitor and control workflow execution including ad-hoc changes. The input given to workflow is written in languages like Java, Perl, Python and the output generated is the workflow. These workflows are managed and coordinated by workflow management system, which provides the end users with the required data and the appropriate application program for their tasks. It allocates tasks to end-user based only on the performance of constraints like control flow, data flow, transition conditions or pre- and post-conditions. The issues that arise with workflow and its management are workflow scheduling, fault tolerance, energy efficiency and so on. Workflow scheduling maps and manages the execution of inter-dependent tasks on the distributed resources. Fault tolerant is when a system’s service failure can be avoided when faults are present in the system.”

       3.3.1 Characteristics of Workflow

      The key characteristics of workflow are co-ordination and interaction between different modules, duration of a process, and human interaction. Already we have gone through the modular approach of cloud computing architecture; there are different software-based components or modules which are assigned to different tasks. So, there is a need for workflow co-ordination and proper interaction between different modules. We can also predetermine or measure the approximate duration that can be calculated in weeks, days, hours, and even minutes. Human interaction is a considerable part of the process because, after all, cumulative work of human interaction has made all of this possible.

       3.3.2 Need for Workflow

      This section discusses the need for workflow.

       Workflow modeling is required for monitoring schema, insight, and performance optimization. For monitoring schema, knowing which individuals are contributing work to which business process is very useful when trying to understand costs and workloads. A group of interrelated workflow models is there to be used to gain insight into the stream of the work. Through this workflow model, the service developers can provide the module-wise functionalities; so they can bring the modules together for a particular task to optimize the business process which leads to the performance optimization.

       A model-driven approach describes the workflow system. Service developers are using UML diagram and other modeling techniques for implementing the workflow system. Many workflow tools are also used for that purpose only. Workflow system also provides a state machine model and sequential model; these provide an overview of how workflow is going on in the system.

      Apart from that, at the end of this discussion, we can conclude that workflow management is also responsible for the following functionalities: Automation of individual business process, compliance report, customization of predefined workflows, ready-to-use forms and workflows, development and integration of company-specific processes, tool sets for graphical process modeling and simulation, transparent workflow process, and email notification for workflow process.

      However, in a workflow system, one term is often used, and that is business process, which is defined as a collection of related, structured activities which provide a particular service for the customer.

      Davenport [16] defines a (business) process as:

       “A structured, measured set of activities designed to produce a specific output for a particular customer or market. It implies a strong emphasis on how work is done within an organization, in contrast to a product’s emphasis on what. A process is thus a specific ordering of work activities across time and space, with a beginning and an end, and clearly defined inputs and outputs: a structure for action... Taking a process approach implies adopting the customer’s point of view. Processes are the structure by which an organization does what is necessary to produce value for its customers.”

      Rummler and Brache [17] use a definition that clearly encompasses a focus on the organization’s external customers, when stating that

       “A business process is a series of steps designed to produce a product or service. Most processes (...) are cross-functional, spanning the ‘white space’ between the boxes on the organization chart. Some processes result in a product or service that is received by an organization’s external customer. We call these primary processes. Other processes produce products that are invisible to the external customer but essential to the effective management of the business. We call these support processes.”

      Following are the basic functionalities that support the workflow system:

       Build-time functions are concerned with defining, and possibly modeling, the workflow process and its constituent activities.

       Run-time control functions are concerned with managing the workflow processes in an operational environment and sequencing the various activities to be handled as part of each process.

       Run-time concerns interactions with human users and IT application tools for processing the various activity steps.

      Various tools are used for the workflows in cloud computing environment. In their paper, Monika Bharti and Anju Bala [15] elaborately describe different workflow tools and their respective operating system, the language they are written in, year of release, developer of the tools, description of the tools, architectural style, database used, and respective companies [16-25].



Tool Language Year Link
UGENE C++, QtScript 12/2011 ugene.net
Bonita Open Solution Java 01/2011 www.bonitasoft.com
Google App Engine Python, APIs, URL fetch 2008 cloud.google.com/appengine
OrangeScape Java 2003 www.orangescape.com/
Kaavo Java, PHP 2007 kaavo.com.cutestat.com/
Oozie