Computers & Industrial Engineering 57 (2009) 14–26
Contents lists available at ScienceDirect
Computers & Industrial Engineering journal homepage: www.elsevier.com/locate/caie
Event-driven service coordination for business process integration in ubiquitous enterprises Jaehyun Kong a, Jae-Yoon Jung b, Jinwoo Park c,* a
Department of Industrial Engineering, Seoul National University, Seoul, Republic of Korea School of Mechanical and Industrial System Engineering, Kyung Hee University, Kyongki-do, Republic of Korea c Department of Industrial Engineering, Seoul National University, San 56-1, Silim-Dong, Gwanak-Gu, Seoul 151-742, Republic of Korea b
a r t i c l e
i n f o
Article history: Available online 17 September 2008 Keywords: Ubiquitous enterprise Event-driven computing Service-oriented architecture Business process integration Active rule
a b s t r a c t The Internet has improved service-oriented enterprises to allow for real-time enterprises, collaborative process management, and supply chain integration. However, ubiquitous enterprise environments are becoming more and more complicated since a variety of communication devices are emerged and interconnected to the existing enterprise systems. Service-oriented architecture based on web services technology provides a promising platform from which enterprises can coordinate seamlessly with e-Services in heterogeneous information systems. Nevertheless, adopting the architecture for ubiquitous enterprise environments poses some challenges since the wireless/wired systems around the enterprise may dynamically interact in the network and cause a considerable amount of meaningful state changes (called ‘‘events”). In this paper, a methodology that uses event-driven service technology and active rule processing is introduced for business process integration of ubiquitous enterprises. The event-driven approach to business process integration can supplement the service-oriented enterprise architecture by facilitating real-time event processing and distributed service coordination. We illustrate the proposed architecture by applying it to an international post-sales service company that sells electronic products. Ó 2009 Published by Elsevier Ltd.
1. Introduction Pervasive computing has motivated companies to create realtime enterprises. A representative technology for this idea is automatic identification and data capture (AIDC) using radio-frequency identification (RFID). RFID technology is also being adopted in manufacturing and service industries, such as at Hewlett–Packard, Boeing, and General Motors, as well as in the logistics industry, such as at Wal-Mart, Metro, and Tesco, for the purpose of improving costs, visibility, and productivity. Although there are different opinions about return on investment and time to market at present, most academics and practitioners agree that AIDC using RFID technology is essential for controlling and managing enterprise resources in real-time (Huang, Zhang, & Jiang, 2007; Zang & Fan, 2007). This research addresses business process integration in ubiquitous enterprise environments, which are becoming more and more complicated with the increasing adoption of a variety of computing and communication systems. The ubiquitous enterprises of the future have four characteristics that distinguish them from traditional manufacturing enterprises. First, event-driven architecture will lead to effective enterprise application integration (Luckham, 2002). Many more systems will take part in enterprise networks * Corresponding author. Tel.: +82 2 880 7179; fax: +82 2 889 8560. E-mail address:
[email protected] (J. Park). 0360-8352/$ - see front matter Ó 2009 Published by Elsevier Ltd. doi:10.1016/j.cie.2008.08.019
and exchange complex information continuously in real-time. For instance, equipment, products, parts, and operators will be tagged with RFID sensors and disperse detailed real-time events anytime and anywhere to workers in the enterprises. How to filter the huge real-time events and exploit the information will be a critical factor for success in realizing ubiquitous enterprises. Second, a variety of heterogeneous systems will enable real-time communication on the Internet. Wired information systems have already been stably implemented with web-based technology (Apte, Deutsch, & Jain, 2005; Pashtan, Heusser, & Scheuermann, 2004; Pashtan, Kallipara, & Pearce, 2003). We can expect that convergence networks will be developed on the basis of web technology since wireless and mobile devices should be seamlessly integrated and communicate effectively with wired systems. Third, enterprise systems and organizations will provide their own functionality in a decentralized and autonomous manner. The large amount of data and information from distributed sources will become more difficult to manage in real-time, and the data rush will be increasingly accelerated (Bechini, Cimino, Marcelloni, & Tomasi, 2007; Cao, Zhang, Li, & Wang, 2005). Finally, the situation requires collaborative environments in which decentralized systems can accomplish their own business rules independently while they flexibly communicate with each other if specific needs arise. This research proposes a methodology for event-driven business process integration for ubiquitous enterprise environments.
J. Kong et al. / Computers & Industrial Engineering 57 (2009) 14–26
The ubiquitous collaborative process comprises e-Services and uWork. e-Services are considered automated activities which can be provided by well-defined application services, while u-Works are defined as manual activities which can be supported by ubiquitous computing devices such as RFID sensors. The two kinds of activities in distributed workspaces are coordinated in a decentralized collaboration network based on event-driven rule processing. The collaborative service interaction models are implemented by using event-driven web services technology. The proposed architecture has the following benefits listed below. (1) Event-based extensible collaboration. The architecture adopts the publish/subscribe mechanism using event notification, instead of the request/response mechanism, which existing service-oriented architecture have adopted. The approach helps to transfer real-time information in a timely manner to more event subscribers and allows other systems to join and leave dynamically while reacting to events of interest. (2) Seamless integration of heterogeneous systems. The architecture adopts event-driven web services technology, such as WS-Eventing and WS-ECA languages, as well as fundamental standards such as WSDL, SOAP, and UDDI. This adoption enables companies to develop fully decoupled integration of dynamically participating systems on the web. (3) Decentralized and autonomous service coordination. The architecture adopts distributed event-driven rule processing, not centralized service composition as used in WS-BPEL and WSCDL. The active rules can be modified independently and be executed in distributed service systems. It also helps more passive web services to react in a timely way to filtered events in real-time. This paper is organized as follows. We first discuss related work on event-based systems in Section 2. The concept of event-driven service computing is introduced, and a comparison with existing service-oriented architecture is presented in Section 3. In Section 4, the event-driven architecture of business process integration for ubiquitous enterprises is proposed, along with a case example of a post-sales service company. Subsequently, in Section 5, we describe how the business process can be separated into distributed collaboration models with the example service process. The prototype system, implemented in the case example, is described in Section 6, Section 7 concludes the paper.
2. Related work Event-based computing is an effective means of integrating distributed heterogeneous systems since it enables system components to interact by generating and receiving event notifications (Mühl, Fiege, & Pietzuch, 2006). Therefore, a large amount of research on event-based systems (EBS) has been conducted in widely varying areas such as database management systems (Dayal et al., 1998; Gehani, Jagadish, & Shmueli, 1992), enterprise systems (Cilia & Buchmann, 2002), and artificial intelligent applications (Liu, Sun, Dix, & Narasipuram, 2001), among others. In recent years, eventbased research has been adopted to improve the effectiveness and flexibility of complex enterprise systems. A representative trial for event-based systems is the analysis of event patterns, which involves using a template that matches certain sets of events (Luckham, 2002). The event patterns can be used to activate business rules by detecting characteristic event matching of numerous data, which have been collected by various sensors (Zang & Fan, 2007). Such event-driven approaches can be adopted to achieve various objectives in business environments. In particular, we assume that complicated service coordination in ubiquitous enterprises can be
15
one of the successful applications of event-driven service computing, as a lot of service devices and applications dynamically interact with each other to realize enhanced business environments. For this reason, we provide architecture that makes distributed systems integrate seamlessly in ubiquitous enterprise environments in which various events are generated and exchanged. Efforts to integrate distributed systems have been ongoing since the last decade. In particular, the multi-agent approach, which provides collaborative planning, scheduling, and evaluation, has often been adopted for autonomous monitoring and controlling of distributed resources (Jia, Fuh, Zhang, & Nee, 2004; Maturana & Norrie, 1996). Furthermore, we can construct real-time knowledgebased systems for dynamic logistic processes (Chow, Choy, & Lee, 2007) and monitor and control home appliances (Son, Kim, Shin, & Shin, 2006) using multi-agent technologies, because of the development of ubiquitous technologies such as RFID and sensor technologies. A multi-agent paradigm is useful for collecting data and controlling systems in distributed environments. Nevertheless, the approach was not standardized for enterprise application integration or business process integration, and it is not either flexible or extensible to adopt in ubiquitous enterprise environments. Concomitantly, service-oriented architecture (SOA) has received attention as a suitable architecture for integrating platform, protocol, and legacy systems. SOA is suitable for modern enterprise architecture because it aims for flexibility and adaptability through loosely-coupled integration by utilizing system implementation technology such as web services paradigms. Unfortunately, the SOA is not adequate for the ubiquitous enterprises examined in this paper, because the request/respond mode that SOA mainly adopts is sometimes inefficient at managing numerous enterprise events and adopting real-time AIDC technology. Recently, eventdriven architecture (EDA) has been proposed to meet the needs of the existing SOA. The architecture proposed in this paper attempts to create an architecture that can complement the existing SOA in ubiquitous enterprises based on an event-driven approach and reactive rule processing. The AIDC technologies that have been of interest for the last decade in enterprise environments are anticipated to facilitate inventory management, quality management, production tracking, security management, and factory automation, among other areas (Udoka, 1991, 1992). Although RFID technology was not applicable in practice in the 1990s because of the high price of RFID readers and tags, it is now considered a representative AIDC technology in various areas, such as manufacturing, logistics, health care, and national defense. Previous research on RFID technology includes monitoring present states through capturing real-time data collected by readers (Zang & Fan, 2007), providing real-time solutions in monitoring business processes (Chow et al., 2007), and dispatching jobs to business process in real-time (Huang et al., 2007). This research focuses on business process integration through realtime coordination using RFID technology. Many industry-driven standards for electronic product code (EPC) have been developed by EPCglobal to support the use of RFID in today’s fast-moving, information-rich, trading networks (EPCglobal, 2007). The standards, which include tag identity, data capture, data exchange, and architecture framework, help in the exchange of product history information and additional product information on the basis of web services technology. Moreover, major IT vendors provide solutions for managing information collected by RFID (for instance, Sun EPC Network, SAP Auto-ID Infrastructure, IBM WebSphere RFID Premises Sever, among others). However, the solutions do not yet perform functions beyond filtering and duplicate removal (Zang & Fan, 2007). The architecture proposed in this paper aims to support business process integration on the basis of real-time events filtered by such solutions.
16
J. Kong et al. / Computers & Industrial Engineering 57 (2009) 14–26
3. Event-driven services computing Service-oriented computing (SOC) is considered an effective technology for integrating distributed information systems in enterprise environments. SOC based on web services technologies mainly adopts the request/response mechanism by which a requester invokes an application service of a distributed service provider and receives the corresponding response message from the application. However, such service pulling is often inefficient in ubiquitous enterprise environments as the environments become more and more complex and because rapidly change to satisfy various business needs. For this reason, event-driven approaches were introduced to complement SOC in ubiquitous enterprise environments, for they allow service applications to be fully decoupled through event notification. In this section, a conceptual model of event-driven service computing is presented with related technology. A comparison of the existing service architecture and the proposed event-driven approach is provided. 3.1. Conceptual model In ubiquitous enterprises, a variety of sensors and controllers exchange significant information with one another to implement a timely and responsive enterprise environment. This requires an architecture that enables service applications to react to events. Such events are delivered continually and automatically from various internal or external business event sources including information systems, such as enterprise resource planning (ERP) and supply chain management (SCM) systems, and real-time sensors, such as RFID tags. Since the sources generate a considerable number of events in real-time, it is a crucial to recognize the events and perform the appropriate business actions. Fig. 1 shows the conceptual model of event-driven service computing in such business environments. The collection of real-time events is called the event cloud. The aim of event-driven service computing is to detect significant events from the event cloud, determine the business rules by using active rule engines, and finally perform the appropriate actions, such as service invocation. The complex event processing proposed by Luckham (2002) is one methodology for managing the event cloud. In contrast with Luckham’s study, this research focuses on service coordination for business process integration by processing realtime events in distributed and decentralized information systems. In our model, events include the information sent from ubiquitous sensors, such as RFID tags, as well as real-time data generated
service invocation
service
from enterprise applications. In addition, we assume that the services that can be invoked by active rules do not include only individual web services, but in addition the composed services of implementing business process languages such as WS-BPEL and WS-CDL. Since this research adopts web services technology for event-driven computing, event-driven rules can cover enhanced services based on web services invocation. The role of active rule engines is to trigger an appropriate action by recognizing and processing real-time events in the event cloud. The active rule takes an event-condition-action (ECA) form, and on specific events or event patterns it activates specific actions if certain conditions are satisfied. The rule engines play a significant role, because the extremely passive services in existing SOC are enabled to react to real-time events to coordinate their own services in a distributed and decentralized manner. The types of reaction include service invocation and event notification. 3.2. Event-driven web services technology Web services technologies have been extended to overall enterprise information systems based on Internet protocol for the purpose of achieving interoperability among heterogeneous systems. The initial outstanding web services specifications, WSDL, SOAP, and UDDI, are fundamental for the service description and messaging protocols, even though REST and AJAX have emerged as new approaches for lightweight and asynchronous web services communications. Furthermore, this service coordination technology has provided users with advanced services in the service-oriented computing paradigm. For instance, business process standard languages, such as WS-BPEL (Jordan et al., 2007) and WS-CDL (Kavantzas et al., 2005), have enabled the orchestration and choreography of web services (Peltz, 2003) and have facilitated the coordination of application services of internal organizations and business partners according to their business logics or trading contracts. In recent years, a number of event-based web services technologies have been proposed. Web service standards, such as WS-Eventing (Box et al., 2006) and WS-Addressing (Gudgin, Hadley, & Rogers, 2006), are increasing the adaptability of web services technology to distributed service systems by supporting endpoint descriptions and communication mechanisms among them, respectively. In particular, WS-Eventing provides the rich protocol required for the publish/subscribe mechanism used in web services technology. The functions of the protocol, which are defined in SOAP messages, include subscribe, unsubscribe, renew, get state, among other functions. The property is based on the assumption that distributed sys-
service invocation
Active Rule Engine service
event notification
event notification event subscription
event notification
event publication
event notification
event notification External Event Sources
Event Cloud
Internal Event Sources event notification
event notification event subscription
event notification
event notification
service
event publication event notification
Active Rule Engine service invocation
service service invocation
Fig. 1. Conceptual model of event-driven service computing.
17
J. Kong et al. / Computers & Industrial Engineering 57 (2009) 14–26
tems may dynamically integrate with other systems. We can extend the notification message in the standard to any domain. In addition, WS-ECA rules (Jung, Park, Han, & Lee, 2007) have been proposed to coordinate ubiquitous services. WS-ECA describes ECA rules, which define the reactive behaviors of various web service interactions. The ECA rules are triggered by internal events of service applications or external events from other applications. The triggered rules, when their condition parts are satisfied, will be activated to execute their actions. Specifically, service events are defined to catch the timing of invoking specific services and finishing the service, and external events are exploited to respond to event notifications which received from external systems. These events can be integrated into web service event technology, WS-Eventing and WS-Addressing, to implement eventdriven service systems in ubiquitous enterprise environments. Fig. 2 shows the schema of the rule language. The schema of the rule language consists of four basic elements: event, condition, action, and variable. In the event parts, primitive events, such as time, service, internal, and external events, play a role in triggering ECA rules, and these can be combined to express composite events by using logical operators (disjunction, conjunction, sequential, and negation operators). Action parts have similar structures, including primitive and composite ones. Primitive actions in WSECA rules can invoke an application service and create an external or internal event. Variables are used to assign or exchange temporary values in the rule. Detailed information about these rules can be found in a previous study (Jung et al., 2007). The mechanism of WS-ECA rules support service interaction in two ways: through service invocation and event notification. Service invocation is the general concept of the existing web services
architecture for using the request/response mechanism. Event notification is the means of implementing event-driven service interactions, and in this paper we use the publish/subscribe mechanism based on the WS-Eventing standard. Since the event notification technique is considered fully decoupled and reactive compared to the service invocation technique, event-driven architecture is emerging to supplement service-oriented architecture in which service activation is very passive (Chandy, 2006; Hanson, 2005; Michelson, 2006). Furthermore, the publish/subscribe mechanism of WS-Eventing standards is effective in ubiquitous environments in which a system event may affect many unknown devices. In our proposed architecture, the two approaches to service interaction are complementary, so that service invocation can be used to request public services and event notification can be used to inform others that significant events have occurred. 3.3. Service pulling vs. event pushing Service coordination, such as that between WS-BPEL and WSCDL, has facilitated enhanced service applications in SOA environments. The techniques are generally divided into two types: service orchestration, which organizes inner enterprise resources into the business process, and service choreography, which describes business transaction procedures between independent service providers. Both types have adopted the request/response mechanism of requesting particular services and responding to the corresponding results of the request. They are considered part of the service pulling method, as shown in Fig. 3(a). The figure illustrates an example of WS-BPEL as a service coordination language. The mechanism requires the centralized engine to coordinate different business log-
WS-ECA
Event
Condition
variable
Action
device variable event variable Primitive event Time
Composite event absolute
disjunction
periodic
Primitive action
Composite action
conjunction
invokeService
disjunction
relative
sequential
createExtEvent
conjunction
service
before
negation
createIntEvent
internal
after
external Fig. 2. Schema of WS-ECA rules.
event sources
pub/sub request/ response deployed services
(a) service pulling (e.g. WS-BPEL)
active rules
hidden reaction
(b) event pushing (e.g. WS-ECA)
Fig. 3. Service pulling and event pushing.
18
J. Kong et al. / Computers & Industrial Engineering 57 (2009) 14–26
Table 1 Comparison between service pulling and event pushing Category
Service pulling
Event pushing
Communication method
Request/response mechanism
Publish/subscribe mechanism
Initiation
Initiated by service request
Initiated by event notification
Action
Invoke well-defined services of providers one by one
Push events to multiple distributed event-based systems
Applications
Proper to robust business transactions
Proper to complicated business environments such as ubiquitous enterprises
Base technology
WS-BPEL, WS-CDL, WSCI, BPML
WS-Eventing, WS-ECA
ics, such as those of BPEL engines. They invoke individual services only when they need specific help with the deployed service. The business logic is processed according to the business process in WS-BPEL. In contrast, the approach to event-driven service coordination adopts the event pushing method illustrated in Fig. 3(b). The event sources send their event messages to subscribed recipients whenever their states change or new events are generated. The role of processing the event message is assigned to the decentralized rule engines in the recipients. WS-ECA language can be used to implement the business rules for the purpose of hidden reaction. In summary, the service pulling mechanism requires the centralized coordination engine, which controls all the procedures in the business activities, while the event pushing mechanism contains the decentralized services, which react with each other according to their own business rules. Let us compare the two interaction methods based on their web services technology (see Table 1). Basically, service pulling assumes the request/response mechanism while the event pushing does the publish/subscribe mechanism. For this reason, for service invocation, we should know where and which services exist in the business environments and how we can invoke the services (for instance, input parameters and the schema). However, it is quite inefficient and labor-consuming to determine these parameters in ubiquitous enterprises since the environments may have a lot of services and event sources that are dynamically emerging and disappearing. In contrast, for event pushing, we have to know only the schema of the event of interest, which enables service sources to spread their real-time events to multiple event sinks more conveniently. The event sinks are decided by the subscription mechanism, which is supported by the WS-Eventing standard along with other message specifications, such as unsubscription, renew, and notification. In addition, service pulling is initiated by service requests when the request recognizes the business demands, while event pushing is performed by service providers themselves as soon as they receive the events. This property enables decentralized service coordination through the event pushing method. In addition, service pulling is effective in robust enterprise applications requiring business transactions. In contrast, event pushing is more appropriate for complicated and dynamic business environments. In summary, the event pushing method is a more suitable architecture for ubiquitous enterprise environments since it allows distributed systems to deliver their real-time events to more unspecified recipients and coordinate their services in an independent and decentralized manner. 4. Architecture for ubiquitous enterprise We assume that business processes in ubiquitous enterprises are composed of two types of activities: e-Services and u-Works. On the one hand, e-Service is the automated activity that is imple-
mented on the basis of service-oriented computing. Many service coordination languages like WS-BPEL are assumed to call the services via SOAP messages that incorporate WSDL descriptions. On the other hand, ubiquitous work, abbreviated u-Work, is defined as the task that a human worker accomplishes in the environment that is supported by ubiquitous computing devices, such as RFID technology. For instance, repair operators in a ubiquitous service company manually diagnose problems with electronic products in the workspace, which is equipped with RFID readers to trace the RFID tagged products and identify the states of manual activities. In this section, an architecture for ubiquitous enterprises is presented, and a case example of an international post-sales service company is introduced to illustrate business process integration based on the proposed architecture. 4.1. Event-driven service architecture The architecture for event-driven service coordination assumes the u-Work meta model shown in Fig. 4. The u-Process element is composed of e-Services and u-Works, which are automated and manual activities, respectively. The rule element coordinates the two types of activities by invoking services or generating events, and the events, in particular, can be generated by both u-Sensors and other rules. The rule can be triggered by single events and event patterns when its condition is satisfied. Event patterns (i.e. composite events) are composed of primitive events accompanied with (logical, temporal, and context) operators. The u-Work meta model differs from general work models. uWork is not directly associated with worker, time, location, product, and state. Instead, the u-Sensor plays the role of the mediator, and detects information about who, when, where, what, and how, to generate the events to trigger the business rules. For instance, when a repair operator brings a product to his/her worktable at a specific time, the sensor on the worktable will detect the operator and the product and then generate events that contain the data of worker, time, location, product, and state. In those ways, events from the sensors execute the ubiquitous process, which is composed of u-Works and e-Services. The architecture for event-driven service coordination is illustrated in Fig. 5. In the center of the architecture, a workflow management system (WFMS) is located for the purpose of integrating business processes in the overall enterprise. On the one hand, WFMS interacts with information systems providing various e-Services, such as ERP, SCM, warehouse management (WM), and other legacy applications. On the other hand, the WFMS is also supported by AIDC systems, such as RFID readers offering real-time events for u-Services. It may interact with the systems of external business partners in order to obtain useful information about RFID tagged products (for instance, product manufacturing history) by implementing the EPCglobal standards such as EPC information services EPCIS (2007). To conduct real-time interactions among the enterprise systems including WFMS, both interaction methods, service pulling and event pushing, can be used through web services technology. In particular, active rule engines (ARE) can play a leading role in implementing service invocation and event notification, while detecting real-time events and performing the appropriate actions in each information system. The proposed architecture is based on three assumptions to transform traditional service companies into ubiquitous enterprises: (1) All products have been tagged with item-level RFID in factories. They can be identified in each step of the business process, such as during unloading and shipping.
19
J. Kong et al. / Computers & Industrial Engineering 57 (2009) 14–26
Worker detect who u-Process
u-Work
u-Sensor
detect when
Time
use detect where generate
monitor
Location detect what
Event trigger execute
detect how
Product
generate State e-Service
use
Rule
Event Pattern
invoke Logical operator use
trigger
Conditon
Operator
Temporal operator
Context operator
Fig. 4. u-Work meta model.
ERP ARE
S
SCM ARE
S
service invocation
S
WMS ARE
S
S
Legacy ARE
S
S
S
event notification S
S
S
S
ARE WFMS
S
S
S
ARE
S
Active rules
ARE S EPCIS Server
S
Real-time data
Workflow
ARE AIDC System (i.e. RFID reader)
EPC network standards
air interface
S
Partners