AGILE PROCESS EXECUTION WITH KISSMIR 1 Andreas Martin Roman Brun Institute for Information Systems Institute for Information Systems University of Applied Sciences Northwestern University of Applied Sciences Northwestern Switzerland FHNW Switzerland FHNW Riggenbachstrasse 16 Riggenbachstrasse 16 CH-4600 Olten CH-4600 Olten andreas.martin@fhnw.ch roman.brun@fhnw.ch ABSTRACT 1.1 Short overview of KISSmir In this paper, we describe an approach for agile business process KISSmir is a process handling and information sharing tool. The execution and its developed prototype. In a rapidly changing objective of it is to transfer and share knowledge and experience environment an enterprise must be flexible and able to quickly among knowledge workers in an organisation and to react. Traditional business process modelling approaches are too collaboratively learn and mature processes by executing them [1]. rigid and inflexible. To achieve more agility, the modelling during build-time must be less strict and more open in a way that It focuses on the modelling of knowledge intensive business users are able to perform individual adaptations during run-time, processes and aims at the following goal The individual which leads to more flexibility. Being able to react fast is also knowledge and experience used when carrying out a process depending on the enterprise knowledge. Employees must be should be shared with other employees in an organisation. In aware of it and able to access it in an easy way. The approach KISSmir, the user should thus be able to add and exchange new proposes to use ontologies to store information and appropriate knowledge and experience at any time. In order to reach these services to receive context-relevant information to tackle these goals, business process models are made agile and open for challenges. changes during execution. The activities of the process models are represented in a way that allows end users to adjust them by attaching resources and experience deemed valuable for others in Categories and Subject Descriptors that specific context [2]. D.2.11 [Software]: Software Architectures - Domain-specific architectures. H.4.0 [Information Systems Applications]: The paper is organised as follows: Section 2 describes the Miscellaneous. application scenario within which KISSmir has been applied and evaluated. Section 3 describes the architecture and Section 4 shows how it has been implemented. Then a scenario describes General Terms the four main parts in more detail before concluding the work and Management, Design. giving an outlook for future work. Keywords 2. Application Scenario Agility, Knowledge-intensive Activity, Process execution, KISSmir is currently being applied in two scenarios – Ontology additional scenarios have already been considered but not yet realised. The first of these scenarios concerns the process of 1. INTRODUCTION selecting students for matriculation in a master’s programme at With the accelerating innovation cycle in a globalised world, the FHNW while the second scenario is still in an early stage and organisations need to adapt their IT solutions to the changed supports the recruitment process at SAP Research. In this paper, business requirements more frequently and unexpectedly. Agility only the first part of the matriculation process will be shown and has emerged as an important common characteristic of successful explained (see Figure 1). businesses. Conventional business process modelling and At the beginning of the process, a student has to send the execution approaches have found themselves overstretched in application to the administration office. First, all of the data such situations due to the lack of flexibility. needed is entered by the administration office into KISSmir Therefore, business process models need to be agile and open for before the process continues with the next activity. Following the changes during execution. To achieve this, the strict distinction sequence flow, the sub-process 'Check Application' has to be between build-time modelling and run-time execution is softened performed with various activities. However, the execution and process activities are represented to the users in a way that sequence of these activities, and which of them is being executed allows for individual adaptations. The implementation of this at all, depends on the specific context of each process instance. approach is described in this work at hand. and makes it adaptive. When finishing an activity, the user is asked whether the requirements for the particular activity are met 1 This work has been conducted within the EU-funded Integrating Project MATURE (grant no. 216346) which investigates knowledge maturing as new form of learning in businesses and organisations, a dynamic view one-learning and knowledge management. 36 or not. As soon as all activities have been performed the process calculation service has been implemented which calculates the goes to the next activity 'Send rejection letter', 'Send acceptance study fee of the applicant based on the given data and influences letter' or 'Check Criteria List' depending on whether the the workflow. These services should not be mixed with the requirements for an application are fulfilled or not. Hence context reasoning services in section 5.3 - they use the ontology for data used and adapted in an activity by a user is relevant for the inferencing. d A so called task pattern [4] is related to each execution of subsequent activities making a process adaptive. The activity. It consists of additional information such as websites that process then would continue with other activities but the could be helpful to execute an activity, the executor of the explained fragment is the most interesting part for KISSmir. activity, a link to the applicants application data or documents (e.g. templates) needed to execute an activity. The task pattern proposes needed resources and steps to perform an activity. However the user does not have to follow or use these suggestions. He/she is able to adapt the task pattern to his/her needs. These adaptations are stored locally so that the execution of the same activity will be proposed in the adapted way. Furthermore, the adaptations can also be shared with colleagues working on the same activities. e The utility web service is responsible for the instance handling and also for the management of property data. f An ontology is used to store necessary and helpful information for the task execution along with a relation to the activity instance, e.g. websites, experts or historical cases which might be useful in the activity execution. This information was earlier collected by web services in step one. Also related is its task pattern which includes the information as described in step two. g The communication web service is triggered. It is a service that sends an e-mail to the user which has to execute the activity. This service was developed by other partners in the MATURE project2. Figure 1: Matriculation process The above application scenario has been used to evaluate the approach of KISSmir. The evaluation consisted of a first phase where the implemented approach had been explained to the end users and a guided walkthrough (including subsequent interviews) had been conducted afterwards. The results were promising and valuable feedback could be received. Based on it, KISSmir has been further developed and evaluated in a second phase, where the system has been used in a productive environment during a period of four weeks. Subsequent interviews have been conducted in order to verify the process support of KISSmir, the practical use of the adaptivity services, personal taks management, knowledge maturing and sharing and to gain new cognitions. The analysis of the interviews is currently in progress. Figure 2: KISSmir Architecture overview 3. ARCHITECTURE h As soon as the user accepts the activity by clicking on a link Figure 2 gives an overview of the architecture. The business provided in the e-mail, it is loaded into the GUI of KISSmir. In process serves as backbone and orchestrator of the whole the current implementation we have used the Kasimir UI [5]. approach. The first activity represents a normal one, whereas we There, the user finds necessary information to execute the call the second activity a Knowledge Intensive Activity (KIA). activity. On the one hand, information which was already defined KIAs can consist of sub-activities for which no sequence is in the task pattern during build-time. On the other hand, this defined and the execution is optional, depending on specific information that has been collected from the previously information for the certain process instance [3]. mentioned services and stored in the ontology during run-time. i From there the information is retrieved. Some queries might not When an instance of an activity in the process is executed, c it be executed until the user accepts the activity. This guarantees calls various services. These can be adaptivity services which that the latest information is provided, for example if it takes two endorse the agility of the process and also provide context weeks until the user accepts the activity, it is useful to search for dependent relevant resources, or application partner services historical cases at the time when the activity is accepted and which have been developed for their specific purposes. The yet executed but not a priori. j When the activity has been finished, implemented adaptivity services have been developed specifically for the application partner but it is intended to implement generic ones reusable in other context. As a first step a study fee 2 MATURE IP: http://www.mature-ip.eu/ 37 the user terminates it by clicking the appropriate button. This Data storage: KISSmir uses the open source framework Sesame7 triggers a return message over the communication web service as semantic repository for the storage and querying of ontological back to the utility handling web service, which communicates data. The Sesame framework consists of a server container that with the running process instance. runs on an Apache Tomcat8 web server. For internal configuration and logging data, the open source database MySQL9 is used. 4. IMPLEMENTATION BPEL Adobe Flex 4.1 Overview GUI Presentation Layer: The modelling of an adaptive business process could be Adobe Flash Player / AIR performed in a semantic modelling environment like ATHENE Webservice or Java Remoting [6]. The activities of the processes are linked to the related task patterns and resources (files, roles, etc.) which are stored in Adap- Apache CXF semantic repositories c (see Figure 3). Further on, the process tivity model can be enhanced by adaptivity services d. After modelling WS App. Spring the process in ATHENE, it could be transferred to the execution Utility Webservice Partner WS framework and stored in a semantic repository e. In the case of WS Commu- BlazeDS an automatic transformation, the model represented in a nication. knowledge representation language like RDF/S3 or OWL4 could WS Business Layer: be transformed by a transformation service into a process Apache Tomcat Server execution language like BPEL5 or XPDL6. Webservice or RMI Modelling Environment Build time Semantic Sesame Repository X Per- Hibernate App. o Adap- sistence Partner WS p Transformation tivity WS Spring WS Execution Framework Process Layer: Data Access Layer: GlassFish ESB Apache Tomcat Server q HTTP / JDBC Run time Sesame Per- Commu- sistence Utility WS nication. WS MySQL WS Figure 4: KISSmir technology stack r Data access layer: The data access layer is represented by the GUI persistence web service. This service contains the data access procedures to access the KISSmir ontology using the OpenRDF Figure 3: Architecture Sesame Framework written in Java. There exist generic and The transformed process can be executed in the execution application partner specific data access implementations. Apart framework (e.g. BPEL workflow engine) f. The process can from the ontological services, the logging and configuration access the linked resources which are stored in the semantic services are implemented using the object-relational mapping repositories and invokes the defined adaptivity services during features of the Hibernate10 framework. run-time. The communication web service, which handles the Business layer: The business layer contains several KISSmir web whole instance management and communication, invokes the task services that are explained in Section 3. These services are GUI (graphical user interface) g. The utility web service is used exposed as Enterprise Java Beans using the Spring11 framework. to define and access any kind of settings, options and preferences. The beans are deployed as JAX-WS12 web services using the Apache CXF13 framework. For fast and lightweight Java/Flex 4.2 Execution framework technology stack The KISSmir approach is implemented as follows (see Figure 4): 7 Open RDF Sesame: http://www.openrdf.org/ 8 Apache Tomcat: http://tomcat.apache.org/ 3 9 RDFS: http://www.w3.org/TR/rdf-schema/ MySQL: http://dev.mysql.com/ 4 10 OWL: http://www.w3.org/TR/owl-features/ Hibernate: http://www.hibernate.org/ 5 11 WS-BPEL: http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel- Spring: http://www.springsource.org/ v2.0-OS.html 12 JAX-WS: http://www.jcp.org/en/jsr/detail?id=224 6 XPDL: http://www.wfmc.org/xpdl.html 13 Apache CXF: http://cxf.apache.org/ 38 remoting and messaging the open source framework BlazeDS14 is has been chosen, which includes a design and run-time used. environment for BPEL processes. Presentation layer: The graphical user interface is implemented by As aforementioned, the business process modelled in Adonis using the Adobe Flex15 rich internet application platform. This needs to be transferred into a BPEL process according to the enables a fast and easy to use approach for creating application application scenario. At the beginning of the process, necessary partner specific forms (see 5.1 Application handling GUI) variables that build the context of the current instance are set. The Process layer: The KISSmir process is described in the execution process can be seen as a backbone from which various web language BPEL, running on the Sun GlassFish ESB server, services (WS) that are needed for each activity are called. For invoking several KISSmir web services. example, the activity 'Check completeness of certificates' first calls a WS to get an ID that is unique for this activity instance. We strongly focus on the ability to use the KISSmir approach in a Then a WS is called to receive experts according to the context real world scenario using existing and state of the art (e.g. the applicant's country) and another WS is called to get technologies. The mentioned technology stack gives the historical cases (i.e. instances of the process which have already possibility to adapt this approach in an existing environment. The been executed and have similarities to the current instance) - only requirement is the possibility to work with webservices. again regarding the context. All the gathered information is stored in an ontology, using another WS. Then an e-mail is sent using a 5. SCENARIO WS to notify the users about an activity that needs to be handled. In this chapter the four main components of KISSmir (the Afterwards, the process waits for a callback (which is equivalent application handling GUI, the BPEL process, the ontologies and to the termination of an activity) and then chooses the next the web services) are described in more detail on the basis of the activity to be executed. Most of the web services call other web implemented application scenario. For the time being the business services, e.g. because of persistence issues or to access the process itself has been modelled in PROMOTE [7] using the ontology or property data. graphical modelling tool Adonis16, but any other business process In the BPEL process the instances also need to be managed. modelling tool and notation could have been used as well. It is Again, web services are used to register the instances and handle then transferred into a BPEL process. The Kasimir UI has been the callbacks. used to manage activities [5]. The sequence of the description follows the typical flow of 5.3 Reasoning Services working with KISSmir. However, the development process for an Having the data stored in an ontology offers many advantages. application scenario would be different sequence. After modelling They can be listed according to the definition of Studer and the business process with the end users, the ontologies that cover colleagues [11]: A formal specification is machine readable (not the shared view of the scenario have to be defined. Next, just machine processable), can be validated, and there is no room (reasoning) web services that interact with the ontology and are for interpretation. Explicit means that concepts, functions and used during process execution need to be implemented. Then the axioms are explicitly defined. Shared conceptualization indicates BPEL process has to be developed following the business process a common understanding about the concept, the modelled world from the application scenario. The business processes often and, last but not least, reasoning can be applied. In this section the include some human activities. Therefore a GUI has to be created two services for which reasoning mechanisms have been used are in order to facilitate the communication among the process explained. instance and the user. 5.3.1 Expert Service 5.1 Application handling GUI When a secretary is working on the application of someone To serve the purpose of the application case, an Adobe Flex form coming from China, there might be some certificates attached has been developed which triggers the BPEL process. In the which he/she is not able to understand as they are not (fully) second activity of the process in Figure 1, the administrative translated. However, in the university there are also lecturers from office receives the application and needs to enter the data into China that are able to read the written Chinese language. As KISSmir. The secretary enters all necessary data into a Flex form described in Section 5.4, the ontology also describes skills of and attaches certificates and the letter of motivation. This persons. By searching in the ontology, it can be reasoned that the information is available during the whole process execution to Chinese professor might be able to help the secretary although any user that is working on the case. these two people haven't been aware of each other before. In such a way, the awareness and of usage organizational knowledge and 5.2 BPEL Process skills can be increased. There exist different approaches for business process execution, e.g. BPEL [8], XPDL [9] or YAWL [10]. For KISSmir the 5.3.2 Historical Case Service OpenESB17 including NetBeans18 IDE and GlassFish ESB server It might be helpful to get information about historical cases when working on specific activities. The historical cases give 14 information about how the activities and processes have been BlazeDS: http://opensource.adobe.com/blazeds/ performed in the past and also offer an additional basis for 15 Adobe Flex: http://opensource.adobe.com/flex/ decision making. A historical case represents a finished 16 Adonis: http://www.adonis-community.com/ 17 18 OpenESB: http://open-esb.dev.java.net/ NetBeans IDE: http://netbeans.org/ 39 instantiation of a process. The service looks for a historical case apply in the matriculation process. It includes concepts such as that is similar to the given case. There can be a similitude the degree programme or the applicant and refines the information regarding the applicant's university or country of origin - source concept with multiple data element concepts. searching for more analogies is conceivable. The service returns There exist different approaches for the categorization of different the historical case with all information as applicant data, ontologies as the ones of Mizoguchi and colleagues [13], van attachments, decisions made, notes made on it, etc. which can be Heijst and colleagues [14], Lassila and McGuinness [15] or viewed by the users. Guarino [16] among others. Following the categorization of Guarino, iso3166, dcelement and dcterms can be classified as top- 5.4 Ontologies level ontologies, tdo, ontogov and kissmir as domain ontologies The entire ontology used in KISSmir can be divided into various and msc as application ontology. namespaces or ontologies respectively (see Figure 5). The arrows Not indicated in the overview are the instances which can be indicate the relation from the dependent to the independent related to any ontology. The ontology has been loaded into the ontology. It was the objective to integrate already existing OpenRDF Sesame Repository21 from where it can be accessed. A ontologies as far as possible in order not to reinvent the wheel. specific service has been implemented based on the given basic Therefore the ISO 316619 ontology has been built according to the functionalities to create, read, update and delete data. existing standard of country names and their alpha codes. From the Dublin Core Metadata Initiative20, the fifteen core elements (dcelements), such as title, language, creator etc. and the 6. FUTURE WORK refinements (dcterms) as license, rightsHolder, modified, etc. have been integrated into the ontology. 6.1 Integration into the MATURE infrastructure One next goal is the KISSmir integration into the MATURE infrastructure [2]. This infrastructure provides four levels of integration. KISSmir will be integrated in to the following ones: User interface integration: The KISSmir GUI is based on the Adobe Flex rich internet application framework. This enables an easy integration into the MATURE user interface layer and the usage of intercommunication services. One benefit of the user interface layer is the possibility to use event management functionality as described in [17]. Functional integration: The demonstrator will be integrated into the MATURE infrastructure by invoking the KISSmir services over the MATURE Bus and using more MATURE services. Calls to these services can be triggered by a so-called query resource link (provided by KISSmir) or by the user who is provided with relevant recommendations for a given work situation. Figure 5: Ontologies and their dependencies Data integration: The data, stored in a Sesame repository, will be Next, ontologies from the OntoGov project [12] have been integrated by using the MATURE Sesame repository. chosen. They are used to structure elements from the organisational domain, the process and activity domain, type elements as well as resource elements. Only concepts relevant for 6.2 Mining KISSmir have been selected. The two following ontologies have Process and task mining service(s) are planned to be implemented been designed specifically for KISSmir. TDO stands for 'Task in the coming year. When implemented, the service will mine Description Object'. It is used to store any information which is process and task instances for execution variants. Execution of retrieved from the web services as described in Figure 2, step f. knowledge intensive processes with KISSmir gives users the This can be resourelink, weblink, expert, task pattern id, problem possibility to adjust task handling to their needs, e.g. creating and solution. The kissmir ontology refines the resources from the subtasks or delegating tasks. Those adaptations - stored in the ontogov ontology by distinguishing between knowledge resource, TDO - will be analysed. In addition, the system based selection of information resource, parts and tools. It also defines different knowledge intensive activities will be mined: how often has one roles that can be related to a person as executor, responsible, activity been chosen, has this selection been appropriate etc. [18]. involved, informed and expert. Skills, which again can be related to persons, are defined and activities are further refined according 7. CONCLUSION to the KISS approach [3]. The msc ontology is only used for The KISSmir approach addresses the current challenges of being application specific needs. This means that every application flexible and agile with semantic technologies in an integrative partner will have to replace this ontology with their own specific manner. Through the usage of state of the art technologies concepts. MSc stands for 'Master of Science' for which persons companies will be able to react on chances more rapidly. Of course, the KISSmir approach requires an initial effort. An 19 ISO 3166: http://www.iso.org/iso/country_codes.htm 20 21 DCMI: http://dublincore.org/ OpenRDF: http://www.openrdf.org/ 40 ontology has to be created or enhanced, executable processes [8] T. Andrews, F. Curbera, H. Dholakia, J. Klein, F. have to be adapted and persistence services need to be created, Leymann, K. Liu, D. Roller, D. Smith, S. Thatte, I. but the two application scenarios deliver remarkable results. The Trickovic, and S. Weerawarana, "Business Process semantic based suggestions and recommendations empower the Execution Language for Web Services," 2003. users to perform knowledge intensive activities with increased flexibility and economy of time. [9] Workflow Management Coalition, "XML Process Definition Language (XPDL)." 8. REFERENCES [10] W. van Der Aalst and A. ter Hofstede, "YAWL: yet another workflow language, Technical Report," [1] C. Bradley, S. Braun, R. Brun, J. Cook, K. Hinkelmann, Information Systems, 2002. B. Hu, C. Kunzmann, T. Ley, A. Martin, A. Mazarakis, T. Nelkner, A. Ravenscroft, U. Riss, A. Schmidt, K. [11] R. Studer, V.R. Benjamins, and D. Fensel, "Knowledge Schöfegger, B. Thönssen, and H.F. Witschel, "D2.2 / Engineering: Principles and Methods," Data & D3.2 Design and Delivery of Demonstrators of PLME / Knowledge Engineering, vol. 25, 1998, pp. 161-197. OLME and Tool Wrapper Infrastructure," 2010. [12] B. Thönssen, L. Stojanovic, and T. Pariente, "OntoGov, [2] V. Blažević, S. Braun, R. Brun, H. Eichner, A. Martin, Ontology-enabled e-Gov Service Configuration. and R. Woitsch, "D5.3 Infrastructure and Integrated 1st Description of Ontologies, Addendum to D2," 2004. MATURE System Prototypes," 2010. [13] R. Mizoguchi, J. Vanwelkenhuysen, and M. Ikeda, [3] D. Feldkamp, K. Hinkelmann, and B. Thönssen, "KISS "Task ontology for reuse of problem solving – Knowledge-Intensive Service Support: An approach knowledge," Towards Very Large Knowledge Bases, for agile process management," 2006. 1995. [4] U.V. Riss, A. Rickayzen, H. Maus, and W.M. van Der [14] G. van Heijst, A. Schreiber, and B. Wielinga, "Using Aalst, "Challenges for Business Process and Task explicit ontologies in KBS development," International Management," Journal of Universal Knowledge Journal of Human-Computer Studies, 1997, pp. 183- Management, Special Issue on Knowledge 292. Infrastructures for the Support of Knowledge Intensive Business Processes, vol. 0, 2005, pp. 77-100. [15] O. Lassila and D. McGuinness, "The role of frame-based representation on the semantic web. Technical Report [5] O. Grebner, E. Ong, and U. Riss, "KASIMIR – Work KSL-01-02," Linköping Electronic Articles in Computer process embedded task management leveraging the and …, 2001. Semantic Desktop," 'Multikonferenz Wirtschaftsinformatik' MKWI, Berlin: 2008, pp. 715- [16] N. Guarino, "Formal ontology and information systems," 726. Proceedings of FOIS’98, Trento, Italy: IOS Press, 1998, pp. 3-15. [6] K. Hinkelmann, S. Nikles, and L. von Arx, "An Ontology-based Modeling Tool for Knowledge- [17] T. Nelkner, Best Practices for the Knowledge Society. intensive Services," MeTTeG07, Proceedings of the 1st Knowledge, Learning, Development and Technology for International Conference on Methodologies, All, Berlin, Heidelberg: Springer Berlin Heidelberg, Technologies and Tools Enabling E-Government, 2009. Camerino, Italy: 2007, pp. 43-56. [18] T. Ley, K. Schöfegger, and N. Weber, "D4.2 Maturing [7] D. Karagiannis and R. Telesko, "The EU-Project Services Prototype V1," 2010. PROMOTE: A Process-oriented Approach for Knowledge Management," Methodology, 2000, pp. 30- 31. 41