• No results found

Management

In document Cloud Computing for Logistics pdf (Page 124-127)

Iryna Bochon, Volker Ivens and Ralf Nagel

Abstract Cloud Business Process Management means more than outsourcing of the Process Editor and the Execution Engine. The overall Process lifecycle has to be adopted to face the challenges of Cloud Computing. In this chapter we discuss these challenges and present our solutions to reconcile cost efficiency, security, avail- ability, agility and low administration overhead.

Keywords Business process management

Cloud computing

Logistics mall

Logistics process designer

1 Introduction

In today’s world you need not buy your own vehicle if you want to travel by car. An alternative would be to join a car sharing community. In car sharing you are not responsible for buying and servicing your own car, you just rent a car from the car sharing pool for the time you need it. The decision which solution suites you best is based on different influence factors like the price list, mileage, travel behavior or the distance to the next pick up point.

The main aspect of Cloud Computing is in analogy to car sharing the change of view fromowning an IT System to justrenting and using it. Instead of giving a definition of the term Cloud Computing we want to examine some of the key factors behind this approach.

I. Bochon (&)V. IvensR. Nagel

Fraunhofer Institute for Software and Systems Engineering ISST, Emil-Figge-Str. 91, 44227 Dortmund, Germany

e-mail: [email protected] V. Ivens

e-mail: [email protected] R. Nagel

e-mail: [email protected]

©Springer International Publishing Switzerland 2015 M. ten Hompel et al. (eds.),Cloud Computing for Logistics, Lecture Notes in Logistics, DOI 10.1007/978-3-319-13404-8_7

• Elasticity: The possibility to short-dated add or remove computing resources (CPU, memory, storage capacity) gives the Cloud customer aflexibility which hasn’t been possible in the past by obtaining own hardware or the classical outsourcing of IT services. This advantage for the customer is tightly connected with the problem of a precise forecast of the computing resource demands by the cloud operator. Different approaches may lead to overbooking problems at peak times in a Cloud data center.

• Security: The security problem populated by the mass media nowadays seems to be overrated and applies more to free of charge Cloud services like Dropbox1or most Google services.2In the case of business appliances in Europe data pro- tection is severely regulated by German and European law. The implementation and monitoring of these rules is essential for every serious Cloud operator. • Cost reduction: This is another factor often presented by popular publications.

In reality it is quite hard to compare the cost of classic IT management with Cloud computing. What is the equivalent value of Cloud elasticity and flexi- bility? Neglecting these facts is comparing apples and oranges. For the Cloud operator it is easier to balance the utilization of the hardware between multiple customers and to absorb performance peaks of a single customer. If peaks of all Cloud customers appear simultaneously a real cost reduction may be unachievable.

• Remote Access: Cloud Computing resources (IaaS,3 PaaS,4 SaaS5 [1]) are accessed through a network (not necessarily the public Internet). That means the physical computing center behind the Cloud may be located anywhere around the world. This potential advantage must be balanced to the fact, that the legal restrictions over the world are quite heterogeneous. Data protection and gov- ernmental control differ in various parts of the world [2].

• Availability: In most businesses a high availability of Cloud Computing resources is required. Any single point of failure could damage the overall availability extremely. All involved components in Cloud Computing like servers, storage, networking, operating systems, power supplies, cooling and so on may lead to fatal blackouts and thus must be kept failsafe within the desired specifications.

Looking at the advantages of Cloud Computing it is obvious to think about a combination of Cloud Computing and Business Process Management (BPM). Business Processes are ubiquitous in our enterprise world. Sometimes they are hidden in standard operating procedures. A better way is to use any kind of

1 http://www.dropbox.com.

2 Google Mail, Drive, Picasa and so on. 3 IaaS: Infrastructure as a Service. 4 PaaS: Platform as a Service. 5 SaaS: Software as a Service.

Business Process Notation like EPC,6BPEL7or BPMN.8Using a Business Process Notation for the execution and monitoring of processes is the state-of-the-art technology in driving an enterprise. With BPMN 2.0 there exists a standardized notation including an executable semantic. Various tools and execution engines support this standard released in 2011 by the OMG [3].

BPMN is an evolution of other basic modeling concepts and languages like Petri nets or state machines. There are scientific researches proving that all BPMN graphs can also be modeled as Petri nets [4]. Those graphs do not contain execution information, so in order to execute a Process model there has to be a special description language for the execution. One language established for that purpose was the Business Process Execution Language, which describes the orchestration of Web services [5] included in a Process model. One of the weaknesses of this language was the missing support for human activities, so some extensions of BPEL including human tasks emerged (BPEL4People). For some time the com- bination of BPMN for modeling and BPEL variants for execution was used until BPMN 2.0 wasfinally released.

Typically domain specialists design Process models, but in most cases they do not have the needed technical experience and understanding of the infrastructure or services for the execution of a process. Consequently, a designed Process model needs some modifications and technical refinements performed by IT specialists to make it executable. For the execution of a Process model every activity must be mapped to a service implementation (e.g. a Web service) in order to provide the desired functionality. Additionally, the outputs of activities have to be wired with the inputs of successive activities. Incoming external event have to be delivered to corresponding Process instances. Outgoing events must be delivered to the correct receiver.

To execute a Business Process model, there have to be several technical refinements to the composed model. Process internal and external events must be wired correctly for the execution of the model.

An executable Business Process Notation covers the following key aspects: • Control flow: the order in which the Process model elements are executed

(Activities, Gateways,…).

• Data structure: the definition of data stored in the Process context and exchanged with services.

• Dataflow: describes theflow of data between Processes and services.

• Messages and Events: specialization of the data structure and flow for com- munication and synchronization between Processes and services.

6 EPC: Event-driven process chain.

7 BPEL: WS-Business Process Execution Language. 8 BPMN: Business Process Model and Notation.

• User and Roles: specialization of the data structure representing the organization chart of peoples interacting with the Process.

• Application landscape: the applications providing the service implementations for the activities.

A typical way to exchange data between Process activities is the use of a Process context. A Process context works like shared memory for all activities in the Business Process. Data objects can be stored in Process variables and every activity can access or update it. Required input and output objects of a Process activity must be available in the Process execution context in order to execute this Process.

Some typical problems with shared memory concepts are:

• Data compatibility: the data exchanged between services must be compatible for successful execution.

• Context size: a growing size of Process context may lead to performance and scalability problems.

• Transactions: in concurrent Processes multiple instances or process threads may try to alter the same data at the same time. This may lead to inconsistency in the data and transaction methods are needed to control the modifications.

• Synchronization: the synchronization of data duplicated from Process context to external data sources may also lead to data inconsistencies.

In document Cloud Computing for Logistics pdf (Page 124-127)