Using Domain-Specific Languages for Event-Based
Total Page:16
File Type:pdf, Size:1020Kb
Die approbierte Originalversion dieser Diplom-/Masterarbeit ist an der Hauptbibliothek der Technischen Universität Wien aufgestellt (http://www.ub.tuwien.ac.at). The approved original version of this diploma or master thesis is available at the main library of the Vienna University of Technology (http://www.ub.tuwien.ac.at/englweb/). Using Domain-Specific Languages for Event-Based QoS Monitoring in Service-Oriented Environments DIPLOMARBEIT zur Erlangung des akademischen Grades Diplom-Ingenieur im Rahmen des Studiums Software Engineering & Internet Computing eingereicht von Matthias Irlacher Matrikelnummer 0225106 an der Fakultät für Informatik der Technischen Universität Wien Betreuung: Univ.-Prof. Dr. Schahram Dustdar Mitwirkung: Dipl.-Ing. Dr.techn. Ernst Oberortner Mag.rer.soc.oec. Philipp Leitner Wien, 15.11.2011 (Unterschrift Verfasser) (Unterschrift Betreuung) Technische Universität Wien A-1040 Wien Karlsplatz 13 Tel. +43-1-58801-0 www.tuwien.ac.at Erklärung zur Verfassung der Arbeit Matthias Irlacher Rustengasse 8/12, 1150 Wien Hiermit erkläre ich, dass ich diese Arbeit selbständig verfasst habe, dass ich die verwende- ten Quellen und Hilfsmittel vollständig angegeben habe und dass ich die Stellen der Arbeit - einschließlich Tabellen, Karten und Abbildungen -, die anderen Werken oder dem Internet im Wortlaut oder dem Sinn nach entnommen sind, auf jeden Fall unter Angabe der Quelle als Ent- lehnung kenntlich gemacht habe. (Ort, Datum) (Unterschrift Verfasser) i Abstract As the paradigm of Services-Oriented Architecture (SOA) gets more widespread, the quality of the used services also gets more important. Not only is this Quality of Service (QoS) important to human users, but to other services. Monitoring and automatic checks for violations of Services Level Agreements (SLAs) are a necessary and interesting topic. This thesis demonstrates and evaluates a system for the measuring of service quality using a centralized monitor and a minimal-invasive framework at the clients and services. It uses three domain-specific languages (DSLs) to describe SLAs (SLADSL), define measuring points and their context (MPDSL) and create metrics based on the defined measuring points (MDDSL). In addition to the languages, a system for distribution the measuring point information is proposed. The concrete measurement takes place at the clients and services and the measured raw data is sent to the monitor. The monitor uses transformations, generated from MDDSL statements, to calculate metrics from the raw events in a Complex Event Processing (CEP) system. The goal of this thesis was to find a fast, event-based approach to define and measure QoS prop- erties, based on an existing approach by Ernst Oberortner. It had to be expressive, extensible and at the same time try to keep the influence and dependence on the measured systems as small as possible. Amongst other things, this should be achieved by using a separation of SLA, met- ric descriptions and measuring point definitions and the possibility to change SLAs and metric descriptions at runtime. The evaluation of the approach shows a minimal influence at the mea- surement locations when using interceptor-based measurement. The central monitor proves to be a bottleneck, but a possible solution is proposed by splitting the monitor into multiple sys- tems. The concept of separate MPDSL and MDDSL allows to define a variety of QoS properties and enables great extensibility, even including other measurement systems. An evaluation tests the prototype and discusses some further improvements of the system. iii Kurzfassung Da das Paradigma der Services-Oriented Architecture (SOA) sich immer weiter verbreitet, wird auch die Qualität der benutzen Services immer wichtiger. Diese Quality of Service (QoS) ist dabei nicht nur wichtig für menschliche Nutzer, sondern auch für andere Services. Das Über- wachen und automatische Überprüfen auf Verletzungen von Services Level Agreements (SLAs) sind ein notwendiges und interessantes Thema. Diese Diplomarbeit demonstriert und evaluiert ein System, welches Servicequalität mittels eines zentralen Monitors und eines minimal-invasiven Frameworks bei Clients und Services misst. Sie verwendet drei domain-specific languages (DSLs) um SLAs zu beschreiben (SLADSL), Mess- punkte und ihren Kontext zu definieren (MPDSL) und Metriken, basierend auf den definierten Messpunkten, zu erstellen (MDDSL). Zusätzlich wird ein System zum Verteilen der Messpunkt- Informationen vorgeschlagen. Das konkrete Messen findet bei Clients und Services statt, die gemessenen Rohdaten werden daraufhin an den Monitor gesendet. Der Monitor benutzt Trans- formationen, die aus MDDSL Beschreibungen generiert wurden, um in einem Complex Event Processing (CEP)-System Metriken aus den Rohdaten zu generieren. Das Ziel dieser Diplomarbeit war es, einen schnellen, event-basierten Ansatz zu finden, um QoS Properties zu definieren und zu messen, basierend auf einem Ansatz von Ernst Oberortner. Er musste ausdrucksstark und erweiterbar sein und gleichzeitig versuchen den Einfluss auf und die Abhängigkeit von dem gemessenen System so klein wie möglich zu halten. Unter anderem soll- te dies durch eine Trennung von SLA, Metrikbeschreibung und Messpunktdefinitionen, sowie durch die Möglichkeit SLAs und Metrikbeschreibungen zur Laufzeit zu ändern, erreicht werden. Die Evaluierung dieses Ansatzes zeigt einen minimalen Einfluss am Messort bei Benutzung ei- ner Interceptor-basierenden Messung. Der zentrale Monitor erweist sich als Flaschenhals, doch eine mögliche Lösung, durch Auftrennen des Monitors in mehrere Systeme, wird vorgeschlagen. Das Konzept der getrennten MPDSL und MDDSL erlaubt uns eine Vielfalt von QoS Eigenschaf- ten zu definieren und ermöglicht gute Erweiterbarkeit, sogar durch das Miteinbeziehen anderer Messsysteme. Eine Evaluierung testet den Prototypen und diskutiert weitere Verbesserungen des Systems. v Contents 1 Introduction 1 1.1 Motivation . 1 1.2 Problem Statement . 3 1.3 Contribution . 3 1.4 Organization . 5 2 State of the Art 7 2.1 Service-Oriented Architectures . 7 2.1.1 Services . 7 2.1.2 The Basic Service-Oriented Architecture . 8 2.1.3 Service Composition . 9 2.1.4 Benefits . 10 2.2 Web Services . 10 2.2.1 SOAP 1.1 . 11 2.2.2 WSDL 1.1 . 12 2.2.3 Discovery . 13 2.3 Quality of Service . 14 2.3.1 Metrics . 14 2.3.2 Service Level Agreements . 15 2.3.3 Measurement . 15 2.4 Complex Event Processing . 16 2.4.1 Events . 17 2.4.2 Concepts . 18 2.5 Domain-Specific Languages . 20 2.5.1 Generic Structure . 21 2.5.2 Patterns . 21 2.5.3 Advantages and Disadvantages . 23 3 Related Work 25 3.1 Monitoring . 25 3.1.1 Quality of Service Levels . 27 3.1.2 QoS Management . 28 3.2 Extended QoS Metrics . 30 3.2.1 Semantic Approaches . 32 3.2.2 Temporal QoS Parameter Evaluation . 34 3.2.3 Monitoring Compositions . 35 vii 4 Background 39 4.1 Apache CXF . 39 4.1.1 Message Processing . 39 4.1.2 Building Web Services using CXF . 40 4.2 Esper . 42 4.2.1 Event Processing Concepts . 42 4.2.2 Performance . 44 4.3 Frag . 45 4.3.1 Core Language . 45 4.3.2 Using Domain-Specific Languages . 46 4.3.3 Embedding into Java . 46 4.4 QuaLa . 47 4.4.1 Architecture . 48 4.4.2 The Domain-Specific Languages . 48 4.4.3 Supported Measurements . 49 5 Design 51 5.1 Motivating Example . 51 5.2 Architecture . 53 5.2.1 Measuring Location Framework . 55 5.2.2 Monitor . 56 5.3 DSLs . 58 5.3.1 MPDSL . 58 5.3.2 SLADSL . 59 5.3.3 MDDSL . 63 6 Implementation 79 6.1 Components . 79 6.1.1 Monitor . 79 6.1.2 Measuring Location Framework . 82 6.1.3 Web Interface . 85 6.2 DSL Transformation . 87 6.2.1 SLADSL . 88 6.2.2 MDDSL . 88 7 Evaluation 91 7.1 Quantitative Evaluation . 91 7.1.1 Setup . 91 7.1.2 Performance of the MLF . 93 7.1.3 Performance of the Monitor . 95 7.2 Qualitative Evaluation, Open Problems and Limitations . 97 7.2.1 Platform Impact . 97 7.2.2 Performance Impact . 97 7.2.3 Expressiveness of the DSLs . 100 viii 7.2.4 Security and Trust . 104 7.2.5 Areas of Application . 105 8 Conclusion and Future Work 107 8.1 Future Work . 108 A List of Abbreviations 109 B Listings 113 B.1 Used Metrics . 113 B.1.1 Standard Metrics . 113 B.1.2 Application-Specific Metrics . 120 B.2 Used SLA . 121 B.3 Used MP Definitions . 121 B.3.1 RMP . 121 B.3.2 AMP . 122 B.3.3 PMP . 122 B.4 Other listings . ..