An analysis of new features for w...
An analysis of new features for workflow system in the SaaS software Li Weiping School of Software and Microelectronics, Peking University No.5, Yiheyuan road, Beijing, 100871 +86-61273606 wpli@ss.pku.edu.cn ABSTRACT Workflow is an important technology for process automation and was used in application systems for quite a while. The concept of Software as a Service (SaaS) is becoming popular in recent years. Workflow is considered a major technology in SaaS software. Usually the SaaS software is running in a multi-tenancy enabled service environment and there may exist many end users for one particular application. Thus raise some new challenges for the workflow system, which acts as an underlying middleware supporting the business process in an application system. The new features for workflow model, workflow engine, and workflow time management are discussed in this paper, which we are not mean to provide the resolutions but rather indicate the key questions. These features we believe will help enhance the performance of the workflow management system and hence perform well in the SaaS software. Keywords Workflow, SaaS, Multi-Tenancy 1. INTRODUCTION Software as a Service (SaaS) is a software distribution mode in which applications are hosted by service provider and made available to customers over Internet. The SaaS providers usually develop or acquire software applications and host them as services to serve specific needs of their clients. Because there are many users for a specific application, it is common that SaaS relies on cloud computing which can provide a large amount and dynamically scalable computing resource. SaaS can also take advantage of Service Oriented Architecture (SOA) to enable software applications to communicate with each other. Each software service can act as a service provider, exposing its functionality to other applications via public brokers, and can also act as a service requester, incorporating data and functionality from other services. "Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. ICIS 2009, November 24-26, 2009 Seoul, Korea Copyright �� 2009 ACM 978-1-60558-710-3/09/11... $10.00" Workflow is often used in the SaaS software to support the automation of the business processes. SaaS application is characterized by multi-tenancy. In a multi-tenancy enabled service environment, user requests from different organizations and companies (tenants) are served concurrently by one or more hosted application instances based on the shared hardware and software infrastructure [1]. The multi-tenancy approach can bring in a number of benefits including improved profit margin for service provider through reduced delivery costs and decreased service subscription costs for clients. However, it also introduces noticeable complexities in application development, deployment and management. Especially for the workflow management, some new features must be considered such as to support the multi- tenancy applications. Some challenges of workflow system running in the SaaS software are analyzed in this paper, which we are not mean to provide the resolutions but rather indicate the key questions. The rest of this paper is organized as followings: Section 2 briefly introduces the workflow and the SaaS. Section 3 presents the main challenges of workflow system followed by our solutions to them. Finally, section 4 concludes this paper and outlines future works. 2. Fundamentals 2.1 Workflow system Workflow technology and workflow management systems (WfMS), the key technology for process-based application, are widely used in information systems, either as autonomous systems (like Lotus, Ultimus Workflow, etc.) or as parts of larger systems (such as the workflow systems included in the ERPs like SAP, Oracle, etc.)[2]. Workflow management systems provide the foundation for defining and executing business processes. A workflow is the automation of a business process, in whole or part, during which documents, information or tasks are passed from one participant to another for action, according to a set of procedural rules [3]. The automation of a business process is described within a workflow definition, which identifies the various workflow activities, the dependence relationships and the associated control data used to manage the workflow. A dependence relationship in traditional workflow processes can be of two types: execution dependence for control flow and information dependence for information flow [4]. When modeling an activity, the role, input/output data and time duration are designated to describe a real process. While the relationships among activities are also designated which are responsible for the sequence when the process is executing. 110
A workflow management system is a system that completely defines, executes and manages the workflow through the execution of software whose execution order is driven by a computer representation of the workflow logic. A workflow management system consists of software components to store and interpret workflow definitions, to create and manage workflow instances and to control their interaction with workflow participants and applications. A workflow instance is the representation of a single enactment of a process. It is created and managed by a workflow management system [4]. The workflow engine will push the execution of the activities by navigate the workflow model. Presently there are many workflow products available which abide by the WfMC specification such as the shark and jBPM, and by the BPEL language such as ActiveBPEL and WebSphere Integration Developer. 2.2 SaaS SaaS is a new software distribution model where a software vendor or service provider hosts the application and makes it available to customers over a network, typically the Internet. SaaS allows organizations to access application functionality at lower costs with no investment in both software or in additional hardware. Also, because the software is hosted remotely, users need no longer worry about installation, set-up, licenses, training and maintenance. All they need to do is pay a monthly or per-use fee to the vendor who in turn does everything from hosting to maintenance and upgrades of the software. Both the user and the service provider can benefit from this new model. By taking SaaS software, the users will lower cost of ownership, focus on core competency, and access anywhere. While the service provider can get increased total available market, enhanced competitive differentiation, lower development costs and improved Customer Relationships. Thus the SaaS is attracting more and more users, especially small and medium-sized business to turn to it. Much like any other software, Software as a Service can also take advantage of Service Oriented Architecture to enable software applications to communicate with each other. For instance Enterprise Resource Planning (ERP) Software providers leverage SOA in building their SaaS offerings an example is SAP Business ByDesign from SAP AG [5]. From the technical perspective the key characteristics of SaaS software is multi-tenancy. Usually there exist tens of thousands of users using the same particular software. And the application delivery is typically the one-to-many model (single instance, multi-tenant architecture). Thus the workflow management system supporting the SaaS software should be adjusted to fit for this new feature. To image that there are many process instances for one workflow model, which may belongs to different tenants (company or organization). This is really a new challenge for the workflow management system. Next section we will go into the details of the new features of the workflow model as well as the workflow management system running in the SaaS software. 3. THE NEW FEATURES OF WORKFLOW SYSTEM IN SaaS SOFTWARE Since workflow technology was get popular in the early 1990���s, long before Software as a Service, it doesn���t support the functions such as multi-tenancy. When used in the SaaS software some new features have to be added into the workflow to support the new challenges. In the workflow management system typically there are two phases, namely build time and running time. During the build time the workflow model is under built. While in the running time the workflow instances were created and the business processes were performed under the workflow models. Thus, in SaaS software we should look into the workflow in these two stages. In this section, the Workflow model, workflow engine, worklist management and workflow time management are discussed to fit the SaaS��� characteristics. In accordance with the standard of workflow management coalition (WfMC) [6], the workflow model and workflow engine are thoroughly analyzed followed with our solution. 3.1 Workflow model in SaaS software Multi-tenant is a challenge for workflow model in SaaS software. Traditionally the workflow model supports only one tenant. Even though there might be many instances for a specific workflow model, it is in some sense ease to manage them. But if workflow is used to support the business process in SaaS software then the model has to be enhanced to gear with the multi-tenancy. Figure 1 the Process Definition Meta Model The solution to this problem is that some kind of flag will be added into the workflow model. Next let us analyze the situation in the XML Process Definition Language (XPDL) defined by WfMC. In XPDL a process definition meta-data model has been established. This meta-data model identifies commonly used entities within a process definition. A variety of attributes describe the characteristics of this limited set of entities. Based on this model, vendor specific tools can transfer models via a common exchange format [7]. In the process definition meta model, see figure 1, Process Activity, Transition Information, Participant Declaration, Application Declaration, Artifact, Message Flow, Association, Relevant data field, and Data Types and Expressions are defined. But apparently there is no attribute indicating the tenant of a certain process model. Extended Elements is encouraged in XPDL specification, so the element, shown in figure 2, named tenant can be added into the process definition to indicate the tenant of a workflow model. 111