Portability of Process-Aware and Service-Oriented Software Evidence and Metrics
Total Page:16
File Type:pdf, Size:1020Kb
Schriften aus der Fakultät Wirtschaftsinformatik und 23 Angewandte Informatik der Otto-Friedrich-Universität Bamberg Portability of Process-Aware and Service-Oriented Software Evidence and Metrics Jörg Lenhard 23 Schriften aus der Fakultät Wirtschaftsinformatik und Angewandte Informatik der Otto-Friedrich- Universität Bamberg Contributions of the Faculty Information Systems and Applied Computer Sciences of the Otto-Friedrich-University Bamberg Schriften aus der Fakultät Wirtschaftsinformatik und Angewandte Informatik der Otto-Friedrich- Universität Bamberg Contributions of the Faculty Information Systems and Applied Computer Sciences of the Otto-Friedrich-University Bamberg Band 23 2016 Portability of Process-Aware and Service-Oriented Software Evidence and Metrics von Jörg Lenhard 2016 Bibliographische Information der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliographie; detaillierte bibliographische Informationen sind im In- ternet über http://dnb.d-nb.de/ abrufbar. Diese Arbeit hat der Fakultät Wirtschaftsinformatik und Angewandte Informatik der Otto-Friedrich-Universität Bamberg als Dissertation vorgelegen. Gutachter: Prof. Dr. Schahram Dustdar, Technische Universität Wien Prof. Dr. Guido Wirtz, Otto-Friedrich-Universität Bamberg Tag der mündlichen Prüfung: 21. Januar 2016 Dieses Werk ist als freie Onlineversion über den Hochschulschriften-Server (OPUS; http:// www.opus-bayern.de/uni-bamberg/) der Universitätsbibliothek Bamberg erreichbar. Kopi- en und Ausdrucke dürfen nur zum privaten und sonstigen eigenen Gebrauch angefertigt werden. Herstellung und Druck: docupoint, Magdeburg Umschlaggestaltung: University of Bamberg Press, Anna Hitthaler © University of Bamberg Press Bamberg, 2016 http://www.uni-bamberg.de/ubp/ ISSN: 1867-7401 ISBN: 978-3-86309-399-0 (Druckausgabe) eISBN: 978-3-86309-400-3 (Online-Ausgabe) URN: urn:nbn:de:bvb:473-opus4-462521 Acknowledgments First and foremost, I want to thank my supervisor, Prof. Dr. Guido Wirtz, for giving me far-reaching freedom in the pursuit of my research interests. I deeply thank him for integrating me into the research work of his group already at times when I was still a Bachelor student. This gave me the opportunity to experience academic life and to learn how to do research early on. I am very grateful to Prof. Dr. Schahram Dustdar for reviewing my thesis as external examiner. Moreover, I am thankful to Prof. Dr. Sven Overhage and Prof. Dr. Gerald Luttgen¨ for critical feedback as members of my dissertation committee. I am indebted to my Ph.D. colleagues Matthias Geiger, Simon Harrer, and Stefan Kolb. Not only have they provided an enjoyable working atmosphere, but also countless helpful discussions on all aspects of work. Moreover, we started several joint projects, which have influenced my dissertation. I want to thank Simon Harrer for his cooperation in the development of our conformance benchmarking tool betsy. Matthias Geiger helped sharpen my approach with his knowledge on BPMN and has also contributed to betsy. I am thankful to Stefan Kolb for his work on adapter synthesis in his master thesis, which I supervised, and for our cooperation in adapting my framework for measuring installability to Platform-as-a-Service environments. I owe thanks to many more Ph.D. students and friends of different subject areas of the faculty. Special appreciation goes to Cornelia Schecher. Being the intermediary between me and the travel expenses department, her support has been of tremendous help. Furthermore, I am obliged to all students of the University of Bamberg who have contributed to my work through software projects or theses, including Andreas Vorndran, Mathias Casar, Adrian Bazyli, Annalena Bentele, Christian Kremitzl, Lea-Louisa Maaß, Frederick Muller,¨ Severin Sobetzko, and Matthias Weiß. I am highly grateful to Prof. Dr. Claes Wohlin and the team of the Software Engineering Research Lab at the Blekinge Institute of Technology for welcoming me in their group during my Ph.D. studies. The impressions I got during my stay and the discussions with the members of the group have helped to shape my view on my research topic. Last but not least, I am thankful to my family, specifically to my brother Wolfgang without whose guidance I might never have attended higher education and reached this level of expertise, and to my parents, who raised me to be an independent person. But most of all, I want to thank my beloved wife Regina. Her moral support during the dire parts of the thesis project, her minute help in my travel organization, and her ability to free my mind after long hours of work have been invaluable. Finally, while I am at it, I want to take this opportunity to thank Radiohead for the beautiful music they keep making. i Kurzfassung Moderne Softwaresysteme werden zunehmend vernetzter und sind gezwungen durch Netzwerke uber¨ die Grenzen von Organisationen hinweg zusammenzuar- beiten. Die Entwicklung solcher verteilter Softwaresysteme wurde in den letzten Jahren durch die orthogonalen Trends der Dienstorientierung und des Prozessbe- wusstseins geformt. Diese Str¨omungen legen Wert auf technologische Neutralit¨at, lose Kopplung, Unabh¨angigkeit von der Ausfuhrungsplattform¨ und Standorttrans- parenz. Ausfuhrungsplattformen,¨ die diese Trends unterstutzen¨ sowie Kontext und Querschnittsfunktionen fur¨ Anwendungen bereitstellen, werden Engines genannt. Anwendungen und Engines werden durch Sprachstandards miteinander ver- knupft.¨ Eine Engine implementiert einen Standard. Wenn eine Anwendung konform zu einem Standard implementiert ist, kann sie auf der Engine ausge- fuhrt¨ werden. Ein wesentlicher Aspekt der Verwendung von Standards ist die Portabilit¨at von Anwendungen. Portabilit¨at, die F¨ahigkeit Software zwischen verschiedenen Ausfuhrungsplattformen¨ hin- und herbewegen zu k¨onnen, ohne dass eine partielle oder v¨ollige Neugestaltung notwendig wird, schutzt¨ vor der Abh¨angigkeit von Softwarelieferanten und erm¨oglicht es, eine Anwendung auf neuere Engines zu migrieren. Das Aufkommen des Cloud Computings vereinfachte die Bereitstellung neuer und skalierbarer Ausfuhrungsplattformen.¨ Bereits existierende internationale Standards zur Implementierung dienstorientierter und prozessbewusster Software bezeichnen die Portabilit¨at von standardisierten Artefakten als wichtiges Ziel, um einfache Plattform¨anderungen zu erm¨oglichen. Des Weiteren stellen sie plattform- unabh¨angige Serialisierungsformate bereit, die die portable Implementierung von Anwendungen erm¨oglichen. Dennoch zeigt die Praxis, dass dienstorientierte und prozessbewusste Anwendungen heute in ihrer Portabilit¨at begrenzt sind. Ein Grund dafur¨ ist, dass Engines selten einen kompletten Sprachstandard imple- mentieren und stattdessen Teile auslassen oder sich in ihrer Interpretation des Standards unterscheiden. Daraus folgt, dass sogar Anwendungen, die Portabilit¨at fur¨ sich beanspruchen, da sie konform zu einem Standard sind, dies nicht erfullen.¨ Die vorliegende Arbeit tr¨agt auf zwei Ebenen zur Entwicklung von portabler dienstorientierter und prozessbewusster Software bei: Erstens liefert sie Belege fur¨ existierende Portabilit¨atsprobleme und die Unzul¨anglichkeit von Standards zur Sicherstellung von Softwareportabilit¨at. Zweitens leitet sie einen neuartigen Be- wertungsrahmen zur Quantifizierung von Portabilit¨at ab und validiert diesen. Es wird eine Methodik zur Bewertung der Standardkonformit¨at von Engines in Bezug auf einen Sprachstandard pr¨asentiert und in einem vollautomatisierten Bewer- tungswerkzeug implementiert. Mehrere Testsuiten von Konformit¨atstests fur¨ zwei iii verschiedene Sprachen, die Web Services Business Process Execution Language 2.0 und die Business Process Model and Notation 2.0, erm¨oglichen es, eine Vielfalt von Standardkonformit¨atsproblemen in gegenw¨artigen Engines aufzudecken. So wird belegt, dass standardbasierte Anwendungsportabilit¨at problematisch ist. Basierend auf diesen Ergebnissen leitet die Arbeit einen Bewertungsrahmen ab. Dieser Rahmen ist an die Methodik des ISO/IEC Systems and software Quality Requirements and Evaluation Standards, der neuesten Version des renom- mierten ISO/IEC Softwarequalit¨atsmodells und der dazugeh¨origen Messmethodik, angepasst. Das Qualit¨atsmodell unterteilt die Softwarequalit¨atscharakteristik Portabilit¨at in die Subcharakteristiken Installierbarkeit, Adaptierbarkeit und Er- setzbarkeit. Jede dieser Charakteristiken stellt einen Teil des Bewertungsrahmens dar. Die vorliegende Arbeit behandelt jede Charakteristik mit einer separaten Analyse, der Ableitung von Metriken, einer Evaluation und Validierung. Es wer- den bestehende Metriken aus der Literatur diskutiert und neue Erweiterungen, spezifisch abgestimmt auf die Evaluation von dienstorientierter und prozessbe- wusster Software, abgeleitet. Vorgeschlagene Metriken werden formal definiert und durch einen informalen sowie einen formalen Validierungsrahmen validiert. Des Weiteren wird die Berechnung der Metriken prototypisch implementiert. Diese Implementierung wird genutzt um die Leistungsf¨ahigkeit der Metriken in Experimenten auf Basis großer Softwarebibliotheken, die von ¨offentlichen und quelloffenen Softwarearchiven erworben wurden, zu evaluieren. Zusammenfassend liefert die vorliegende Dissertation Belege dafur,¨ dass gegen- w¨artige Standards und deren Implementierungen nicht ausreichen um die Portabi- lit¨at von dienstorientierter und prozessbewusster Software sicherzustellen. Daruber¨ hinaus schl¨agt sie einen