Application Performance Monitoring with Kieker: Failure detection, capacity management, reverse engineering and more

Size: px
Start display at page:

Download "Application Performance Monitoring with Kieker: Failure detection, capacity management, reverse engineering and more"

Transcription

1 Application Performance Monitoring with Kieker: Failure detection, capacity management, reverse engineering and more Wilhelm Hasselbring, Reiner Jung Software Engineering Group, Kiel University with contributions by Till Bielefeld (Voltremote), Nils Ehmke, Florian Fitkau, Sören Frey, André van Hoorn (Uni Stuttgart), Holger Knoche (b+m), Matthias Rohr (BTC), Jan Waller, Christian Wulf, and others SPP Design for Future, Aachen, March st, 03

2 Agenda Monitoring for Dynamic Analysis Kieker Monitoring & Analysis Framework 3 Failure Detection 4 Reverse Engineering 5 Capacity Management 6 Kieker Hands On 7 Summary and Outlook Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future / 5

3 First: Static Analysis Monitoring for Dynamic Analysis Various approaches with varying objectives, some examples: Code Metrics JavaNCSS Coding rules Checkstyle Bug patterns FindBugs Clon detection Bauhaus Architecture analysis Sotograph Static analysis may be applied directly on the program code. Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 3 / 5

4 Dynamic Analysis of Runtime Behavior Monitoring for Dynamic Analysis Static analysis may asses the structure of software systems, but the actual runtime behavior may only be assessed via dynamic analysis. Profiling (during development) allows for dynamic analysis, but usually not under real workload conditions. Monitoring (during operation) allows for continuous dynamic analysis of the actual runtime behavior under real workload conditions. Appreciating the requirements of operating software systems is required while constructing software systems Continuous monitoring is such a requirement. Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 4 / 5

5 Monitoring on different system layers Monitoring for Dynamic Analysis Business/Service Monitoring Application Monitoring System Monitoring Business Processes Services Application Middleware Container Operating System Hardware Infrastructure Key performance indicators, e.g., process throughput time,... SLO compliance, workload,... Response times, operational profile,... Connection pool size,... Thread pool size, heap size,... CPU/Memory utilization,... Availability, reliability,... Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 5 / 5

6 What is done with large-scale systems? Example: Facebook Monitoring for Dynamic Analysis Scaling Facebook to 500 Million Users and Beyond Making lots of small changes and watching what happens only works if you re actually able to watch what happens. At Facebook we collect an enormous amount of data - any particular server exports tens or hundreds of metrics that can be graphed. This isn t just system level things like CPU and memory, it s also application level statistics to understand why things are happening. It s important that the statistics are from the real production machines that are having the problems, when they re having the problems the really interesting things only show up in production. The stats also have to come from all machines, because a lot of important effects are hidden by averages and only show up in distributions, in particular 95th or 99th percentile. Robert Johnson, Facebook Engineering Director Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 6 / 5

7 Agenda <<Reader>> : FS reader Writing (W) CreateVehicleEJB CreateVehicleWS Purchase Manage Browse (b) macro-benchmark operationexecutions traceevents outputport <<Filter>> : Trace reconstruction filter (a) micro-benchmark <<Filter>> : Performance anomaly filter <<Repository>> : System model repository systemmodel systemmodel messagetraces executiontraces anomalyratings anomalyratings messagetraces messagetraces <<Filter>> : Anomaly graph plotter systemmodel <<Filter>> : Sequence diagram visualization se.informatik.uni-kiel.de systemmodel <<Filter>> : Dependency graph visualization Workload Anomaly Detection $ searchbook() 635 Calendar time (hh:mm) Anomaly score getoffers() M M getbook(..) <<execution container>> M M M M getbook(..) <<execution container>> getbook(..) Kieker.Monitoring Monitoring Log/Stream Monitoring Monitoring Monitoring Probe Probe Probe Monitoring Controller Monitoring Writer Monitoring Record Serialization Deserialization Monitoring Monitoring Monitoring Reader Reader Reader Analysis Controller Analysis / Analysis // Visualization Visualization Plugin Plugin Kieker.Analysis AspectJ Servlet System time <your time source> Database (SQL) Named pipe <your monitoring writer> Operation execution Control-flow events CPU utilization Resource utilization Current time Manual instrumentation Spring CXF/SOAP <your interception technology> CPU utilization Memory usage <your technology> <your monitoring probe> File system Java Messaging Servcice (JMS) Java Management Ext. (JMX) Database (SQL) File system <your monitoring record type> File system Java Messaging Service (JMS) Java Management Ext. (JMX) Database (SQL) Named pipe <your monitoring reader> Output stream Memory/swap usage Real-time replayer Dependency graphs Sequence diagrams Call graphs <your visualization> <your trace analysis> <your reconstruction plugin> <your analysis plugin/tool> Kieker Monitoring & Analysis Framework Monitoring for Dynamic Analysis Kieker Monitoring & Analysis Framework Introduction Architecture Program Instrumentation Analysis Visualization Overhead Evaluation 3 Failure Detection 4 Reverse Engineering Reverse Engineering of Java EE Reverse Engineering von C# Reverse Engineering of COBOL Reverse Engineering of VB 6 5 Capacity Management 6 Kieker Hands On 7 Summary and Outlook Kieker: A Framework for Application Performance Monitoring and Dynamic Software Analysis Continuous Application Performance Monitoring for Online and Offline Analysis Static analysis is not sufficient to study the internal behavior of software systems comprehensively Continuous monitoring allows to gather a system's actual runtime behavior resulting from production usage profiles The obtained monitoring data can, for instance, be used for Performance evaluation (e.g., bottleneck detection) (Self-)adaptation control (e.g., capacity management) Application-level failure detection and diagnosis Instrumentation and Monitoring Overhead Framework Characteristics Pipe-and-Filter Configuration for Analysis/Visualization Invited Tool ICPE 0 Includes probes for collecting timing, control flow, and resource utilization Support for various Java instrumentation methods, e.g., AspectJ, middleware interception, Servlet filters Micro-benchmarks revealed low overhead Each activation adds constant overhead (linear scaling) Modular, flexible, and extensible architecture Extensible probes, readers, writers, records, and plugins Integrated monitoring record type model for monitoring and analysis Allows to log, reconstruct, analyze, and visualize distributed traces Designed for continuous operation in multi-user systems Evaluated in lab experiments and industrial case studies (since 006) Kieker is open-source software (Apache License, V..0) A. van Hoorn, J. Waller, and W. Hasselbring. Kieker: A Framework for Application Performance Monitoring and Dynamic Software Analysis. Proc. 3rd ACM/SPEC Int. Conf. Perform. Eng. (ICPE '), ACM, 0 Invocations/minute [x 000] Software Engineering Group Department of Computer Science University of Kiel, Germany Simulation (workload, measurement, logging, and analysis) Software maintenance, reverse engineering, modernization Service-level management 635 searchbook() getoffers() Periodic Sampling JMX Interface Logging Logging Time Source Current Activities/Coming Soon Monitoring adapters for.net, VB6, COBOL etc. Model-driven instrumentation & analysis Web-based graphical user interface Plugins for analysis of concurrent behavior Monitoring Probes/Samplers Time Sources Monitoring Writers Monitoring Records Monitoring Readers Control-flow tracing Sigar Servlet Resource monitoring Kieker is distributed as part of SPEC RG's repository of peer-reviewed tools for quantitative system evaluation and analysis Asynchr. writers Syncr. Architecture reconstr. Pipe-and-filter framework Analysis/Visualization Plugins Trace analysis Visualization Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 7 / 5

8 Kieker Monitoring & Analysis Framework Essential features [Rohr et al. 008, van Hoorn et al. 009; 0] Kieker Monitoring & Analysis Framework Introduction Modular, flexible, and extensible architecture (Probes, records, readers, writers, filters etc.) Pipes-and-filters framework for analysis configuration Distributed tracing (Spring, SOAP, etc.) Low overhead (designed for continuous operation) Evaluated in lab and industrial case studies Kieker.Monitoring Periodic Sampling JMX Interface Monitoring Monitoring Monitoring Probe Probe Probe Logging Monitoring Controller Logging Monitoring Writer Serialization Time Source Monitoring Probes/Samplers Time Sources Monitoring Writers Control-flow tracing Resource monitoring System time <your time source> Asynchr. writers Syncr. Manual instrumentation AspectJ Servlet Database (SQL) Named pipe <your monitoring writer> Operation execution Spring CXF/SOAP <your interception technology> Servlet Sigar CPU utilization Memory usage <your technology> <your monitoring probe> File system Java Messaging Service (JMS) Java Management Ext. (JMX) Database (SQL) File system Output stream Kieker is Open-Source Software (Apache License, V..0) Recommended Tool of the SPEC Research Group Monitoring Log/Stream Monitoring Record Deserialization Monitoring Monitoring Monitoring Reader Reader Reader Monitoring Records Monitoring Readers Control-flow events CPU utilization Resource utilization Current time <your monitoring record type> File system Java Messaging Service (JMS) Java Management Ext. (JMX) Database (SQL) Named pipe Memory/swap usage Real-time replayer Kieker is distributed as part of SPEC RG s repository of peer-reviewed tools for quantitative system evaluation and analysis, Analysis Controller Analysis / Analysis // Visualization Visualization Plugin Plugin Kieker.Analysis Analysis/Visualization Plugins <your monitoring reader> Pipe-and-filter framework Architecture reconstr. Trace analysis Visualization Dependency graphs Sequence diagrams Call graphs <your visualization> <your trace analysis> <your reconstruction plugin> <your analysis plugin/tool> Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 8 / 5

9 Kieker s Evolution Diplomand Erstprüfer Zweitprüfer Betreuer Trustworthy Software Systems Certification Quality of Service Component Technology DEPARTMENT FÜR INFORMATIK Thilo Focke Am Schloßgarten 4 SOFTWARE ENGINEERING Diplomarbeit 3. März Oldenburg thilo.focke@informatik.uni-oldenburg.de Prof. Dr. Wilhelm Hasselbring Prof. Dr. Ralf Reussner (Universität Karlsruhe) MIT Matthias Rohr Dipl.-Math. Johannes-Gerhard Schute Kieker Monitoring & Analysis Framework Introduction Correctness Safety Availability Reliability Performance Security Privacy Performance Monitoring von Middleware-basierten Applikationen Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 9 / 5

10 Kieker s Evolution Diplomand Erstprüfer Zweitprüfer Betreuer Trustworthy Software Systems Certification Quality of Service Component Technology DEPARTMENT FÜR INFORMATIK Thilo Focke Am Schloßgarten 4 SOFTWARE ENGINEERING Diplomarbeit 3. März Oldenburg thilo.focke@informatik.uni-oldenburg.de Prof. Dr. Wilhelm Hasselbring Prof. Dr. Ralf Reussner (Universität Karlsruhe) MIT Matthias Rohr Dipl.-Math. Johannes-Gerhard Schute Kieker Monitoring & Analysis Framework Introduction Correctness Safety Availability Reliability Performance Security Privacy Performance Monitoring von Middleware-basierten Applikationen Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 9 / 5

11 Kieker s Evolution Diplomand Erstprüfer Zweitprüfer Betreuer Trustworthy Software Systems Certification Quality of Service Component Technology DEPARTMENT FÜR INFORMATIK Thilo Focke Am Schloßgarten 4 SOFTWARE ENGINEERING Diplomarbeit 3. März Oldenburg thilo.focke@informatik.uni-oldenburg.de Prof. Dr. Wilhelm Hasselbring Prof. Dr. Ralf Reussner (Universität Karlsruhe) MIT Matthias Rohr Dipl.-Math. Johannes-Gerhard Schute Kieker Monitoring & Analysis Framework Introduction Correctness Safety Availability Reliability Performance Security Privacy Performance Monitoring von Middleware-basierten Applikationen versions 0.5/0.6 - st Sourceforge releases - Monitoring Component - Tpmon - DB and FS Writer (sync&async) - Java classes - AspectJ probes - (Analysis component - Tpan - not part of the releases) Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 9 / 5

12 Kieker s Evolution Diplomand Erstprüfer Zweitprüfer Betreuer Trustworthy Software Systems Certification Quality of Service Component Technology DEPARTMENT FÜR INFORMATIK Thilo Focke Am Schloßgarten 4 SOFTWARE ENGINEERING Diplomarbeit 3. März Oldenburg thilo.focke@informatik.uni-oldenburg.de Prof. Dr. Wilhelm Hasselbring Prof. Dr. Ralf Reussner (Universität Karlsruhe) MIT Matthias Rohr Dipl.-Math. Johannes-Gerhard Schute Kieker Monitoring & Analysis Framework Introduction Correctness Safety Availability Reliability Performance Security Privacy Performance Monitoring von Middleware-basierten Applikationen a version Distributed monitoring - Servlet, CXF, and Spring probes - 36 Java classes Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 9 / 5

13 Kieker s Evolution Diplomand Erstprüfer Zweitprüfer Betreuer Trustworthy Software Systems Certification Quality of Service Component Technology DEPARTMENT FÜR INFORMATIK Thilo Focke Am Schloßgarten 4 SOFTWARE ENGINEERING Diplomarbeit 3. März Oldenburg thilo.focke@informatik.uni-oldenburg.de Prof. Dr. Wilhelm Hasselbring Prof. Dr. Ralf Reussner (Universität Karlsruhe) MIT Matthias Rohr Dipl.-Math. Johannes-Gerhard Schute Kieker Monitoring & Analysis Framework Introduction Correctness Safety Availability Reliability Performance Security Privacy Performance Monitoring von Middleware-basierten Applikationen a versions 0.95a/.0 - Major architectural changes (009 TR) - Generalized/extensible monitoring record model - Generalized/extensible writer/reader model - First release containing parts of the analysis component - Micro-benchmark - Version.0: 8 Java class files + 8 Java test files Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 9 / 5

14 Kieker s Evolution Diplomand Erstprüfer Zweitprüfer Betreuer Trustworthy Software Systems Certification Quality of Service Component Technology DEPARTMENT FÜR INFORMATIK Thilo Focke Am Schloßgarten 4 SOFTWARE ENGINEERING Diplomarbeit 3. März Oldenburg thilo.focke@informatik.uni-oldenburg.de Prof. Dr. Wilhelm Hasselbring Prof. Dr. Ralf Reussner (Universität Karlsruhe) MIT Matthias Rohr Dipl.-Math. Johannes-Gerhard Schute Kieker Monitoring & Analysis Framework Introduction Correctness Safety Availability Reliability Performance Security Privacy Performance Monitoring von Middleware-basierten Applikationen JUnit a version. - User Guide version. - TraceAnalysis tool - System meta-model - On-the-fly trace reconstruction - 4 Java classes Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 9 / 5

15 Kieker s Evolution Diplomand Erstprüfer Zweitprüfer Betreuer Trustworthy Software Systems Certification Quality of Service Component Technology DEPARTMENT FÜR INFORMATIK Thilo Focke Am Schloßgarten 4 SOFTWARE ENGINEERING Diplomarbeit 3. März Oldenburg thilo.focke@informatik.uni-oldenburg.de Prof. Dr. Wilhelm Hasselbring Prof. Dr. Ralf Reussner (Universität Karlsruhe) MIT Matthias Rohr Dipl.-Math. Johannes-Gerhard Schute Kieker Monitoring & Analysis Framework Introduction Correctness Safety Availability Reliability Performance Security Privacy JUnit Performance Monitoring von Middleware-basierten Applikationen FindBugs regular meetings a version.3 - Various new features - Improved configuration management - Initial version submitted to SPEC RG - 05 Java classes + 4 test classes Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 9 / 5

16 Kieker s Evolution Diplomand Erstprüfer Zweitprüfer Betreuer Trustworthy Software Systems Certification Quality of Service Component Technology DEPARTMENT FÜR INFORMATIK Thilo Focke Am Schloßgarten 4 SOFTWARE ENGINEERING Diplomarbeit 3. März Oldenburg thilo.focke@informatik.uni-oldenburg.de Prof. Dr. Wilhelm Hasselbring Prof. Dr. Ralf Reussner (Universität Karlsruhe) MIT Matthias Rohr Dipl.-Math. Johannes-Gerhard Schute Kieker Monitoring & Analysis Framework Introduction Correctness Safety Availability Reliability Performance Security Privacy JUnit Performance Monitoring von Middleware-basierten Applikationen FindBugs regular meetings a version.4 - Major improvements to code quality - Revised version for SPEC RG Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 9 / 5

17 Kieker s Evolution Diplomand Erstprüfer Zweitprüfer Betreuer Trustworthy Software Systems Certification Quality of Service Component Technology DEPARTMENT FÜR INFORMATIK Thilo Focke Am Schloßgarten 4 SOFTWARE ENGINEERING Diplomarbeit 3. März Oldenburg thilo.focke@informatik.uni-oldenburg.de Prof. Dr. Wilhelm Hasselbring Prof. Dr. Ralf Reussner (Universität Karlsruhe) MIT Matthias Rohr Dipl.-Math. Johannes-Gerhard Schute Kieker Monitoring & Analysis Framework Introduction Correctness Safety Availability Reliability Performance Security Privacy iobserve ESN SL JUnit Performance Monitoring von Middleware-basierten Applikationen FindBugs regular meetings a version.5 - Completely reworked pipes-and-filters framework - Event-based tracing - 84 Java classes + 9 test classes Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 9 / 5

18 Kieker s Evolution Diplomand Erstprüfer Zweitprüfer Betreuer Trustworthy Software Systems Certification Quality of Service Component Technology DEPARTMENT FÜR INFORMATIK Thilo Focke Am Schloßgarten 4 SOFTWARE ENGINEERING Diplomarbeit 3. März Oldenburg thilo.focke@informatik.uni-oldenburg.de Prof. Dr. Wilhelm Hasselbring Prof. Dr. Ralf Reussner (Universität Karlsruhe) MIT Matthias Rohr Dipl.-Math. Johannes-Gerhard Schute Kieker Monitoring & Analysis Framework Introduction Correctness Safety Availability Reliability Performance Security Privacy iobserve ESN SL JUnit Performance Monitoring von Middleware-basierten Applikationen FindBugs regular meetings a version.6 - Adaptive Monitoring - WebGUI (beta) Java classes + 47 test classes Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 9 / 5

19 Kieker s Evolution Diplomand Erstprüfer Zweitprüfer Betreuer Trustworthy Software Systems Certification Quality of Service Component Technology DEPARTMENT FÜR INFORMATIK Thilo Focke Am Schloßgarten 4 SOFTWARE ENGINEERING Diplomarbeit 3. März Oldenburg thilo.focke@informatik.uni-oldenburg.de Prof. Dr. Wilhelm Hasselbring Prof. Dr. Ralf Reussner (Universität Karlsruhe) MIT Matthias Rohr Dipl.-Math. Johannes-Gerhard Schute Kieker Monitoring & Analysis Framework Introduction Correctness Safety Availability Reliability Performance Security Privacy iobserve ESN SL JUnit Performance Monitoring von Middleware-basierten Applikationen FindBugs regular meetings a Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 9 / 5

20 Kieker: Monitoring Workflow SRV0:: getbook(..) SRV0:: getoffers() $ 635 getbook(..) Kieker Monitoring & Analysis Framework Architecture Analysis configuration (Web GUI) Analysis Plugins Workload Anomaly 0.75 Invocations/minute [x 000].5 searchbook() 0.50 Anomaly <<execution container>> SRV0 635 searchbook() getoffers().0 getbook(..) <<execution container>> 0.0 Calendar time (hh:mm) getbook(..) Visualizations Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 0 / 5

21 Core Kieker Framework Components Kieker Monitoring & Analysis Framework Architecture Kieker.Monitoring Monitoring Probe Monitoring Record Java probes/samplers: Monitoring Probes/Samplers Control-flow tracing Resource monitoring Manual instrumentation AspectJ Servlet Spring CXF/SOAP <your interception technology> Servlet Sigar CPU utilization Memory usage <your technology> <your monitoring probe> + basic adapters for C#/.NET Visual Basic 6/COM COBOL Monitoring Records Operation execution Control-flow events CPU utilization Resource utilization Current time Memory/swap usage <your monitoring record type> Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future / 5

22 Core Kieker Framework Components Kieker Monitoring & Analysis Framework Architecture Kieker.Monitoring Monitoring Log/Stream Time Source Monitoring Probe Logging Monitoring Controller Monitoring Writer Monitoring Record Periodic Sampling JMX Interface Monitoring Readers/Writers File system Java Messaging Service (JMS) Java Management Ext. (JMX) Database (SQL) Named pipe <your monitoring reader/writer> Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future / 5

23 Core Kieker Framework Components Kieker Monitoring & Analysis Framework Architecture Kieker.Monitoring Time Source Monitoring Log/Stream Kieker.Analysis Pipe & Filter Configuration Monitoring Probe Logging Monitoring Controller Monitoring Writer Monitoring Record Monitoring Reader Analysis / Visualization Plugin Analysis Controller Periodic Sampling JMX Interface Analysis/Visualization Plugins Pipe-and-filter framework Architecture reconstr. Trace analysis Visualization Dependency graphs Sequence diagrams Call graphs <your visualization> <your trace analysis> <your reconstruction plugin> <your analysis plugin/tool> Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future / 5

24 Communication Among Kieker Components Kieker Monitoring & Analysis Framework Architecture * : IMonitoringProbe * : MonitoringController : IMonitoringWriter : AnalysisController * 4.: inputrecord(record) : IFilterPlugin..*..* * * : IMonitoringReaderPlugin *... * * * : IMonitoringRecord Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future / 5

25 Program Instrumentation (Here: Manual) Example: Monitoring Operation Executions Kieker Monitoring & Analysis Framework Program Instrumentation Application code: Monitoring probe code (schematic): public void getoffers() { // EXECUTION to be monitored: catalog.getbook(false); } // BEFORE execution to be monitored if (!ismonitoringenabled()) { collectdatabefore(); } // AFTER execution to be monitored if (!ismonitoringenabled()) { collectdataafter(); writemonitoringdata(); } Instrumentation Getting the monitoring probe into the code Manual instrumentation Aspect-Oriented Programming (AOP), middleware interception,... Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 3 / 5

26 ration is woven (b). Aspect-Oriented Programming (AOP) Kieker Monitoring & Analysis Framework Program Instrumentation aspect weaver basic functionality program aspect programming languages woven output code aspect description programs.8: AOP An aspect Aspect-oriented weaver weaves programming the aspects (following and thekiczales functional et al. part [997]) of an app tion into a single binary (following (Kiczales et al., 997)). Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 4 / 5

27 description of the respective aspect probemethod, Tpmon saves AOP-Based Instrumentation by the Annotation current time before and after b is executed. Kieker Monitoring & Analysis Figure Framework.7: Sample system Program instrumented Instrumentation with Tpmon (a) and how an annotated operation is woven (b). aspect weaver basic functionality program aspect programming languages woven output code aspect description programs Figure.8: An aspect weaver weaves the aspects and the functional part of an application into a single binary (following (Kiczales et al., 3 public void getoffers() { 4 4 catalog.getbook(false); 5 } 6} Annotation-based (AOP) instrumentation for monitoring trace information Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 5 / 5

28 Visualization of Calling Networks Clustering the Monitoring Log [Zheng et al. 0] Kieker Monitoring & Analysis Framework Analysis Visualization Community structure Layered structure hierarchy Xi an Jiaotong University, Shaanxi [Zheng et al. 0] Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 6 / 5

29 akes it possible to access the facts using data visualisation and data analysis chniques, Visualization hence obtaining of Architecture a higher level of understanding Warehouses of those facts, that is taining knowdledge. In this section I deepen the definition by several examples. Artifacts of the JUnit project [Dabrowski 0] Kieker Monitoring & Analysis Framework Analysis Visualization Fig.. Graph-based visualisation of artifacts in junit project Warsaw University [Dabrowski 0] Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 7 / 5

30 3D Visualization [Döhring 0], based on Wulf [00] Kieker Monitoring & Analysis Framework Analysis Visualization Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 8 / 5

31 Overhead Evaluation Linear Rise of Overhead [Waller and Hasselbring 0] Kieker Monitoring & Analysis Framework Overhead Evaluation Execution time (median in µs) Writing (W) Collecting (C) Instrumentation (I) Method Time (T) 7, Slope ( ) ,8 5,7 4, 30,0,7 3, 5,0 0.,0 7,6 6,8 0, 0,7,5 3, Recursion depth (number of successive method calls) Experiment similar to: A5 AsyncFS writer 6 cores whole system is available MSEPT 0 Mul core Influence on Applica on Level Monitoring Overhead Jan Waller and Wilhelm Hasselbring Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 9 / 5

32 Agenda [ 369/967 0,046 0,8,7% ] [ 6365/437 0,6 0,006 3,4% ] [ 640/437 0,6 0,06,8% ] [ 967/967 0,995 0,406 4,43% ] [ 967/967 0,995 0,488 4,69% ] [ 6309/349 0,6 0,037 3,04% ] Failure Detection Monitoring for Dynamic Analysis Kieker Monitoring & Analysis Framework 3 Failure Detection 4 Reverse Engineering 5 Capacity Management 6 Kieker Hands On 7 Summary and Outlook $ Virtual Machine tier Virtual Machine scooter Virtual Machine puck [ 447/6098 0,03 5,90% ] [ 88/76 0,07 3,43% ] [ 447/943 0,03 4,48% ] Deployment Context Level Component Level Virtual Machine klotz 409 org.apache.struts.action.actionservlet [ 487/ ,90 7,8% ] presentation.orderbean presentation.cartbean presentation.catalogbean presentation.accountbean [ 454/397 0,094 7,8% ] [ 07/70 0,087 5,99% ] [ 838/6837 0,048 6,88% ] [ 494/088 0,06 6,6% ] service.hessian.client.orderservice [ 484/98 0,057 6,9% ] service.hessian.client.accountservice [ 53/088 0,033 6,35% ] Component Level Operation Level service.hessian.client.catalogservice getproduct(string) getproductlistbycategory(string) getitemlistbyproduct(string) getcategory(string) getproductlistbycategory(string,int,int) getitemlistbyproduct(string,int,int) 437 Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 0 / 5

33 Pipe-and-Filter Configuration Failure Detection <<Reader>> : FS reader operationexecutions outputport <<Filter>> : Performance anomaly filter systemmodel <<Repository>> : System model repository anomalyratings anomalyratings <<Filter>> : Anomaly graph plotter Kieker.Analysis example pipes-and-filters configuration Performance anomaly detection and visualization Architecture and trace reconstruction/visualization Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future / 5

34 Performance Anomaly Detection A typical example for using a monitoring framework Failure Detection 4 3 Realized and deployed at Xing AG [Bielefeld 0]. Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future / 5

35 Agenda Reverse Engineering Monitoring for Dynamic Analysis Kieker Monitoring & Analysis Framework Introduction Architecture Program Instrumentation Analysis Visualization Overhead Evaluation 3 Failure Detection 4 Reverse Engineering Reverse Engineering of Java EE Reverse Engineering von C# Reverse Engineering of COBOL Reverse Engineering of VB 6 5 Capacity Management 6 Kieker Hands On 7 Summary and Outlook Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 3 / 5

36 Extending the Pipe-and-Filter Configuration getbook(..) Reverse Engineering <<Reader>> : FS reader traceevents outputport <<Filter>> : Trace reconstruction filter <<Repository>> : System model repository systemmodel messagetraces executiontraces messagetraces messagetraces systemmodel <<Filter>> : Sequence diagram visualization systemmodel <<Filter>> : Dependency graph visualization searchbook() getbook(..) getoffers() <<execution container>> SRV0 getbook(..) 635 searchbook() getoffers() Kieker.Analysis example pipes-and-filters configuration Performance anomaly detection and visualization Architecture and trace reconstruction/visualization 06 <<execution container>> getbook(..) Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 4 / 5

37 Generated Sequence Diagram Reverse Engineering Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 5 / 5

38 Web-based GUI for Configuring the Analysis Plugins Reverse Engineering Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 6 / 5

39 Reverse Engineering of Java EE Customer portal of EWE TEL GmbH Reverse Engineering Reverse Engineering of Java EE Distributed Enterprise Java System instrumented subsystem <<device>> Front End Server (on site) <<device>> Client <<device>> 0.. H/W LB * * <<execution environment>> Web Server/ Java EE Container <<artifact>> PortalServiceA <<artifact>> PortalServiceB <<artifact>> PortalServiceC <<device>> Application Server <<execution environment>> Java EE Container <<artifact>> BusinessServices M N <<device>> DB Cluster <<device>> Back End System <<device>> 3rd Party System 0.. <<device>> Front End Server (off site) K Servlet, Spring and CXF/SOAP probes Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 7 / 5

40 Software architecture level Component dependency graph Reverse Engineering Reverse Engineering of Java EE $ <<execution container>> css0 <<execution container>> css <<execution container>> pikdb0 <<execution container>> pikdb Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 8 / 5

41 System architecture level Component dependency graph Reverse Engineering Reverse Engineering of Java EE $ <<execution dofilter(..) <<execution dofilter(..) handlemessage(..) handlemessage(..) handlemessage(..) <<execution container>> pikdb <<execution container>> pikdb isuptodate(..) getzone(..) deleteresourcerecord(..) addresourcerecord(..) getwebuserids(..) getwebhostingcategories(..) updateftpaccount(..) updatemysql(..) terminateftpaccount(..) createftpaccount(..) changedomainusagecategory(..) createwebspace(..) getwebspacesubdirectories(..) getwebhostingcategory(..) getprowebdomainnames(..) getwebhostingdetails(..) getwebspacequota(..) get frommasteraccount(..) createwebstatssession(..) getavailablephpversions(..) addsmscontact(..) sendsupportrequest(..) getsmsauthorizations(..) getftpquota(..) getincreasebandwidthresult(..) getorderstaticipresult(..) getmailquota(..) getsmscontacts(..) sendsms(..) getantivirlicenselist(..) getsmsnumbers(..) removesmscontact(..) queuesms(..) getvirtualserverenvironment() setsmsauthorizations(..) getsmsauthorization(..) createwlanaccount(..) addantivirlicense(..) getmysqlversion(..) activatesmsnumber(..) createsmstoken(..) scheduleantivirlicenseactivation(..) isdomainfree(..) getdomains(..) gettopleveldomains(..) getdomains(..) reassigndomain(..) createsubdomain(..) restartdomaintransfer(..) getfederalstateforzipcode(..) getdomaininfo(..) getdomaincategory(..) performdomainorder(..) updatevacationinfo(..) getmailaccounts(..) update forward(..) getvacationinfo(..) delete virusscan(..) add virusscan(..) updatespamfilterconfiguration(..) removelistentryfromspamfilter(..) create account(..) add alias(..) delete alias(..) getspamfilterconfiguration(..) addlistentrytospamfilter(..) getcustomeraccount(..) checklogin(..) acknowledgednstermsofuse(..) getmyadminloginlink(..) hasacknowledgeddnstermsofuse(..) getaccountnumberfordbuser(..) passwordrequestbymailallowed(..) updateaccountpassword(..) deletetoken(..) updatecsspassword(..) createtoken(..) checktoken(..) getenddatefrommaincontract(..) getpackageconfiguration(..) modifyresourcerecord(..) isuptodate(..) deleteresourcerecord(..) addresourcerecord(..) getwebspacesubdirectories(..) createwebspace(..) getwebhostingcategory(..) getavailablephpversions(..) get frommasteraccount(..) createwebstatssession(..) getwebspacequota(..) getwebhostingdetails(..) getwebuserids(..) getwebhostingcategories(..) hasproweb(..) createmysql(..) updatewebspace(..) setphpversion(..) createftpaccount(..) createwebspacesubdirectory(..) updateftpaccount(..) getprowebdomainnames(..) scheduleantivirlicenseactivation(..) sendsupportrequest(..) addantivirlicense(..) getincreasebandwidthresult(..) getorderstaticipresult(..) queuesms(..) getmailquota(..) getsmsauthorizations(..) getantivirlicenselist(..) getftpquota(..) getsmsauthorization(..) sendsms(..) getsmsnumbers(..) getsmscontacts(..) activatesmsnumber(..) createsmstoken(..) getvirtualserverenvironment() createwlanaccount(..) orderstaticip(..) setsmsauthorizations(..) 45 3 getmysqlquota(..) 3 removesmscontact(..) addsmscontact(..) getdomains(..) gettopleveldomains(..) createsubdomain(..) reassigndomain(..) performdomainorder(..) isvalidcontact(..) deletesubdomain(..) isdomainfree(..) getdomaininfo(..) getfederalstateforzipcode(..) getdomaincategory(..) getvacationinfo(..) getmailaccounts(..) updatevacationinfo(..) reactivate virusscan(..) delete virusscan(..) add virusscan(..) removelistentryfromspamfilter(..) add alias(..) delete account(..) addlistentrytospamfilter(..) updatespamfilterconfiguration(..) create account(..) getspamfilterconfiguration(..) update forward(..) createtoken(..) getenddatefrommaincontract(..) getpackageconfiguration(..) getcustomeraccount(..) getaccountinfos(..) checklogin(..) getwebstatisticlink(..) getaccountnumberfordbuser(..) acknowledgednstermsofuse(..) hasacknowledgeddnstermsofuse(..) getmyadminloginlink(..) printcontractconfirmation(..) updatecsspassword(..) updateaccountpassword(..) checktoken(..) deletetoken(..) <<execution container>> <<execution container>> css $ 5300 <<execution container>> css <<execution container>> @5:..AccountService Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 9 / 5

42 Reverse Engineering of C# Complete Test Suite for Nordic Analytics [Magedanz 0] Reverse Engineering Reverse Engineering von C# Case study at HSH Nordbank AG. Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 30 / 5

43 After selecting one use case Reverse Engineering of C# Reverse Engineering Reverse Engineering von C# $ @5:..cSecurityDetailsCFP @48:..cConvexityAdjustmentModel @3:..cSecurityDependency @3:..cVaRMethodFactory @4:..cPricingParamsCFP @50:..cAccruedInterestCalculator Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 3 / 5

44 Zoom to the operation level Reverse Engineering of C# Reverse Engineering Reverse Engineering von IsShortRateMC(..) CreateSwaptionPricing(..) Price(..) InitializeLMMPricing(..) InitializeCommodityMCPricing(..) InitializeIndexMCPricing(..) IsHistoricalSecurity(..) AddIPricingResults(..) GetPricingResult(..) Price(..) $ 4 PriceSwaption(..) SetContactMessage() ReadObjectsFromFile(..) WriteObjectsToFile(..) ClearPools() EvaluateJob(..) GetVersionNumber() GetCompilationDate() 6 SetResultProperties(..) GetObject(..) SetJobPart(..) PriceSwaption(..) GetVolatility(..) AddResultProperty(..) AddResultProperty(..) CreateObject(..) CreateObject(..) GetOutConverter(..) WriteLogInfo(..) WriteLogInfo(..) InitializeTemplateObjects() SetStoreLossDistributions() InitializeUsageTracking() InitializePartialJobs(..) GetUseUsageTracking(..) Evaluate() InitializeMarketDataUsageTracking() GetValuationDate() <<assembly 8 InitializeObjectTracking(..) GetObject(..) MarketDataUsageCheck() BuildNotBuiltDefaultCurves() ClearIntermediateObjects() ToString() BuildDateGrids(..) GetSwaptionValueEvaluationType(..) GetBlackScholesOptionType(..) StoreAdditionalPricingResults(..) FairRate(..) CreateObject(..) CreateObjectPreProcessing(..) GetObjects(..) Objects(..) JobPartObjects(..) ReplaceDependence(..) Vega(..) PriceFixLeg(..) InitializeMethodAssetClassSpecification() ReadMethodAssetClassSpecification(..) GetDefaultIRSubModelType(..) Create(..) ReadObjectsTable(..) InitMembersWithCorrespondingNullValues() Initialize(..) 4 InitializeObjects() CopyOrId(..) FindCollections(..) SetCollectionObjects(..) GetObjectSignatures(..) CheckObjectsAreUnique(..) GetObjects(..) Objects(..) GetEndDate() GetSwapTenor() PriceFixCF(..) ReadDescriptionTableProperties(..) ReadObjectsTable(..) CheckNumberOfObjects(..) ProveOfUniqueObjects(..) ReadObjects(..) Insert(..) 4 8 ReadDescriptionTableProperties(..) GetSwapTenorTime() GetHashCode() ReadCurrencyProperty(..) GetDependencyHandle() ReplaceDependence() GetObject(..) GetDependencies() GetObjects() Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 3 / 5

45 Zoom to the operation level Reverse Engineering of C# Reverse Engineering Reverse Engineering von GetEndDate() 4 GetSwapTenor() @3:NordicAnalyticsProject.Engine.Securities.cAccrualConvention BuildDateGrids(..) 50 GetAdditionalDays(..) <assembly component>> valuation.pricingmodels.swaption.cswaptionpricinganalytic eswaption(..) tvolatility(..) GetSwaptionValueEvaluationType(..) GetBlackScholesOptionType(..) Vega(..) OptionValue(..) aptionpricingresult sultproperty(..) PriceFixLeg(..) 0 PriceFixCF(..) sultproperty(..) PriceFloatLeg(..) 0 PriceFloatCF(..) 686 InitializeMethodAssetClassSpecification() ReadMethodAssetClassSpecification(..) CreateInstance(..) Hasselbring, Jung (CAU) Application Monitoring with Kieker SPP Design for Future 3 / 5

46 Reverse Engineering of COBOL With consideration of non-instrumented modules [Knoche et al. 0] Reverse Engineering Reverse Engineering of COBOL IDENTIFICATION DIVISION. PROGRAM-ID. MODULE-X. Literal block PROCEDURE DIVISION. CALL "MODULE-Y". GOBACK. Before-Call Injection Point Called Module: "MODULE-Y" Literal block AOP-based COBOL instrumentation MODULE-B $ MODULE-A MODULE-C MODULE-D MODULE-E Module-level call dependency graph with assumed dependencies Case study of b+m Informatik AG (Kieker extensions by Holger Knoche): Industrial context with more than.000 COBOL modules probes with 4 probe types. Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 33 / 5

47 Analysis of a PC COBOL System [Richter 0] Reverse Engineering Reverse Engineering of COBOL Abbildung 6.5: Komponentenabhängigkeits-Modell der Menü-Navigation; Extrahiert aus den Monitoringdaten @8:REALIA_FINDCLOSE Ergebnisse der Evaluation Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 34 / 5

48 Reverse Engineering of Visual Basic 6 Analysis of specific traces Reverse Engineering Reverse Engineering of VB 6 frmlogin.cmdok_click() frmlogin.anwendung() frmmain.mdiform_load() Module.Main() frmlogin.form_load() frmakte.tool_menu_begin() frmlogin.txtpassword_gotfocus() frmakte.ob_frei() $ frmmain.mnudatafrmakte_click() frmakte.form_resize() frmakte.form_load() frmakte.ob_sperren() frmakte.felder_sperren() frmakte.option_click(integer) clsklasse.class_initialize() clsklasse.pruef_user() clsklasse.pruef_abt() clsklasse.pruef_rechte() BENUTZER.select() ABTEILUNG.select() BENABT.select() frmakte.felder_frei() frmakte.setbuttons(boolean) AKTE.select() clsklasse.adoprimaryrs_movecomplete(adodb.eventreasonenum, ADODB.Error, ADODB.EventStatusEnum, ADODB.Recordset) frmakte.suchen() frmakte.felder_sichern() 8 clsklasse.class_getdatamember(string, Object) frmakte.cmdedit_click() frmakte.indexposlesen() IPOS.select() frmakte.pruefung_ob() frmakte.fuehrende_nullen(long) frmakte.txtfields_change(integer) frmakte.daten_binden() 6 frmakte.tool_menu_edit() frmakte.abteilung() frmakte.rtxtboxtitel_change() frmakte.rtxtboxenthaelt_change() Case study at Dataport (Kieker extensions by Holger Knoche). Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 35 / 5

49 cmdupdate_click Detection of unused code Reverse Engineering of Visual Form_KeyDown Basic 6 Reverse Engineering Reverse Engineering of VB 6 SetButtons.847 ms mnufileclose_click mnueditundo_click cmdnext_click frmstat cmdlast_click cmdfirst_click cmdclose_click 85 Abt_Akte_del Ben_BenAb ipos_loesch Statistik 6.7 ms ms Abt_Zus_del 76 Ausgabe cmd_start_click abt_suchen ms Form_Load MouseWheel mnufilestart_click ms txt_abt_gotfocus Zeile mnuhelpabout_click MSHFlexGrid_RowColChange EditingRecord Itext_neu Add IndexNeu mnuhelpsearchforhelpon_click 3.9 ms Zus_Akte_del ms Form_KeyDown Ben_neu Abt_n cmdclose_click 83 mnuhelpcontents_click mnufileexit_click cmd_druck_click AkteLoeschen Zus_Itext_del Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 36 / 5

50 Agenda Capacity Management Monitoring for Dynamic Analysis Kieker Monitoring & Analysis Framework 3 Failure Detection 4 Reverse Engineering 5 Capacity Management 6 Kieker Hands On 7 Summary and Outlook Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 37 / 5

51 Online Capacity Management SLAstic Framework (Ph.D. thesis of André van Hoorn) Capacity Management instrumented, runtime reconfigurable s/w system... instrumentation SLAstic model SLAstic. MONITORING raw monitoring records monitoring events SLAstic.CONTROL SLAstic. RECONFIGURATION reconfiguration actions reconfiguration plans architecture technology initialization extraction SLAstic model Analysis online adaptation engine Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 38 / 5

52 In SPP 593: iobserve Capacity Management bserve Page 0 Integrated Observation and Modeling Techniques to Support Adaptation and Evolution of Software Systems reated to prescribe properties of a planned system. Descriptive models describe systems as they have een realized. In our approach, observation data is fed into descriptive models@runtime. <<references>> <<references>> Figure 3: Descriptive Models and their relation to the software system Models@Runtime for Managed Software Evolution. The scenario described in Figure 3, resembles a software system running on an infrastructure serice (IaaS ) utilizing software services (Service ). The boxes on the left represent the four models we erive from previous work in the context of our integrated observation and anomaly detection project. he Software Metrics Meta Model (SMM) [77] is one of the meta model specifications developed by he Hasselbring, Architecture-Driven Jung (CAU) Modernization Application (ADM) Performance Task Force, Monitoringa with sub-committee Kieker of the SPPObject Design for Future Management 39 / 5

53 Agenda Kieker Hands On Monitoring for Dynamic Analysis Kieker Monitoring & Analysis Framework 3 Failure Detection 4 Reverse Engineering 5 Capacity Management 6 Kieker Hands On 7 Summary and Outlook Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 40 / 5

54 The Bookstore Kieker Hands On <<SystemAssembly>> BookstoreSystem <<Component>> Bookstore <<Component>> Catalog <<Component>> CRM Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 4 / 5

55 Instrumentation by Hand Example: Monitoring of Operation Executions Kieker Hands On public class CRM { private final Catalog catalog; public CRM(final Catalog catalog) { this.catalog = catalog; } } public void getoffers() { this.catalog.getbook(false); } Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 4 / 5

56 Example: Component CRM Add Operation Execution Probe Kieker Hands On private static final IMonitoringController MONITORING_CONTROLLER = MonitoringController.getInstance(); public void getoffers() { final long tin = MONITORING_CONTROLLER.getTimeSource().getTime(); catalog.getbook(false); // <-- the monitored execution final long tout = MONITORING_CONTROLLER.getTimeSource().getTime(); } final OperationExecutionRecord e = new OperationExecutionRecord( "public void Catalog.getBook(boolean)", NO_SESSION_ID, NO_TRACEID, tin, tout, "myhost", NO_EOI_ESS, NO_EOI_ESS); MONITORING_CONTROLLER.newMonitoringRecord(e); Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 43 / 5

57 Full Instrumentation with Kieker Kieker Hands On AOP Konfiguration META-INF/aop.xml <!DOCTYPE aspectj PUBLIC "-//AspectJ//DTD//EN" " dtd/aspectj 5_0.dtd"> <aspectj> <weaver options=""> <include within="*"/> </weaver> <aspects> <aspect name="kieker.monitoring.probe.aspectj.operationexecution. OperationExecutionAspectFull"/> </aspects> </aspectj> AspectJ $ java -javaagent:lib/kieker-.6_aspectj.jar -jar BookstoreApplication.jar 50 Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 44 / 5

58 Monitoring JPetStore Kieker Hands On 3-Layer Architecture Presentation layer: Struts Service layer: POJOs Persistence layer: ibatis Client HTTP HTTP struts.actionservlet ibatis JPetStore Apache Struts Presentation Layer Service Layer Persistence Layer ibatis DAO Framework SQL SQL DBMS ibatis JPetStore 5.0 ( Deployment Application Server (here: Jetty 7.6.7) SQL DBMS Server (here: HSQL) Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 45 / 5

59 JPetStore AOP Konfiguration Kieker Hands On Datei webapps/jpetstore/web-inf/classes/meta-inf/aop.xml <!DOCTYPE aspectj PUBLIC "-//AspectJ//DTD//EN" " dtd/aspectj 5_0.dtd"> <aspectj> <weaver options=""> <include within="org.mybatis.jpetstore..*"/> <include within="net.sourceforge.stripes.controller. DispatcherServlet"/> </weaver> <aspects> <aspect name="kieker.monitoring.probe.aspectj.operationexecution. OperationExecutionAspectFull"/> </aspects> </aspectj> Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 46 / 5

60 JPetStore Application Context Kieker Hands On Datei webapps/jpetstore/web-inf/applicationcontext.xml <beans xmlns=" [...]> [...] <!-- Kieker's instrumentation probes based on the Spring AOP interception framework --> <bean id="opemii" class="kieker.monitoring.probe.spring.executions. OperationExecutionMethodInvocationInterceptor" /> <aop:config> <aop:advisor advice-ref="opemii" pointcut="execution(public * org.mybatis.jpetstore..*.*(..))"/> </aop:config> [...] </beans> Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 47 / 5

61 Online Analysis Kieker Hands On Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 48 / 5

62 Online Analysis Kieker Hands On Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 48 / 5

63 Summary Summary and Outlook Kieker is... a framework for application monitoring and analysis, employed in various industry use cases, flexible and extensible. Kieker supports... Java, JEE (in production).net, VB6, Cobol (industry case studies) C, Perl (currently developed) Hasselbring, Jung (CAU) Application Performance Monitoring with Kieker SPP Design for Future 49 / 5

Application Performance Monitoring & Architecture Discovery with Kieker

Application Performance Monitoring & Architecture Discovery with Kieker Application Performance Monitoring & Architecture Discovery with Kieker Prof. Dr. Wilhelm (Willi) Hasselbring Competence Cluster Software Systems Engineering http://www.kosse-sh.de/ Software Engineering

More information

Open-Source-Software als Katalysator im Technologietransfer am Beispiel des Monitoring-Frameworks

Open-Source-Software als Katalysator im Technologietransfer am Beispiel des Monitoring-Frameworks Open-Source-Software als Katalysator im Technologietransfer am Beispiel des -Frameworks Wilhelm Hasselbring 1 & André van Hoorn 2 1 Kiel University (CAU) Software Engineering Group & 2 University of Stuttgart

More information

Tool-Supported Application Performance Problem Detection and Diagnosis. André van Hoorn. http://www.iste.uni-stuttgart.de/rss/

Tool-Supported Application Performance Problem Detection and Diagnosis. André van Hoorn. http://www.iste.uni-stuttgart.de/rss/ Tool-Supported Application Performance Problem Detection and Diagnosis University of Stuttgart Institute of Software Technology, Reliable Software Systems Group http://www.iste.uni-stuttgart.de/rss/ Agenda

More information

Continuous Monitoring of Software Services: Design and Application of the Kieker Framework

Continuous Monitoring of Software Services: Design and Application of the Kieker Framework Continuous Monitoring of Software Services: Design and Application of the Kieker André van Hoorn 1,3, Matthias Rohr 1,2, Wilhelm Hasselbring 1,3, Jan Waller 3, Jens Ehlers 3, Sören Frey 3, and Dennis Kieselhorst

More information

Capturing provenance information with a workflow monitoring extension for the Kieker framework

Capturing provenance information with a workflow monitoring extension for the Kieker framework Capturing provenance information with a workflow monitoring extension for the Kieker framework Peer C. Brauer Wilhelm Hasselbring Software Engineering Group, University of Kiel, Christian-Albrechts-Platz

More information

Self Adaptive Software System Monitoring for Performance Anomaly Localization

Self Adaptive Software System Monitoring for Performance Anomaly Localization 2011/06/17 Jens Ehlers, André van Hoorn, Jan Waller, Wilhelm Hasselbring Software Engineering Group Christian Albrechts University Kiel Application level Monitoring Extensive infrastructure monitoring,

More information

Towards Adaptive Monitoring of Java EE Applications

Towards Adaptive Monitoring of Java EE Applications Towards Adaptive onitoring of Java EE Applications Dušan Okanović #1, André van Hoorn 2, Zora Konjović #3, and ilan Vidaković #4 # Faculty of Technical Sciences, University of Novi Sad Fruškogorska 11,

More information

INSTITUT FÜR INFORMATIK

INSTITUT FÜR INFORMATIK INSTITUT FÜR INFORMATIK Performance Analysis of Legacy Perl Software via Batch and Interactive Trace Visualization Christian Zirkelbach, Wilhelm Hasselbring, Florian Fittkau, and Leslie Carr Bericht Nr.

More information

INSTITUT FÜR INFORMATIK

INSTITUT FÜR INFORMATIK INSTITUT FÜR INFORMATIK iobserve: Integrated Observation and Modeling Techniques to Support Adaptation and Evolution of Software Systems Wilhelm Hasselbring, Robert Heinrich, Reiner Jung, Andreas Metzger,

More information

ExplorViz: Visual Runtime Behavior Analysis of Enterprise Application Landscapes

ExplorViz: Visual Runtime Behavior Analysis of Enterprise Application Landscapes ExplorViz: Visual Runtime Behavior Analysis of Enterprise Application Landscapes Florian Fittkau, Sascha Roth, and Wilhelm Hasselbring 2015-05-27 Fittkau, Roth, Hasselbring ExplorViz: Visual Runtime Behavior

More information

Online Performance Anomaly Detection with

Online Performance Anomaly Detection with ΘPAD: Online Performance Anomaly Detection with Tillmann Bielefeld 1 1 empuxa GmbH, Kiel KoSSE-Symposium Application Performance Management (Kieker Days 2012) November 29, 2012 @ Wissenschaftszentrum Kiel

More information

Monitoring of Perl-based webapplications using Kieker

Monitoring of Perl-based webapplications using Kieker Monitoring of Perl-based webapplications using Kieker Nis Wechselberg Institut für Informatik Christian-Albrechts-Universität zu Kiel 2013-06-28 Nis Wechselberg (CAU Kiel) Perl-Monitoring 2013-06-28 1

More information

A Benchmark Engineering Methodology to Measure the Overhead of Application-Level Monitoring

A Benchmark Engineering Methodology to Measure the Overhead of Application-Level Monitoring A Benchmark Engineering Methodology to Measure the Overhead of Application-Level Monitoring Jan Waller and Wilhelm Hasselbring Department of Computer Science, Kiel University, Kiel, Germany {jwa, wha}@informatik.uni-kiel.de

More information

Scalable and Live Trace Processing with Kieker Utilizing Cloud Computing

Scalable and Live Trace Processing with Kieker Utilizing Cloud Computing Scalable and Live Trace Processing with Kieker Utilizing Cloud Computing Florian Fittkau, Jan Waller, Peer Brauer, and Wilhelm Hasselbring Department of Computer Science, Kiel University, Kiel, Germany

More information

INSTITUT FÜR INFORMATIK

INSTITUT FÜR INFORMATIK INSTITUT FÜR INFORMATIK Live Trace Visualization for System and Program Comprehension in Large Software Landscapes Florian Fittkau Bericht Nr. 1310 November 2013 ISSN 2192-6247 CHRISTIAN-ALBRECHTS-UNIVERSITÄT

More information

GECO: Automatic Generator-Composition for (Aspect-oriented) DSLs

GECO: Automatic Generator-Composition for (Aspect-oriented) DSLs GECO: Automatic Generator-Composition for (Aspect-oriented) DSLs Doctoral Symposium Reiner Jung Christian-Albrechts-Universität zu Kiel Institut für Informatik 26.02.2014 Domain-specific Languages Motivation

More information

GECO: Automatic Generator-Composition for (Aspect-oriented) DSLs

GECO: Automatic Generator-Composition for (Aspect-oriented) DSLs GECO: Automatic Generator-Composition for (Aspect-oriented) DSLs Doctoral Symposium - MODELS 2014 Reiner Jung Christian-Albrechts-University Kiel, Germany 30.09.2014 Domain-specific Languages Motivation

More information

Continuous Integration in Kieker

Continuous Integration in Kieker 28. November 2014 @ Stuttgart, Germany Continuous Integration in Kieker (Experience Report) Nils Christian Ehmke, Christian Wulf, and Wilhelm Hasselbring Software Engineering Group, Kiel University, Germany

More information

KPDAYS 13 Symposium on Software Performance: Joint Kieker/Palladio Days 2013. Karlsruhe, Germany, November 27 29, 2013 Proceedings

KPDAYS 13 Symposium on Software Performance: Joint Kieker/Palladio Days 2013. Karlsruhe, Germany, November 27 29, 2013 Proceedings Steffen Becker André van Hoorn Wilhelm Hasselbring Ralf Reussner (Eds.) KPDAYS 13 Symposium on Software Performance: Joint Kieker/Palladio Days 2013 Karlsruhe, Germany, November 27 29, 2013 Proceedings

More information

Evaluation of Technologies for Communication between Monitoring and Analysis Component in Kieker

Evaluation of Technologies for Communication between Monitoring and Analysis Component in Kieker Evaluation of Technologies for Communication between Monitoring and Analysis Component in Kieker Bachelor s Thesis Jan Beye September 26, 2013 Kiel University Department of Computer Science Software Engineering

More information

A Comparison of the Influence of Different Multi-Core Processors on the Runtime Overhead for Application-Level Monitoring

A Comparison of the Influence of Different Multi-Core Processors on the Runtime Overhead for Application-Level Monitoring A Comparison of the Influence of Different Multi-Core Processors on the Runtime Overhead for Application-Level Monitoring Jan Waller 1 and Wilhelm Hasselbring 1,2 1 Software Engineering Group, Christian-Albrechts-University

More information

Development of a Concurrent and Distributed Analysis Framework for Kieker

Development of a Concurrent and Distributed Analysis Framework for Kieker Development of a Concurrent and Distributed Analysis Framework for Kieker Master s Thesis Nils Christian Ehmke October 5, 213 Kiel University Department of Computer Science Software Engineering Group Advised

More information

Performance Benchmarking of Application Monitoring Frameworks

Performance Benchmarking of Application Monitoring Frameworks Performance Benchmarking of Application Monitoring Frameworks Jan Waller 2014/5 Kiel Computer Science Series Performance Benchmarking of Application Monitoring Frameworks Dissertation Jan Waller Dissertation

More information

Utilizing PCM for Online Capacity Management of Component-Based Software Systems

Utilizing PCM for Online Capacity Management of Component-Based Software Systems Utilizing PCM for Online Capacity Management of Component-Based Software Systems André van Hoorn Software Engineering Group, University of Kiel http://se.informatik.uni-kiel.de/ Nov. 18, 2011 @ Palladio

More information

Towards Performance Awareness in Java EE Development Environments

Towards Performance Awareness in Java EE Development Environments Towards Performance Awareness in Java EE Development Environments Alexandru Danciu 1, Andreas Brunnert 1, Helmut Krcmar 2 1 fortiss GmbH Guerickestr. 25, 80805 München, Germany {danciu, brunnert}@fortiss.org

More information

Performance Monitoring of Database Operations

Performance Monitoring of Database Operations Performance Monitoring of Database Operations Master s Thesis Christian Zirkelbach July 26, 2015 Kiel University Department of Computer Science Software Engineering Group Advised by: Prof. Dr. Wilhelm

More information

INSTITUT FÜR INFORMATIK

INSTITUT FÜR INFORMATIK INSTITUT FÜR INFORATIK Open-Source Software as Catalyzer for Technology Transfer: Kieker s Development and Lessons Learned Wilhelm Hasselbring and André van Hoorn Bericht Nr. 1508 August 2015 ISSN 2192-6247

More information

A COMPARISON OF AOP BASED MONITORING TOOLS

A COMPARISON OF AOP BASED MONITORING TOOLS STUDIA UNIV. BABEŞ BOLYAI, INFORMATICA, Volume LVI, Number 3, 2011 A COMPARISON OF AOP BASED MONITORING TOOLS GRIGORETA S. COJOCAR AND DAN COJOCAR Abstract. The performance requirements of a software system

More information

Microservices for Scalability

Microservices for Scalability Microservices for Scalability Keynote at ICPE 2016, Delft, NL Prof. Dr. Wilhelm (Willi) Hasselbring Software Engineering Group, Kiel University, Germany http://se.informatik.uni-kiel.de/ Competence Cluster

More information

Hora: Online Failure Prediction Framework for Component-based Software Systems Based on Kieker and Palladio

Hora: Online Failure Prediction Framework for Component-based Software Systems Based on Kieker and Palladio Hora: Online Failure Prediction Framework for Component-based Software Systems Based on Kieker and Palladio Teerat Pitakrat Institute of Software Technology University of Stuttgart Universitätstraße 38

More information

Oracle WebLogic Server 11g: Administration Essentials

Oracle WebLogic Server 11g: Administration Essentials Oracle University Contact Us: 1.800.529.0165 Oracle WebLogic Server 11g: Administration Essentials Duration: 5 Days What you will learn This Oracle WebLogic Server 11g: Administration Essentials training

More information

KIEKER: CONTINUOUS MONITORING AND ON DEMAND VISUALIZATION OF JAVA SOFTWARE BEHAVIOR

KIEKER: CONTINUOUS MONITORING AND ON DEMAND VISUALIZATION OF JAVA SOFTWARE BEHAVIOR KIEKER: CONTINUOUS ONITORING AND ON DEAND VISUALIZATION OF JAVA SOFTWARE BEHAVIOR atthias Rohr, André van Hoorn, Jasminka atevska, Nils Sommer, Lena Stoever, Simon Giesecke, Wilhelm Hasselbring Software

More information

Application Performance Monitoring: Trade-Off between Overhead Reduction and Maintainability

Application Performance Monitoring: Trade-Off between Overhead Reduction and Maintainability Application Performance Monitoring: Trade-Off between Overhead Reduction and Maintainability Jan Waller, Florian Fittkau, and Wilhelm Hasselbring Department of Computer Science, Kiel University, Kiel,

More information

11.1 inspectit. 11.1. inspectit

11.1 inspectit. 11.1. inspectit 11.1. inspectit Figure 11.1. Overview on the inspectit components [Siegl and Bouillet 2011] 11.1 inspectit The inspectit monitoring tool (website: http://www.inspectit.eu/) has been developed by NovaTec.

More information

Evaluation of Alternative Instrumentation Frameworks

Evaluation of Alternative Instrumentation Frameworks Evaluation of Alternative Instrumentation Frameworks Dušan Okanović, Milan Vidaković Faculty of Technical Sciences University of Novi Sad Fruškogorska 11 Novi Sad, Serbia oki@uns.ac.rs minja@uns.ac.rs

More information

Introducing Performance Engineering by means of Tools and Practical Exercises

Introducing Performance Engineering by means of Tools and Practical Exercises Introducing Performance Engineering by means of Tools and Practical Exercises Alexander Ufimtsev, Trevor Parsons, Lucian M. Patcas, John Murphy and Liam Murphy Performance Engineering Laboratory, School

More information

Holistic Performance Analysis of J2EE Applications

Holistic Performance Analysis of J2EE Applications Holistic Performance Analysis of J2EE Applications By Madhu Tanikella In order to identify and resolve performance problems of enterprise Java Applications and reduce the time-to-market, performance analysis

More information

Application Performance Monitoring: Trade-Off between Overhead Reduction and Maintainability

Application Performance Monitoring: Trade-Off between Overhead Reduction and Maintainability Application Performance Monitoring: Trade-Off between Overhead Reduction and Maintainability Jan Waller, Florian Fittkau, and Wilhelm Hasselbring 2014-11-27 Waller, Fittkau, Hasselbring Application Performance

More information

SPECjEnterprise2010 & Java Enterprise Edition (EE) PCM Model Generation DevOps Performance WG Meeting 2014-07-11

SPECjEnterprise2010 & Java Enterprise Edition (EE) PCM Model Generation DevOps Performance WG Meeting 2014-07-11 SPECjEnterprise2010 & Java Enterprise Edition (EE) PCM Model Generation DevOps Performance WG Meeting 2014-07-11 Andreas Brunnert Performance & Virtualization Group, Information Systems Division fortiss

More information

SERVICE LEVEL AGREEMENT XML SCHEMA FOR SOFTWARE QUALITY ASSURANCE

SERVICE LEVEL AGREEMENT XML SCHEMA FOR SOFTWARE QUALITY ASSURANCE 1. Dušan OKANOVIĆ, 2. Milan VIDAKOVIĆ, 3. Zora KONJOVIĆ SERVICE LEVEL AGREEMENT XML SCHEMA FOR SOFTWARE QUALITY ASSURANCE 1. FACULTY OF TECHNICAL SCIENCES, NOVI SAD, SERBIA ABSTRACT: In order to assure

More information

Performance Modeling for Web based J2EE and.net Applications

Performance Modeling for Web based J2EE and.net Applications Performance Modeling for Web based J2EE and.net Applications Shankar Kambhampaty, and Venkata Srinivas Modali Abstract When architecting an application, key nonfunctional requirements such as performance,

More information

Performance Monitoring for a Web-based Information System

Performance Monitoring for a Web-based Information System University of Kiel Department of Computer Science Software Engineering Group Bachelor Thesis Performance Monitoring for a Web-based Information System Written by: Lars Kroll (lkr@informatik.uni-kiel.de)

More information

5 Days Course on Oracle WebLogic Server 11g: Administration Essentials

5 Days Course on Oracle WebLogic Server 11g: Administration Essentials PROFESSIONAL TRAINING COURSE 5 Days Course on Oracle WebLogic Server 11g: Administration Essentials Two Sigma Technologies 19-2, Jalan PGN 1A/1, Pinggiran Batu Caves, 68100 Batu Caves, Selangor Tel: 03-61880601/Fax:

More information

Operations and Monitoring with Spring

Operations and Monitoring with Spring Operations and Monitoring with Spring Eberhard Wolff Regional Director and Principal Consultant SpringSource Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission

More information

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The

More information

Integrating the Palladio-Bench into the Software Development Process of a SOA Project

Integrating the Palladio-Bench into the Software Development Process of a SOA Project Integrating the Palladio-Bench into the Software Development Process of a SOA Project Andreas Brunnert 1, Alexandru Danciu 1, Christian Vögele 1, Daniel Tertilt 1, Helmut Krcmar 2 1 fortiss GmbH Guerickestr.

More information

SOA management challenges. After completing this topic, you should be able to: Explain the challenges of managing an SOA environment

SOA management challenges. After completing this topic, you should be able to: Explain the challenges of managing an SOA environment Managing SOA Course materials may not be reproduced in whole or in part without the prior written permission of IBM. 4.0.3 4.0.3 Unit objectives After completing this unit, you should be able to: Explain

More information

Evaluation of Control Flow Traces in Software Applications for Intrusion Detection

Evaluation of Control Flow Traces in Software Applications for Intrusion Detection Appeared in Proceedings of the 12th IEEE International ultitopic Conference (IEEE INIC 2008), pages 373 378. IEEE. Dec. 2008. Evaluation of Control Flow Traces in Software Applications for Intrusion Detection

More information

Winning the J2EE Performance Game Presented to: JAVA User Group-Minnesota

Winning the J2EE Performance Game Presented to: JAVA User Group-Minnesota Winning the J2EE Performance Game Presented to: JAVA User Group-Minnesota Michelle Pregler Ball Emerging Markets Account Executive Shahrukh Niazi Sr.System Consultant Java Solutions Quest Background Agenda

More information

Scalable and Live Trace Processing in the Cloud

Scalable and Live Trace Processing in the Cloud Scalable and Live Trace Processing in the Cloud Bachelor s Thesis Phil Stelzer April 7, 2014 Kiel University Department of Computer Science Software Engineering Group Advised by: Prof. Dr. Wilhelm Hasselbring

More information

Internet Engineering: Web Application Architecture. Ali Kamandi Sharif University of Technology kamandi@ce.sharif.edu Fall 2007

Internet Engineering: Web Application Architecture. Ali Kamandi Sharif University of Technology kamandi@ce.sharif.edu Fall 2007 Internet Engineering: Web Application Architecture Ali Kamandi Sharif University of Technology kamandi@ce.sharif.edu Fall 2007 Centralized Architecture mainframe terminals terminals 2 Two Tier Application

More information

Converting Java EE Applications into OSGi Applications

Converting Java EE Applications into OSGi Applications Converting Java EE Applications into OSGi Applications Author: Nichole Stewart Date: Jan 27, 2011 2010 IBM Corporation THE INFORMATION CONTAINED IN THIS REPORT IS PROVIDED FOR INFORMATIONAL PURPOSES ONLY.

More information

Concern Highlight: A Tool for Concern Exploration and Visualization

Concern Highlight: A Tool for Concern Exploration and Visualization Concern Highlight: A Tool for Concern Exploration and Visualization Eugen C. Nistor André van der Hoek Department of Informatics School of Information and Computer Sciences University of California, Irvine

More information

WebSphere Application Server - Introduction, Monitoring Tools, & Administration

WebSphere Application Server - Introduction, Monitoring Tools, & Administration WebSphere Application Server - Introduction, Monitoring Tools, & Administration presented by: Michael S. Pallos, MBA Senior Solution Architect IBM Certified Systems Expert: WebSphere MQ 5.2 e-business

More information

IBM WebSphere Server Administration

IBM WebSphere Server Administration IBM WebSphere Server Administration This course teaches the administration and deployment of web applications in the IBM WebSphere Application Server. Duration 24 hours Course Objectives Upon completion

More information

Towards a Performance Model Management Repository for Component-based Enterprise Applications

Towards a Performance Model Management Repository for Component-based Enterprise Applications Austin, TX, USA, 2015-02-04 Towards a Performance Model Management Repository for Component-based Enterprise Applications Work-in-Progress Paper (WiP) International Conference on Performance Engineering

More information

WebSphere Server Administration Course

WebSphere Server Administration Course WebSphere Server Administration Course Chapter 1. Java EE and WebSphere Overview Goals of Enterprise Applications What is Java? What is Java EE? The Java EE Specifications Role of Application Server What

More information

JAVA/J2EE DEVELOPER RESUME

JAVA/J2EE DEVELOPER RESUME 1 of 5 05/01/2015 13:22 JAVA/J2EE DEVELOPER RESUME Java Developers/Architects Resumes Please note that this is a not a Job Board - We are an I.T Staffing Company and we provide candidates on a Contract

More information

Beginning POJOs. From Novice to Professional. Brian Sam-Bodden

Beginning POJOs. From Novice to Professional. Brian Sam-Bodden Beginning POJOs From Novice to Professional Brian Sam-Bodden Contents About the Author Acknowledgments Introduction.XIII xv XVII CHAPTER1 Introduction The Java EE Market Case Study: The TechConf Website...

More information

This training is targeted at System Administrators and developers wanting to understand more about administering a WebLogic instance.

This training is targeted at System Administrators and developers wanting to understand more about administering a WebLogic instance. This course teaches system/application administrators to setup, configure and manage an Oracle WebLogic Application Server, its resources and environment and the Java EE Applications running on it. This

More information

Architecture Rules Enforcement and Governance Using Aspects

Architecture Rules Enforcement and Governance Using Aspects Architecture Rules Enforcement and Governance Using Aspects Srini Penchikala SATURN 2009 About the Speaker Enterprise Architect Writer, Speaker, Editor (InfoQ) Detroit Java User Group Leader Working with

More information

EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH CERN ACCELERATORS AND TECHNOLOGY SECTOR A REMOTE TRACING FACILITY FOR DISTRIBUTED SYSTEMS

EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH CERN ACCELERATORS AND TECHNOLOGY SECTOR A REMOTE TRACING FACILITY FOR DISTRIBUTED SYSTEMS EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH CERN ACCELERATORS AND TECHNOLOGY SECTOR CERN-ATS-2011-200 A REMOTE TRACING FACILITY FOR DISTRIBUTED SYSTEMS F. Ehm, A. Dworak, CERN, Geneva, Switzerland Abstract

More information

A Case Study on Model-Driven and Conventional Software Development: The Palladio Editor

A Case Study on Model-Driven and Conventional Software Development: The Palladio Editor A Case Study on Model-Driven and Conventional Software Development: The Palladio Editor Klaus Krogmann, Steffen Becker University of Karlsruhe (TH) {krogmann, sbecker}@ipd.uka.de Abstract: The actual benefits

More information

Course Description. Course Audience. Course Outline. Course Page - Page 1 of 5

Course Description. Course Audience. Course Outline. Course Page - Page 1 of 5 Course Page - Page 1 of 5 WebSphere Application Server 7.0 Administration on Windows BSP-1700 Length: 5 days Price: $ 2,895.00 Course Description This course teaches the basics of the administration and

More information

Automatic Extraction of Probabilistic Workload Specifications for Load Testing Session-Based Application Systems

Automatic Extraction of Probabilistic Workload Specifications for Load Testing Session-Based Application Systems Bratislava, Slovakia, 2014-12-10 Automatic Extraction of Probabilistic Workload Specifications for Load Testing Session-Based Application Systems André van Hoorn, Christian Vögele Eike Schulz, Wilhelm

More information

FUSE-ESB4 An open-source OSGi based platform for EAI and SOA

FUSE-ESB4 An open-source OSGi based platform for EAI and SOA FUSE-ESB4 An open-source OSGi based platform for EAI and SOA Introduction to FUSE-ESB4 It's a powerful OSGi based multi component container based on ServiceMix4 http://servicemix.apache.org/smx4/index.html

More information

WEBSPHERE APPLICATION SERVER ADMIN V8.5 (on Linux and Windows) WITH REAL-TIME CONCEPTS & REAL-TIME PROJECT

WEBSPHERE APPLICATION SERVER ADMIN V8.5 (on Linux and Windows) WITH REAL-TIME CONCEPTS & REAL-TIME PROJECT WEBSPHERE APPLICATION SERVER ADMIN V8.5 (on Linux and Windows) WITH REAL-TIME CONCEPTS & REAL-TIME PROJECT Faculty Name Experience Course Duration Madhav (Certified Middleware Professional) Certified on

More information

On the Specification of Non-Functional Properties of Systems by Observation

On the Specification of Non-Functional Properties of Systems by Observation On the Specification of Non-Functional Properties of Systems by Observation Javier Troya, José E. Rivera and Antonio Vallecillo GISUM/Atenea Research Group. Universidad de Málaga, Spain {javiertc,rivera,av}@lcc.uma.es

More information

Glassbox: Open Source and Automated Application Troubleshooting. Ron Bodkin Glassbox Project Leader ron.bodkin@glasssbox.com

Glassbox: Open Source and Automated Application Troubleshooting. Ron Bodkin Glassbox Project Leader ron.bodkin@glasssbox.com Glassbox: Open Source and Automated Application Troubleshooting Ron Bodkin Glassbox Project Leader ron.bodkin@glasssbox.com First a summary Glassbox is an open source automated troubleshooter for Java

More information

Realization Strategies for Rich Clients by Web Services

Realization Strategies for Rich Clients by Web Services Realization Strategies for Rich Clients by Web Services Master Thesis Kingkarn Sriprasarn, 26.04.2005 RWTH Aachen Lehrstuhl für Informatik V Prof. Dr. Matthias Jarke Institut für Sprach- und Kommunikationswissenschaft

More information

How to Build an E-Commerce Application using J2EE. Carol McDonald Code Camp Engineer

How to Build an E-Commerce Application using J2EE. Carol McDonald Code Camp Engineer How to Build an E-Commerce Application using J2EE Carol McDonald Code Camp Engineer Code Camp Agenda J2EE & Blueprints Application Architecture and J2EE Blueprints E-Commerce Application Design Enterprise

More information

WebSphere Business Modeler

WebSphere Business Modeler Discovering the Value of SOA WebSphere Process Integration WebSphere Business Modeler Workshop SOA on your terms and our expertise Soudabeh Javadi Consulting Technical Sales Support WebSphere Process Integration

More information

Mohammed Khan SUMMARY

Mohammed Khan SUMMARY Mohammed Khan E-mail: Mohammedrkhn@gmail.com Phone: 347-878-1170 SUMMARY Over 5 years of diversified experience as a. Experience includes requirement analysis, manual testing and automation and quality

More information

Efficient Monitoring of OSGi Applications

Efficient Monitoring of OSGi Applications Degree project Efficient Monitoring of OSGi Applications Author: Portero Aníbal Supervisor: Abbas Nadeem Date: 2013-08-27 Course Code: 2DV00E, 15 credits Level: Bachelor Department of Computer Science

More information

WEBAPP PATTERN FOR APACHE TOMCAT - USER GUIDE

WEBAPP PATTERN FOR APACHE TOMCAT - USER GUIDE WEBAPP PATTERN FOR APACHE TOMCAT - USER GUIDE Contents 1. Pattern Overview... 3 Features 3 Getting started with the Web Application Pattern... 3 Accepting the Web Application Pattern license agreement...

More information

LDIF - Linked Data Integration Framework

LDIF - Linked Data Integration Framework LDIF - Linked Data Integration Framework Andreas Schultz 1, Andrea Matteini 2, Robert Isele 1, Christian Bizer 1, and Christian Becker 2 1. Web-based Systems Group, Freie Universität Berlin, Germany a.schultz@fu-berlin.de,

More information

Instrumentation Software Profiling

Instrumentation Software Profiling Instrumentation Software Profiling Software Profiling Instrumentation of a program so that data related to runtime performance (e.g execution time, memory usage) is gathered for one or more pieces of the

More information

Encapsulating Crosscutting Concerns in System Software

Encapsulating Crosscutting Concerns in System Software Encapsulating Crosscutting Concerns in System Software Christa Schwanninger, Egon Wuchner, Michael Kircher Siemens AG Otto-Hahn-Ring 6 81739 Munich Germany {christa.schwanninger,egon.wuchner,michael.kircher}@siemens.com

More information

Enterprise Application Development In Java with AJAX and ORM

Enterprise Application Development In Java with AJAX and ORM Enterprise Application Development In Java with AJAX and ORM ACCU London March 2010 ACCU Conference April 2010 Paul Grenyer Head of Software Engineering p.grenyer@validus-ivc.co.uk http://paulgrenyer.blogspot.com

More information

Research Article. ISSN 2347-9523 (Print) *Corresponding author Lili Wang Email: lily@nepu.edu.cn

Research Article. ISSN 2347-9523 (Print) *Corresponding author Lili Wang Email: lily@nepu.edu.cn Scholars Journal of Engineering and Technology (SJET) Sch. J. Eng. Tech., 2015; 3(4B):424-428 Scholars Academic and Scientific Publisher (An International Publisher for Academic and Scientific Resources)

More information

Oracle9i Data Warehouse Review. Robert F. Edwards Dulcian, Inc.

Oracle9i Data Warehouse Review. Robert F. Edwards Dulcian, Inc. Oracle9i Data Warehouse Review Robert F. Edwards Dulcian, Inc. Agenda Oracle9i Server OLAP Server Analytical SQL Data Mining ETL Warehouse Builder 3i Oracle 9i Server Overview 9i Server = Data Warehouse

More information

CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS

CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS Java EE Components Java EE Vendor Specifications Containers Java EE Blueprint Services JDBC Data Sources Java Naming and Directory Interface Java Message

More information

Java Metadata Interface and Data Warehousing

Java Metadata Interface and Data Warehousing Java Metadata Interface and Data Warehousing A JMI white paper by John D. Poole November 2002 Abstract. This paper describes a model-driven approach to data warehouse administration by presenting a detailed

More information

Oracle WebLogic Server 11g Administration

Oracle WebLogic Server 11g Administration Oracle WebLogic Server 11g Administration This course is designed to provide instruction and hands-on practice in installing and configuring Oracle WebLogic Server 11g. These tasks include starting and

More information

www.progress.com DEPLOYMENT ARCHITECTURE FOR JAVA ENVIRONMENTS

www.progress.com DEPLOYMENT ARCHITECTURE FOR JAVA ENVIRONMENTS DEPLOYMENT ARCHITECTURE FOR JAVA ENVIRONMENTS TABLE OF CONTENTS Introduction 1 Progress Corticon Product Architecture 1 Deployment Options 2 Invoking Corticon Decision Services 4 Corticon Rule Engine 5

More information

Model-Driven Data Warehousing

Model-Driven Data Warehousing Model-Driven Data Warehousing Integrate.2003, Burlingame, CA Wednesday, January 29, 16:30-18:00 John Poole Hyperion Solutions Corporation Why Model-Driven Data Warehousing? Problem statement: Data warehousing

More information

Oracle Identity Analytics Architecture. An Oracle White Paper July 2010

Oracle Identity Analytics Architecture. An Oracle White Paper July 2010 Oracle Identity Analytics Architecture An Oracle White Paper July 2010 Disclaimer The following is intended to outline our general product direction. It is intended for information purposes only, and may

More information

Web Application Testing. Web Performance Testing

Web Application Testing. Web Performance Testing Web Application Testing Web Performance Testing Objectives of Performance Testing Evaluate runtime compliance to performance requirements Check different properties such as throughput (bits/sec, packets/sec)

More information

Augmented Search for Web Applications. New frontier in big log data analysis and application intelligence

Augmented Search for Web Applications. New frontier in big log data analysis and application intelligence Augmented Search for Web Applications New frontier in big log data analysis and application intelligence Business white paper May 2015 Web applications are the most common business applications today.

More information

Approaching the Cloud: Using Palladio for Scalability, Elasticity, and Efficiency Analyses

Approaching the Cloud: Using Palladio for Scalability, Elasticity, and Efficiency Analyses Approaching the Cloud: Using Palladio for Scalability, Elasticity, and Efficiency Analyses Sebastian Lehrig Software Engineering Chair Chemnitz University of Technology Straße der Nationen 62 09107 Chemnitz,

More information

Deploying Rule Applications

Deploying Rule Applications White Paper Deploying Rule Applications with ILOG JRules Deploying Rule Applications with ILOG JRules White Paper ILOG, September 2006 Do not duplicate without permission. ILOG, CPLEX and their respective

More information

zen Platform technical white paper

zen Platform technical white paper zen Platform technical white paper The zen Platform as Strategic Business Platform The increasing use of application servers as standard paradigm for the development of business critical applications meant

More information

s@lm@n Oracle Exam 1z0-599 Oracle WebLogic Server 12c Essentials Version: 6.4 [ Total Questions: 91 ]

s@lm@n Oracle Exam 1z0-599 Oracle WebLogic Server 12c Essentials Version: 6.4 [ Total Questions: 91 ] s@lm@n Oracle Exam 1z0-599 Oracle WebLogic Server 12c Essentials Version: 6.4 [ Total Questions: 91 ] Question No : 1 How can you configure High Availability for interacting with a non-oracle database

More information

U.S. Navy Automated Software Testing

U.S. Navy Automated Software Testing U.S. Navy Automated Software Testing Application of Standards to the Automated Test and Re-Test (ATRT) Effort Object Management Group (OMG) Technical Meeting June 2007 Approved for public release; distribution

More information

Resource Provisioning in Clouds via Non-Functional Requirements

Resource Provisioning in Clouds via Non-Functional Requirements Resource Provisioning in Clouds via Non-Functional Requirements By Diana Carolina Barreto Arias Under the supervision of Professor Rajkumar Buyya and Dr. Rodrigo N. Calheiros A minor project thesis submitted

More information

Java EE Web Development Course Program

Java EE Web Development Course Program Java EE Web Development Course Program Part I Introduction to Programming 1. Introduction to programming. Compilers, interpreters, virtual machines. Primitive types, variables, basic operators, expressions,

More information

Performance Optimization For Operational Risk Management Application On Azure Platform

Performance Optimization For Operational Risk Management Application On Azure Platform Performance Optimization For Operational Risk Management Application On Azure Platform Ashutosh Sabde, TCS www.cmgindia.org 1 Contents Introduction Functional Requirements Non Functional Requirements Business

More information

Towards Integrating Modeling and Programming Languages: The Case of UML and Java

Towards Integrating Modeling and Programming Languages: The Case of UML and Java Towards Integrating Modeling and Programming Languages: The Case of UML and Java Patrick Neubauer, Tanja Mayerhofer, and Gerti Kappel Business Informatics Group, Vienna University of Technology, Austria

More information

WEBLOGIC ADMINISTRATION

WEBLOGIC ADMINISTRATION WEBLOGIC ADMINISTRATION Session 1: Introduction Oracle Weblogic Server Components Java SDK and Java Enterprise Edition Application Servers & Web Servers Documentation Session 2: Installation System Configuration

More information