Intelligent Information Management
Vol.2 No.5(2010), Article ID:1872,5 pages DOI:10.4236/iim.2010.25039

BPM Architecture Design Based on Cloud Computing

Zhenyu Fang, Changqing Yin

School of Software Engineering, Tongji University, Shanghai, China

E-mail: yin_cq@hotmail.com

Received October 19, 2009; revised January 16, 2010; accepted February 20, 2010

Keywords: Cloud Computing, business process management, service-oriented architecture

Abstract

Cloud Computing has become one of the popular buzzwords in the IT area after Web2.0. This is not a new technology, but the concept that binds different existed technologies altogether including Grid Computing, Utility Computing, distributed system, virtualization and other mature technique. Business Process Management (BPM) is designed for business management using IT infrastructure to focus on process modeling, monitor and management. BPM is composed of business process, business information and IT resources, which help to build a real-time intelligent system, based on business management and IT technologies. This paper describes theory on Cloud Computing and proposes a BPM implement on Cloud environments.

1. Introduction

With the development of computer science, the Cloud    Computing has replaced the Web2.0 and Service-Oriented    Architecture (SOA), becoming the hottest trend of IT recently. But there is not too many people know the meaning of the core of the Cloud Computing. Academically, Cloud Computing has different definitions. So, it’s a complexity that includes many recent technologies’ notions. Cloud Computing provides a highly concurrent computing environment. And for customers, it can pay the computing material as paying the usage of water or electricity. This can significantly reduce IT costs and make a previously complex and high cost IT systems run as a hosted environment in the cloud by a third party service companies (such as Amazon, Google, etc.) to maintain and upgrade software and hardware. The users only pay the computing material when they use it. Anytime, and anywhere on the Internet, users can visit the resources of the “cloud”. There is no need to care about how the resources are maintained behind the cloud. Cloud is responsible for providing high availability and responding to the needs of your application. Some famous Cloud environments that have been taken to business successfully includes: Amazon's Elastic Compute Cloud (EC2) [1], Google's App Engine [2] and so on.

Business process management, based on business processes, provides a way to monitor and improve business efficiency. BPM takes data from the company's various business applications in the presentation of data, and then do two things: 1) to track how the information is being used to complete the business, according to that to accurately locate and understand existing business processes; 2) to track information flow in various operations, to ensure that a business process is executed. BPM software is a kind of application software that can be developed on the basis of your existing system. This solution can integrate your existing applications without additional technological investment. Even with limited investment, the enterprises can better improve their work efficiency.

Effectively combining the large-scale parallel computing resources of Cloud Computing and the rule of demand-based resources distribution, the investment cost on BPM software will be greatly reduced. After connecting each system into the Cloud environment, the company can concurrently deal with huge amount of business processes at the same time. The monitoring, supervising and analyzing processes will accordingly make the development and arrangement of the software much easier.

2. Cloud Computing Model, Performance and Technical Analysis

2.1. Cloud Computing Model

The definition that accords with the behavior of Cloud Computing is: Cloud Computing is a parallel distributed system, and it consists of a series of interconnected and highly virtualized computers. Cloud Computing is a uniform computing model based on service agreement between the service providers and service recipients. The system can spontaneously carry out dynamic adjustment of computer resources.

Obviously, Cloud Computing is the effective integration of distributed cluster and grid computing. It will serve as the next generation data center, available to users of virtualization and real-time dynamic allocation of computing resources. Nowadays, users need to manage the installation, deployment, update of various software systems. Users need to maintain computing resources and software and hardware. Therefore, the outsourcing of the computing environment and platform can effectively help users deal with large complex IT infrastructure.

Cloud Computing can provide precisely the best answer to solve these problems. It consists of a series of service model, which mainly consists of three basic service levels, as shown in figure 1.

2.1.1. Infrastructure as a Service

This is the lowest level of Cloud Computing that is closest to the hardware layer. Services in this layer can be broken down as follows: set of physical resources and virtual resources in sets service. Main functions include: starting and stopping their own resources, the operating system image, the network topology of installation and system configuration. Physical resource layer depends on specific hardware equipment, such as servers, networking equipment, and the storage disks to supply services to users. The abovementioned services support application infrastructure (whether provided by the cloud or not) and more users. The virtual resource layer can be built on an independent third-party hypervisor technology, such as on top of Xen [3]. As for platform services, the virtualization is to provide a common method of resources distribution according to need. The examples for infrastructure services include: IBM BlueHouse, Amazon EC2 and so on. Infrastructure services can correctly arrange data center mainly through its demand-based

Figure 1. three-layer model of cloud computing.

computing power. In addition, this layer will use virtualization technology, so with more efficient resource utilization, the cost can be controlled.

2.1.2. Platform as a Service

In this layer, the application infrastructure can be considered as a set of services. This includes but not limited to middleware as a service, messaging as a service, integration as a service, information as a service, and connectivity as a service. The service here is mainly to support the application. These applications can run in the cloud, and can also run in a more traditional corporate data center. In order to achieve the required cloud scalability, different services are often provided by virtualization. The examples of Cloud products include: Google App Engine, Microsoft Azure and so on. So far, Google App Engine has provided two platforms of Python and Java. While the Microsoft Azure provides a variety of different programming tools platforms for Azure Microsoft technologies under runtime environment.

2.1.3. Software as a Service

Everyday Web users may be most familiar with the floor. The application suitable for SaaS model resides on this service layer. They are some applications running in the cloud and are provided to users in the form a service as per demand. Sometimes these services are free, and the service providers can get income from online advertising and the like. Sometimes the application providers are directly paid for the use of the service. As one kind of services, the software and applications can be provided to users through Internet. In this mode, users do not need to install on their computers and implement the applications. Therefore, SaaS reduces the burden on software maintenance and even the purchase cost for customers. Gmail, Salesforce.com is a typical software that is based on Internet and can be used just with a browser.

2.2. Characteristics of Cloud Computing

Different from grid and cluster computing, Cloud Computing is a system that adopts Service-Oriented Architecture (SOA) and is based on service layers. Its main characteristics are as follows:

2.2.1. User-Centered Interface Design

As for the interface of cloud computing, there is no need for the users to change their usual working habits. For example, development language, compiler and operating system installed at the user end are light weight ones. Besides, most of the Cloud Computing products can be directly used through browser.

2.2.2. On-Demand Service

Cloud Computing can provide demand-based services and resources for users, and the users can select the necessary computing resources as per their demands. For example: software installation, network configuration, and hardware configuration. The users enjoy the highest access to these resources.

2.2.3. Quality Guarantee of Service

The system environment of Cloud Computing can assure a high service quality for users, such as CPU bandwidth, and memory capacity.

2.2.4. Self-Management System

As a self-management system, the hardware, software and data for Cloud Computing can be configured and adjusted automatically, acting as a platform mirror image for users.

2.3. The Technology Used in Cloud Computing

2.3.1. Virtualization

Virtualization technology reuses hardware equipment to provide an expandable system environment with extra flexibility. Such virtualization technologies as VMware [4] and Xen can act as a demand-based virtualization IT equipment. In order to use the resources in Cloud, the users can configure their personal network and system environment through such virtualization network as VPN.

2.3.2. Service Flow and Workflow

Based on a series of service layers, Cloud Computing provides a complete set of service environment as per demand. According to SOA, the service layer below will support the service layer above, and the service flow and work flow will be ultimately integrated.

2.3.3. Web Services and SOA

Through standard WSDL, SOAP and UDDI, cloud services can be delivered by the way of Web service. The service structure in the cloud can be managed by SOA. As a result, the services can be used in different distributed platforms through network.

2.3.4. Web2.0

Through Internet and novel Web design & application, Web2.0 can strengthen information share and the interactive cooperation of users. Accordingly, many brand new designs and applications are produced on the basis of Web architecture. Taking advantage of the Web2.0 technology actually, Cloud Computing can provide the users with various services by the application of Web.

2.3.5. Large-Scale Distributed Systems

Cloud Computing requires large-scale distributed memory system and computing ability to realize the rental of computing resources and memory spaces by users. The data in cloud should be transparently transferred, integrated and managed. Google File System [5] and Amazon S3 [6] are the related examples.

2.3.6. Programming Model

Users can write the application program used under cloud environment through cloud computing. Efficiently utilizing the highly concurrent cloud architecture, the programming model in the cloud environment can solve new problems. MapReduce [7] is a new programming model, which is suitable for mass data treatment. The model divides the data set into many small keys/values through Map operation and after that deals with the key/value aggregate with the same key. Hadoop [8] is a frame with open source to get the programming model and provides a Hadoop Distributed File System (HDFS).

3. Business Process Management

The business process management focuses on the integration, optimization, implementation, monitoring and management of process. With SOA technology, the business process can be dynamically adjusted as per the requirements of the businesses. The solutions of BPM includes: development tool for users to personally define the model with basic components; business performance management tool to manage and monitor IT system and the operation of the business process.

The life cycle of business process management is as follows:

Establish a model for the business process of enterprises with Business Process Execution Language (BPEL), collect business functions from the existing system and release them under the form of service, assemble the achieved component in the business process with the corresponding released services, and then the enterprise business process based on the existing system realization ability can be established. Arrange the assembled design business process onto the BPEL Engine and then monitor and keep optimizing the business process through monitoring software.

A typical business process diagram is as Figures 2 and 3:

Figure 2. Life cycle of business process management.

Figure 3. Logic model establishment of business process.

4. Realization of BPM Architecture Based on Cloud Computing

The BPM architecture based on Cloud Computing is shown in Figure 4. Except the physical hardware layer at the bottom, the system architecture from down to up includes infrastructure as service (IaaS), platform as service (PaaS) and software as service (SaaS). By adding additional functions into the three-layer model of Cloud Computing, the framework can realize BPM.

4.1. Infrastructure Services Layer

This layer consists of virtual resources environment,

Figure 4. the cloud-based BPM framework.

network & file storage system, and service bus. Above the hardware layer, it provides virtual abstract for the traditional physical hardware and support the dynamic configuration of the virtualized hardware facility. Besides, it realizes a distributed file storage system on the basis of virtual resources and forms an abstract file system on various distributed physical machines through local area network, including such functions as load balancing, fault tolerance treatment, dynamic node configuration and concurrent treatment. Service bus is at the top part of IaaS layer, including the exterior services to be used, and the function service released by the existing system. The service bus uniformly manages, inquires and arranges these services through Web Service, WSDL, SOAP, and UDDI technologies. Therefore, the function service in PaaS can be realized under the uniform bus, increasing the transparency and making maintenance much easier.

4.2. Platform Services Layer

This layer from down to up includes: function service, business process engine, and business process. This layer is the key element for the realization of BPM. Function service can obtain the services at the bottom layer released by other systems from the service bus in IaaS, and can also independently realize functions. As a service component, the function service can be provided for business process or the application service in SaaS. The business process engine is the execution environment for business process, and the business object and business rule library are also available in the engine. The business object is an abstract data object transmitted among the different components of business process. Business rule library is used by the business analyst and designer. Since independent to any realization, the business rule library can dynamically change any rule standard during operation. Business process is a simulation of the traditional enterprise businesses. The result and process after the establishment of model can be described by BPEL. The process logic can be realized by adopting different service components and rules. The software service in SaaS can adopt business process to operate, monitor and manage the operation of the process.

4.3. Software and Services Layer

This layer is the top layer of Cloud Computing, which is closest to users. It is divided into application service and application software. The application service at the application level is transparent to concrete realization, which mainly meets the concrete requirements of users and application software. This layer provides the concrete process information and function realization obtained from the business process and function service in PaaS for the application software at the upper layer or directly provides them for the users through Internet service. The ultimate application software of Cloud Computing is at the top, which is very strong for background concurrent large-scale treatment. Through the three-layer model of Cloud Computing and the core system of BPM in PaaS, BPM management software can conveniently collect the information of business process and then develop, optimize and monitor the information.

The functions required for the whole framework is listed in Figure 4 (right), including real-time monitor on each layer and module, dynamic configuration of system, service and process, usage-based charging system, backstage management for a large number of users, and the management and maintenance on the whole BPM and the life cycle of cloud computing environment.

5. Summary

This article details the cloud computing model and the technology used, as well as BPM in the Cloud Computing environment architecture. It’s a new type of business process management that uses the existing cloud architecture, adds BPM supporting service bus, functional service, business process engine, and business process management module to eventually realize the arrangement in the cloud, and makes maximal use of cloud properties. As Cloud Computing being just in a developing stage, to improve the structure on the cloud frame is still very challenging in practice and it is necessary to further develop and design the system. The architecture design in the paper continues the development of Cloud Computing, providing a new way of thinking.

6. References

[1] Amazon Elastic Compute Cloud, 7 November 2009. http:// aws.amazon.com/ec2

[2] Google Inc. Google Apps Engine, 7 November 2009. http://www.google.com/apps

[3] B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, I. Pratt, A. Warfield, P. Barham and R. Neugebauer, “Xen and the Art of Virtualization,” Proceedings of the ACM Symposium on Operating Systems Principles, New York, 2003.

[4] VMware Virtualization Technology, 7 November 2009. http://www.vmware.com

[5] S. Ghemawat, H. Gobioff and S. Leung, “The Google File System,” Proceedings of the 19th ACM Symposium on Operating Systems Principles, New York, 2003, pp. 29-43.

[6] Amazon, “S3,” 7 November 2009. http://aws.amazon. com/s3/

[7] J. Dean and S. Ghemawat, “MapReduce: Simplified Data Processing on Large Clusters,” Proceedings of the 6th conference on Symposium on Operating Systems Design & Implementation, Vol. 6, 2004, p. 10.

[8] Hadoop Homepage, 7 November 2009. http:// hadoop. apache.org