尊敬的 微信汇率:1円 ≈ 0.046166 元 支付宝汇率:1円 ≈ 0.046257元 [退出登录]
SlideShare a Scribd company logo
Designing an Unobtrusive
Analytics Framework
for Monitoring Java Applications
Sampo Suonsyrjä and Tommi Mikkonen
Dept. of Pervasive Computing
Tampere University of Technology
Contents
•  Context
–  Paradigm change in
software development
–  Web apps vs. installable
programs
•  Motivation
–  Why the
unobtrusiveness?
•  Case
–  Vaadin framework as the
platform of a target program
–  The designed analytics
framework
•  Discussion
•  Conclusions
17.10.15 2
Paradigm Change in Software Development
•  Waterfall method and such
–  User involvement only before
development
–  Requirements defined before
any use
–  Systems remained the same
throughout their life
–  Changes in user
requirements? No more use!
Throw the cd away
•  Agile methods
–  Requirements defined as late
as possible
–  Users involved iteratively
–  More knowledge of what is
possible and needed
–  Developing less, but with a
greater accuracy
–  Changes in user requirements?
Order an extension to the sw.
dev. project
17.10.15 3
Paradigm Change and the First Frontier
•  Feedback with agile methods
–  User surveys, thinking aloud,
observations
–  Manually collected
qualitative data
–  Stops when development
stops
•  Continuous Delivery &
Deployment systems
–  New versions are delivered
faster than ever
–  Developing experiments, not
just reacting to requirements
–  Usage Data = results from
these experiments
–  Automatic collecting needed
•  Web as a platform for analytics
–  Channel is clear
–  Tools are available
–  A/B testing is easier than ever
–  Continuous experimentation
17.10.15 4
Why the Unobtrusiveness?
•  Collecting usage data leads to changes in the target program
•  Target program is continuously under change
•  Target program can be built by others
•  Data should remain
–  Collectable
–  Comparable between different versions
•  If data collecting is independent of the target..
•  ..then data collecting mechanism could be reused
17.10.15 5
Vaadin Framework
•  Open source framework
for developing Rich
Internet Applications
•  Applications are written
in Java..
•  ..and then transformed
into AJAX applications
17.10.15 6
Target Program
•  Demo app of the Vaadin
Framework
•  QuickTickets Dashboard
Demo
•  Source code available
•  Built by someone else
than the researchers
17.10.15 7
Target Program
public DashboardView() {
HorizontalLayout top = new HorizontalLayout();
addComponent(top);
Button notify = new Button('2');
Notify.addClickListener(
new ClickListener(){
...
});
top.addComponent(notify);
};
17.10.15 8
The Designed Framework for
Unobtrusive Analytics
•  AspectJ for usage
monitoring
•  Fluentd for collecting
•  ElasticSearch for storing
•  Kibana for visualizing
17.10.15 9
AspectJ
public aspect AddComponentListener {
pointcut addComponentCall(Button b):
call(* *.addComponent(*))&& args(b);
after(final Button b):addComponentCall(b)
{
b.addClickListener(
new Button.ClickListener()
{ public void
click(ClickEvent e) {
dataCollector.logEvent(b, e);
}
});
}}
public DashboardView() {
HorizontalLayout top = new
HorizontalLayout();
addComponent(top);
Button notify = new Button('2');
Notify.addClickListener(
new ClickListener(){
...
});
top.addComponent(notify);
};
17.10.15 10
AspectJ
•  Aspect-oriented programming is unobtrusive by
nature
•  No alteration of the original source code
•  Tooling is affected however
–  AspectJ dependency inserted
–  Aspect class file inserted
–  Normal compiling + aspect weaving
17.10.15 11
Fluentd
•  Implemented similarly as
aspects
–  Fluentd dependency added
–  A logging class added
•  Parses data into JSON
•  Sends data for storing
•  In this case, Fluentd was
installed and run on the same
machine as the target
program
17.10.15 12
Fluentd
public class DataLogger {
private static FluentLogger LOG =
FluentLogger.getLogger("button.click");
public void logButtonClick(Button b, ClickEvent event){
Map<String, Object> data = new HashMap<String, Object>();
data.put("Button Caption", b.getCaption());
data.put("Button ID", b.getId());
...
LOG.log("click", data);
}}
17.10.15 13
ElasticSearch and Kibana
•  ElasticSearch is document
oriented
•  Data was already in JSON
àName fields automatically
•  Real-time access with Kibana
•  Different visualizations readily
available
17.10.15 14
Discussion
•  RQ1: To what extent can a data collecting feature be
implemented without compromising the evolution of the target
program?
•  Usage monitoring inserted without changing the source code
•  Aspect and logging class files and dependencies inserted
•  Target application’s evolution was not compromised
–  No additional effort needed if new version has different buttons
–  However, if the new version introduces new ways of implementing
buttons aspects need changing as well
17.10.15 15
Discussion
•  RQ2: What types of data can be collected with the given
approach?
•  Aspect-oriented monitoring is flexible
–  Pointcuts could be made on a vast variety of different points
–  Advices can include almost arbitrary code
–  Access to the target program in source code level
•  Vaadin Framework provided an abundant platform for collecting data
•  Usage data collected in this case
•  Perhaps end-user feedback in the future?
17.10.15 16
Discussion
•  RQ3: How to connect the data collecting feature with an
analysis framework?
•  Aspect-code can be put to produce data in various formats
àUnified logging layer (Fluentd: JSON)
àPossibility to use standardized storing and visualization tools
àUseful when combining different kinds of data (access, error,
application logs etc.)
17.10.15 17
Conclusions
•  New means of getting feedback
from end-users are needed
à Analytics with usage data
•  New versions continuously
à Need for unobtrusiveness
à Aspect-oriented collecting
Thank you!
17.10.15 18

More Related Content

What's hot

MATLAB GUI Projects Research Ideas
MATLAB GUI Projects Research IdeasMATLAB GUI Projects Research Ideas
MATLAB GUI Projects Research Ideas
Matlab Simulation
 
Embedded World 2015: Internet of Things Changes the Definition of What a Prod...
Embedded World 2015: Internet of Things Changes the Definition of What a Prod...Embedded World 2015: Internet of Things Changes the Definition of What a Prod...
Embedded World 2015: Internet of Things Changes the Definition of What a Prod...
Intland Software GmbH
 
Roofline Model for FPGA: A tool for Performance Analysis and Application Opti...
Roofline Model for FPGA: A tool for Performance Analysis and Application Opti...Roofline Model for FPGA: A tool for Performance Analysis and Application Opti...
Roofline Model for FPGA: A tool for Performance Analysis and Application Opti...
NECST Lab @ Politecnico di Milano
 
Batch Process Analytics
Batch Process Analytics Batch Process Analytics
Batch Process Analytics
Emerson Exchange
 
Webinar: What is new in codeBeamer 7.6?
Webinar: What is new in codeBeamer 7.6?Webinar: What is new in codeBeamer 7.6?
Webinar: What is new in codeBeamer 7.6?
Intland Software GmbH
 
Using React.js to extend your CMS
Using React.js to extend your CMSUsing React.js to extend your CMS
Using React.js to extend your CMS
Nicola Richardson
 
Mint
MintMint
Mint
irexis
 
Reactive Integrations - Caveats and bumps in the road explained
Reactive Integrations - Caveats and bumps in the road explained  Reactive Integrations - Caveats and bumps in the road explained
Reactive Integrations - Caveats and bumps in the road explained
Markus Eisele
 
Network-Simulations-in-Qualnet
Network-Simulations-in-QualnetNetwork-Simulations-in-Qualnet
Network-Simulations-in-Qualnet
Phdtopiccom
 
QA Team Goes to Agile and Continuous integration
QA Team Goes to Agile and Continuous integrationQA Team Goes to Agile and Continuous integration
QA Team Goes to Agile and Continuous integration
Sujit Ghosh
 
Towards Scalable Validation of Low-Code System Models: Mapping EVL to VIATRA ...
Towards Scalable Validation of Low-Code System Models: Mapping EVL to VIATRA ...Towards Scalable Validation of Low-Code System Models: Mapping EVL to VIATRA ...
Towards Scalable Validation of Low-Code System Models: Mapping EVL to VIATRA ...
IncQuery Labs
 
databricks ml flow demonstration using automatic features engineering
databricks ml flow demonstration using automatic features engineeringdatabricks ml flow demonstration using automatic features engineering
databricks ml flow demonstration using automatic features engineering
Mohamed MEJDOUBI
 
Deploying GraphQL Services as Managed APIs
Deploying GraphQL Services as Managed APIsDeploying GraphQL Services as Managed APIs
Deploying GraphQL Services as Managed APIs
WSO2
 
Scrum
ScrumScrum
Scrum
Birol Efe
 
ALM iStack - Application Lifecycle Management using Linked Data
ALM iStack - Application Lifecycle Management using Linked Data ALM iStack - Application Lifecycle Management using Linked Data
ALM iStack - Application Lifecycle Management using Linked Data
Nandana Mihindukulasooriya
 
Lesson 2 software processes
Lesson 2   software processesLesson 2   software processes
Lesson 2 software processes
anointon
 
Practicing Agile in Offshore Environment
Practicing Agile in Offshore EnvironmentPracticing Agile in Offshore Environment
Practicing Agile in Offshore Environment
TO THE NEW | Technology
 
Application Lifecycle Management with Visual Studio 2013
Application Lifecycle Management  with Visual Studio 2013Application Lifecycle Management  with Visual Studio 2013
Application Lifecycle Management with Visual Studio 2013
Mahmoud Samara
 

What's hot (18)

MATLAB GUI Projects Research Ideas
MATLAB GUI Projects Research IdeasMATLAB GUI Projects Research Ideas
MATLAB GUI Projects Research Ideas
 
Embedded World 2015: Internet of Things Changes the Definition of What a Prod...
Embedded World 2015: Internet of Things Changes the Definition of What a Prod...Embedded World 2015: Internet of Things Changes the Definition of What a Prod...
Embedded World 2015: Internet of Things Changes the Definition of What a Prod...
 
Roofline Model for FPGA: A tool for Performance Analysis and Application Opti...
Roofline Model for FPGA: A tool for Performance Analysis and Application Opti...Roofline Model for FPGA: A tool for Performance Analysis and Application Opti...
Roofline Model for FPGA: A tool for Performance Analysis and Application Opti...
 
Batch Process Analytics
Batch Process Analytics Batch Process Analytics
Batch Process Analytics
 
Webinar: What is new in codeBeamer 7.6?
Webinar: What is new in codeBeamer 7.6?Webinar: What is new in codeBeamer 7.6?
Webinar: What is new in codeBeamer 7.6?
 
Using React.js to extend your CMS
Using React.js to extend your CMSUsing React.js to extend your CMS
Using React.js to extend your CMS
 
Mint
MintMint
Mint
 
Reactive Integrations - Caveats and bumps in the road explained
Reactive Integrations - Caveats and bumps in the road explained  Reactive Integrations - Caveats and bumps in the road explained
Reactive Integrations - Caveats and bumps in the road explained
 
Network-Simulations-in-Qualnet
Network-Simulations-in-QualnetNetwork-Simulations-in-Qualnet
Network-Simulations-in-Qualnet
 
QA Team Goes to Agile and Continuous integration
QA Team Goes to Agile and Continuous integrationQA Team Goes to Agile and Continuous integration
QA Team Goes to Agile and Continuous integration
 
Towards Scalable Validation of Low-Code System Models: Mapping EVL to VIATRA ...
Towards Scalable Validation of Low-Code System Models: Mapping EVL to VIATRA ...Towards Scalable Validation of Low-Code System Models: Mapping EVL to VIATRA ...
Towards Scalable Validation of Low-Code System Models: Mapping EVL to VIATRA ...
 
databricks ml flow demonstration using automatic features engineering
databricks ml flow demonstration using automatic features engineeringdatabricks ml flow demonstration using automatic features engineering
databricks ml flow demonstration using automatic features engineering
 
Deploying GraphQL Services as Managed APIs
Deploying GraphQL Services as Managed APIsDeploying GraphQL Services as Managed APIs
Deploying GraphQL Services as Managed APIs
 
Scrum
ScrumScrum
Scrum
 
ALM iStack - Application Lifecycle Management using Linked Data
ALM iStack - Application Lifecycle Management using Linked Data ALM iStack - Application Lifecycle Management using Linked Data
ALM iStack - Application Lifecycle Management using Linked Data
 
Lesson 2 software processes
Lesson 2   software processesLesson 2   software processes
Lesson 2 software processes
 
Practicing Agile in Offshore Environment
Practicing Agile in Offshore EnvironmentPracticing Agile in Offshore Environment
Practicing Agile in Offshore Environment
 
Application Lifecycle Management with Visual Studio 2013
Application Lifecycle Management  with Visual Studio 2013Application Lifecycle Management  with Visual Studio 2013
Application Lifecycle Management with Visual Studio 2013
 

Viewers also liked

Festa família 2013
Festa família 2013Festa família 2013
Festa família 2013
Nuno Bessa
 
Estadistica itsaj
Estadistica itsajEstadistica itsaj
Estadistica itsaj
Gloria Elena Vera Muñoz
 
Boy’s christian t shirts
Boy’s christian t shirtsBoy’s christian t shirts
Boy’s christian t shirts
lovexgrace
 
migration certificate
migration certificatemigration certificate
migration certificate
Ratnesh kashyap
 
Programa de becas para maestria 2012
Programa de becas para maestria 2012Programa de becas para maestria 2012
Programa de becas para maestria 2012Universia Perú
 
Lenguajes pictoricos, estilos
Lenguajes pictoricos, estilosLenguajes pictoricos, estilos
Lenguajes pictoricos, estilos
gylgerman
 
Carta al consejo nacioal
Carta al consejo nacioalCarta al consejo nacioal
Carta al consejo nacioal
Lesly Varillas
 
Внедрение системы ЕГАИС в розничном звене
Внедрение системы ЕГАИС в розничном звене Внедрение системы ЕГАИС в розничном звене
Внедрение системы ЕГАИС в розничном звене
Электронная подпись
 
EDU 320 Entire Course 2015 version
EDU 320 Entire Course 2015 versionEDU 320 Entire Course 2015 version
EDU 320 Entire Course 2015 version
redarber
 
ЕГАИС инструкция по заполнению заявки
ЕГАИС инструкция по заполнению заявки ЕГАИС инструкция по заполнению заявки
ЕГАИС инструкция по заполнению заявки
Электронная подпись
 
Makalah manajemen
Makalah manajemenMakalah manajemen
Makalah manajemen
Operator Warnet Vast Raha
 
Mic sesión 11
Mic sesión 11Mic sesión 11
Mic sesión 11
Metodos_Cuantitativos
 
"Glocal" marketing & New Media Localisation
"Glocal" marketing & New Media Localisation"Glocal" marketing & New Media Localisation
"Glocal" marketing & New Media Localisation
Jesus Maroto
 
Trabajo
TrabajoTrabajo
Trabajo
krlyta
 

Viewers also liked (14)

Festa família 2013
Festa família 2013Festa família 2013
Festa família 2013
 
Estadistica itsaj
Estadistica itsajEstadistica itsaj
Estadistica itsaj
 
Boy’s christian t shirts
Boy’s christian t shirtsBoy’s christian t shirts
Boy’s christian t shirts
 
migration certificate
migration certificatemigration certificate
migration certificate
 
Programa de becas para maestria 2012
Programa de becas para maestria 2012Programa de becas para maestria 2012
Programa de becas para maestria 2012
 
Lenguajes pictoricos, estilos
Lenguajes pictoricos, estilosLenguajes pictoricos, estilos
Lenguajes pictoricos, estilos
 
Carta al consejo nacioal
Carta al consejo nacioalCarta al consejo nacioal
Carta al consejo nacioal
 
Внедрение системы ЕГАИС в розничном звене
Внедрение системы ЕГАИС в розничном звене Внедрение системы ЕГАИС в розничном звене
Внедрение системы ЕГАИС в розничном звене
 
EDU 320 Entire Course 2015 version
EDU 320 Entire Course 2015 versionEDU 320 Entire Course 2015 version
EDU 320 Entire Course 2015 version
 
ЕГАИС инструкция по заполнению заявки
ЕГАИС инструкция по заполнению заявки ЕГАИС инструкция по заполнению заявки
ЕГАИС инструкция по заполнению заявки
 
Makalah manajemen
Makalah manajemenMakalah manajemen
Makalah manajemen
 
Mic sesión 11
Mic sesión 11Mic sesión 11
Mic sesión 11
 
"Glocal" marketing & New Media Localisation
"Glocal" marketing & New Media Localisation"Glocal" marketing & New Media Localisation
"Glocal" marketing & New Media Localisation
 
Trabajo
TrabajoTrabajo
Trabajo
 

Similar to Designing an unobtrusive analytics framework for monitoring java applications sampo suonsyrjä

Cytoscape: Now and Future
Cytoscape: Now and FutureCytoscape: Now and Future
Cytoscape: Now and Future
Keiichiro Ono
 
The differing ways to monitor and instrument
The differing ways to monitor and instrumentThe differing ways to monitor and instrument
The differing ways to monitor and instrument
Jonah Kowall
 
Rakuten’s Journey with Splunk - Evolution of Splunk as a Service
Rakuten’s Journey with Splunk - Evolution of Splunk as a ServiceRakuten’s Journey with Splunk - Evolution of Splunk as a Service
Rakuten’s Journey with Splunk - Evolution of Splunk as a Service
Rakuten Group, Inc.
 
Nagios Conference 2007 | Enterprise Application Monitoring with Nagios by Jam...
Nagios Conference 2007 | Enterprise Application Monitoring with Nagios by Jam...Nagios Conference 2007 | Enterprise Application Monitoring with Nagios by Jam...
Nagios Conference 2007 | Enterprise Application Monitoring with Nagios by Jam...
NETWAYS
 
Ananth_Ravishankar
Ananth_RavishankarAnanth_Ravishankar
Ananth_Ravishankar
ananth R
 
Techniques for scaling application with security and visibility in cloud
Techniques for scaling application with security and visibility in cloudTechniques for scaling application with security and visibility in cloud
Techniques for scaling application with security and visibility in cloud
Akshay Mathur
 
VMworld 2013: EUC Application Strategy Best Practices
VMworld 2013: EUC Application Strategy Best Practices VMworld 2013: EUC Application Strategy Best Practices
VMworld 2013: EUC Application Strategy Best Practices
VMworld
 
Monitoring federation open stack infrastructure
Monitoring federation open stack infrastructureMonitoring federation open stack infrastructure
Monitoring federation open stack infrastructure
Fernando Lopez Aguilar
 
Disruptive Trends in Application Development
Disruptive Trends in Application DevelopmentDisruptive Trends in Application Development
Disruptive Trends in Application Development
WaveMaker, Inc.
 
Design and Prototypical Implementation of a Mobile Healthcare Application: He...
Design and Prototypical Implementation of a Mobile Healthcare Application: He...Design and Prototypical Implementation of a Mobile Healthcare Application: He...
Design and Prototypical Implementation of a Mobile Healthcare Application: He...
Rahenul Islam
 
MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021
Ieva Navickaite
 
redpill Mobile Case Study (Salvation Army)
redpill Mobile Case Study (Salvation Army)redpill Mobile Case Study (Salvation Army)
redpill Mobile Case Study (Salvation Army)
Peter Presnell
 
Do I Need A Service Mesh.pptx
Do I Need A Service Mesh.pptxDo I Need A Service Mesh.pptx
Do I Need A Service Mesh.pptx
PINGXIONG3
 
Apsec18.ppt
Apsec18.pptApsec18.ppt
Presentation
PresentationPresentation
Presentation
Ptidej Team
 
A Low-Cost IoT Application for the Urban Traffic of Vehicles, Based on Wirele...
A Low-Cost IoT Application for the Urban Traffic of Vehicles, Based on Wirele...A Low-Cost IoT Application for the Urban Traffic of Vehicles, Based on Wirele...
A Low-Cost IoT Application for the Urban Traffic of Vehicles, Based on Wirele...
Fatima Qayyum
 
AppSphere 15 - How AppDynamics is Shaking up the Synthetic Monitoring Product...
AppSphere 15 - How AppDynamics is Shaking up the Synthetic Monitoring Product...AppSphere 15 - How AppDynamics is Shaking up the Synthetic Monitoring Product...
AppSphere 15 - How AppDynamics is Shaking up the Synthetic Monitoring Product...
AppDynamics
 
Developing Tizen OS Based Solutions (IDF13) - Chris Norman
Developing Tizen OS Based Solutions (IDF13) - Chris NormanDeveloping Tizen OS Based Solutions (IDF13) - Chris Norman
Developing Tizen OS Based Solutions (IDF13) - Chris Norman
Ryo Jin
 
VINOD_6yrs
VINOD_6yrsVINOD_6yrs
VINOD_6yrs
Kona Kumar
 
Unified Framework for Real Time, Near Real Time and Offline Analysis of Video...
Unified Framework for Real Time, Near Real Time and Offline Analysis of Video...Unified Framework for Real Time, Near Real Time and Offline Analysis of Video...
Unified Framework for Real Time, Near Real Time and Offline Analysis of Video...
Spark Summit
 

Similar to Designing an unobtrusive analytics framework for monitoring java applications sampo suonsyrjä (20)

Cytoscape: Now and Future
Cytoscape: Now and FutureCytoscape: Now and Future
Cytoscape: Now and Future
 
The differing ways to monitor and instrument
The differing ways to monitor and instrumentThe differing ways to monitor and instrument
The differing ways to monitor and instrument
 
Rakuten’s Journey with Splunk - Evolution of Splunk as a Service
Rakuten’s Journey with Splunk - Evolution of Splunk as a ServiceRakuten’s Journey with Splunk - Evolution of Splunk as a Service
Rakuten’s Journey with Splunk - Evolution of Splunk as a Service
 
Nagios Conference 2007 | Enterprise Application Monitoring with Nagios by Jam...
Nagios Conference 2007 | Enterprise Application Monitoring with Nagios by Jam...Nagios Conference 2007 | Enterprise Application Monitoring with Nagios by Jam...
Nagios Conference 2007 | Enterprise Application Monitoring with Nagios by Jam...
 
Ananth_Ravishankar
Ananth_RavishankarAnanth_Ravishankar
Ananth_Ravishankar
 
Techniques for scaling application with security and visibility in cloud
Techniques for scaling application with security and visibility in cloudTechniques for scaling application with security and visibility in cloud
Techniques for scaling application with security and visibility in cloud
 
VMworld 2013: EUC Application Strategy Best Practices
VMworld 2013: EUC Application Strategy Best Practices VMworld 2013: EUC Application Strategy Best Practices
VMworld 2013: EUC Application Strategy Best Practices
 
Monitoring federation open stack infrastructure
Monitoring federation open stack infrastructureMonitoring federation open stack infrastructure
Monitoring federation open stack infrastructure
 
Disruptive Trends in Application Development
Disruptive Trends in Application DevelopmentDisruptive Trends in Application Development
Disruptive Trends in Application Development
 
Design and Prototypical Implementation of a Mobile Healthcare Application: He...
Design and Prototypical Implementation of a Mobile Healthcare Application: He...Design and Prototypical Implementation of a Mobile Healthcare Application: He...
Design and Prototypical Implementation of a Mobile Healthcare Application: He...
 
MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021
 
redpill Mobile Case Study (Salvation Army)
redpill Mobile Case Study (Salvation Army)redpill Mobile Case Study (Salvation Army)
redpill Mobile Case Study (Salvation Army)
 
Do I Need A Service Mesh.pptx
Do I Need A Service Mesh.pptxDo I Need A Service Mesh.pptx
Do I Need A Service Mesh.pptx
 
Apsec18.ppt
Apsec18.pptApsec18.ppt
Apsec18.ppt
 
Presentation
PresentationPresentation
Presentation
 
A Low-Cost IoT Application for the Urban Traffic of Vehicles, Based on Wirele...
A Low-Cost IoT Application for the Urban Traffic of Vehicles, Based on Wirele...A Low-Cost IoT Application for the Urban Traffic of Vehicles, Based on Wirele...
A Low-Cost IoT Application for the Urban Traffic of Vehicles, Based on Wirele...
 
AppSphere 15 - How AppDynamics is Shaking up the Synthetic Monitoring Product...
AppSphere 15 - How AppDynamics is Shaking up the Synthetic Monitoring Product...AppSphere 15 - How AppDynamics is Shaking up the Synthetic Monitoring Product...
AppSphere 15 - How AppDynamics is Shaking up the Synthetic Monitoring Product...
 
Developing Tizen OS Based Solutions (IDF13) - Chris Norman
Developing Tizen OS Based Solutions (IDF13) - Chris NormanDeveloping Tizen OS Based Solutions (IDF13) - Chris Norman
Developing Tizen OS Based Solutions (IDF13) - Chris Norman
 
VINOD_6yrs
VINOD_6yrsVINOD_6yrs
VINOD_6yrs
 
Unified Framework for Real Time, Near Real Time and Offline Analysis of Video...
Unified Framework for Real Time, Near Real Time and Offline Analysis of Video...Unified Framework for Real Time, Near Real Time and Offline Analysis of Video...
Unified Framework for Real Time, Near Real Time and Offline Analysis of Video...
 

More from IWSM Mensura

When do software issues get reported in large open source software - Rakesh Rana
When do software issues get reported in large open source software - Rakesh RanaWhen do software issues get reported in large open source software - Rakesh Rana
When do software issues get reported in large open source software - Rakesh Rana
IWSM Mensura
 
Accounting for non functional and project requirements - cosmic and ifpug dev...
Accounting for non functional and project requirements - cosmic and ifpug dev...Accounting for non functional and project requirements - cosmic and ifpug dev...
Accounting for non functional and project requirements - cosmic and ifpug dev...
IWSM Mensura
 
Workshop early or rapid cosmic fsm - Frank Vogelezang
Workshop early or rapid cosmic fsm - Frank VogelezangWorkshop early or rapid cosmic fsm - Frank Vogelezang
Workshop early or rapid cosmic fsm - Frank Vogelezang
IWSM Mensura
 
Tips and hints for an effective cosmic learning process gained from industria...
Tips and hints for an effective cosmic learning process gained from industria...Tips and hints for an effective cosmic learning process gained from industria...
Tips and hints for an effective cosmic learning process gained from industria...
IWSM Mensura
 
The significance of ifpug base functionality types in effort estimation cig...
The significance of ifpug base functionality types in effort estimation   cig...The significance of ifpug base functionality types in effort estimation   cig...
The significance of ifpug base functionality types in effort estimation cig...
IWSM Mensura
 
The effects of duration based moving windows with estimation by analogy - sou...
The effects of duration based moving windows with estimation by analogy - sou...The effects of duration based moving windows with estimation by analogy - sou...
The effects of duration based moving windows with estimation by analogy - sou...
IWSM Mensura
 
Software or service that's the question luigi buglione
Software or service that's the question   luigi buglioneSoftware or service that's the question   luigi buglione
Software or service that's the question luigi buglione
IWSM Mensura
 
Requirements effort estimation state of the practice - mohamad kassab
Requirements effort estimation  state of the practice - mohamad kassabRequirements effort estimation  state of the practice - mohamad kassab
Requirements effort estimation state of the practice - mohamad kassab
IWSM Mensura
 
Quantitative functional change impact analysis in activity diagrams a cosmi...
Quantitative functional change impact analysis in activity diagrams   a cosmi...Quantitative functional change impact analysis in activity diagrams   a cosmi...
Quantitative functional change impact analysis in activity diagrams a cosmi...
IWSM Mensura
 
Practical usage of fpa and automatic code review piotr popovski
Practical usage of fpa and automatic code review   piotr popovskiPractical usage of fpa and automatic code review   piotr popovski
Practical usage of fpa and automatic code review piotr popovski
IWSM Mensura
 
Performance measurement of agile teams harold van heeringen
Performance measurement of agile teams   harold van heeringenPerformance measurement of agile teams   harold van heeringen
Performance measurement of agile teams harold van heeringen
IWSM Mensura
 
Measurement as-a-service a new way of organizing metrics programs - wilhelm m...
Measurement as-a-service a new way of organizing metrics programs - wilhelm m...Measurement as-a-service a new way of organizing metrics programs - wilhelm m...
Measurement as-a-service a new way of organizing metrics programs - wilhelm m...
IWSM Mensura
 
Improving the cosmic approximate sizing using the fuzzy logic epcu model al...
Improving the cosmic approximate sizing using the fuzzy logic epcu model   al...Improving the cosmic approximate sizing using the fuzzy logic epcu model   al...
Improving the cosmic approximate sizing using the fuzzy logic epcu model al...
IWSM Mensura
 
Functional size measurement for processor load estimation hassan soubra
Functional size measurement for processor load estimation   hassan soubraFunctional size measurement for processor load estimation   hassan soubra
Functional size measurement for processor load estimation hassan soubra
IWSM Mensura
 
From software to service sustainability a still broader perspective - luigi...
From software to service sustainability   a still broader perspective - luigi...From software to service sustainability   a still broader perspective - luigi...
From software to service sustainability a still broader perspective - luigi...
IWSM Mensura
 
Estimation and measuring of software size within the atos gobal delivery plat...
Estimation and measuring of software size within the atos gobal delivery plat...Estimation and measuring of software size within the atos gobal delivery plat...
Estimation and measuring of software size within the atos gobal delivery plat...
IWSM Mensura
 
Energy wasting rate jérôme rocheteau
Energy wasting rate   jérôme rocheteauEnergy wasting rate   jérôme rocheteau
Energy wasting rate jérôme rocheteau
IWSM Mensura
 
Do we measure functional size or do we count thomas fehlmann
Do we measure functional size or do we count   thomas fehlmannDo we measure functional size or do we count   thomas fehlmann
Do we measure functional size or do we count thomas fehlmann
IWSM Mensura
 
Combining qualitative and quantitative software process evaluation sylvie t...
Combining qualitative and quantitative software process evaluation   sylvie t...Combining qualitative and quantitative software process evaluation   sylvie t...
Combining qualitative and quantitative software process evaluation sylvie t...
IWSM Mensura
 
Automatic measurements of use cases with cosmic thomas fehlmann
Automatic measurements of use cases with cosmic   thomas fehlmannAutomatic measurements of use cases with cosmic   thomas fehlmann
Automatic measurements of use cases with cosmic thomas fehlmann
IWSM Mensura
 

More from IWSM Mensura (20)

When do software issues get reported in large open source software - Rakesh Rana
When do software issues get reported in large open source software - Rakesh RanaWhen do software issues get reported in large open source software - Rakesh Rana
When do software issues get reported in large open source software - Rakesh Rana
 
Accounting for non functional and project requirements - cosmic and ifpug dev...
Accounting for non functional and project requirements - cosmic and ifpug dev...Accounting for non functional and project requirements - cosmic and ifpug dev...
Accounting for non functional and project requirements - cosmic and ifpug dev...
 
Workshop early or rapid cosmic fsm - Frank Vogelezang
Workshop early or rapid cosmic fsm - Frank VogelezangWorkshop early or rapid cosmic fsm - Frank Vogelezang
Workshop early or rapid cosmic fsm - Frank Vogelezang
 
Tips and hints for an effective cosmic learning process gained from industria...
Tips and hints for an effective cosmic learning process gained from industria...Tips and hints for an effective cosmic learning process gained from industria...
Tips and hints for an effective cosmic learning process gained from industria...
 
The significance of ifpug base functionality types in effort estimation cig...
The significance of ifpug base functionality types in effort estimation   cig...The significance of ifpug base functionality types in effort estimation   cig...
The significance of ifpug base functionality types in effort estimation cig...
 
The effects of duration based moving windows with estimation by analogy - sou...
The effects of duration based moving windows with estimation by analogy - sou...The effects of duration based moving windows with estimation by analogy - sou...
The effects of duration based moving windows with estimation by analogy - sou...
 
Software or service that's the question luigi buglione
Software or service that's the question   luigi buglioneSoftware or service that's the question   luigi buglione
Software or service that's the question luigi buglione
 
Requirements effort estimation state of the practice - mohamad kassab
Requirements effort estimation  state of the practice - mohamad kassabRequirements effort estimation  state of the practice - mohamad kassab
Requirements effort estimation state of the practice - mohamad kassab
 
Quantitative functional change impact analysis in activity diagrams a cosmi...
Quantitative functional change impact analysis in activity diagrams   a cosmi...Quantitative functional change impact analysis in activity diagrams   a cosmi...
Quantitative functional change impact analysis in activity diagrams a cosmi...
 
Practical usage of fpa and automatic code review piotr popovski
Practical usage of fpa and automatic code review   piotr popovskiPractical usage of fpa and automatic code review   piotr popovski
Practical usage of fpa and automatic code review piotr popovski
 
Performance measurement of agile teams harold van heeringen
Performance measurement of agile teams   harold van heeringenPerformance measurement of agile teams   harold van heeringen
Performance measurement of agile teams harold van heeringen
 
Measurement as-a-service a new way of organizing metrics programs - wilhelm m...
Measurement as-a-service a new way of organizing metrics programs - wilhelm m...Measurement as-a-service a new way of organizing metrics programs - wilhelm m...
Measurement as-a-service a new way of organizing metrics programs - wilhelm m...
 
Improving the cosmic approximate sizing using the fuzzy logic epcu model al...
Improving the cosmic approximate sizing using the fuzzy logic epcu model   al...Improving the cosmic approximate sizing using the fuzzy logic epcu model   al...
Improving the cosmic approximate sizing using the fuzzy logic epcu model al...
 
Functional size measurement for processor load estimation hassan soubra
Functional size measurement for processor load estimation   hassan soubraFunctional size measurement for processor load estimation   hassan soubra
Functional size measurement for processor load estimation hassan soubra
 
From software to service sustainability a still broader perspective - luigi...
From software to service sustainability   a still broader perspective - luigi...From software to service sustainability   a still broader perspective - luigi...
From software to service sustainability a still broader perspective - luigi...
 
Estimation and measuring of software size within the atos gobal delivery plat...
Estimation and measuring of software size within the atos gobal delivery plat...Estimation and measuring of software size within the atos gobal delivery plat...
Estimation and measuring of software size within the atos gobal delivery plat...
 
Energy wasting rate jérôme rocheteau
Energy wasting rate   jérôme rocheteauEnergy wasting rate   jérôme rocheteau
Energy wasting rate jérôme rocheteau
 
Do we measure functional size or do we count thomas fehlmann
Do we measure functional size or do we count   thomas fehlmannDo we measure functional size or do we count   thomas fehlmann
Do we measure functional size or do we count thomas fehlmann
 
Combining qualitative and quantitative software process evaluation sylvie t...
Combining qualitative and quantitative software process evaluation   sylvie t...Combining qualitative and quantitative software process evaluation   sylvie t...
Combining qualitative and quantitative software process evaluation sylvie t...
 
Automatic measurements of use cases with cosmic thomas fehlmann
Automatic measurements of use cases with cosmic   thomas fehlmannAutomatic measurements of use cases with cosmic   thomas fehlmann
Automatic measurements of use cases with cosmic thomas fehlmann
 

Recently uploaded

🔥 Chennai Call Girls  👉 6350257716 👫 High Profile Call Girls Whatsapp Number ...
🔥 Chennai Call Girls  👉 6350257716 👫 High Profile Call Girls Whatsapp Number ...🔥 Chennai Call Girls  👉 6350257716 👫 High Profile Call Girls Whatsapp Number ...
🔥 Chennai Call Girls  👉 6350257716 👫 High Profile Call Girls Whatsapp Number ...
tinakumariji156
 
Call Girls in Varanasi || 7426014248 || Quick Booking at Affordable Price
Call Girls in Varanasi || 7426014248 || Quick Booking at Affordable PriceCall Girls in Varanasi || 7426014248 || Quick Booking at Affordable Price
Call Girls in Varanasi || 7426014248 || Quick Booking at Affordable Price
vickythakur209464
 
Secure-by-Design Using Hardware and Software Protection for FDA Compliance
Secure-by-Design Using Hardware and Software Protection for FDA ComplianceSecure-by-Design Using Hardware and Software Protection for FDA Compliance
Secure-by-Design Using Hardware and Software Protection for FDA Compliance
ICS
 
Photo Copier Xerox Machine annual maintenance contract system.pdf
Photo Copier Xerox Machine annual maintenance contract system.pdfPhoto Copier Xerox Machine annual maintenance contract system.pdf
Photo Copier Xerox Machine annual maintenance contract system.pdf
SERVE WELL CRM NASHIK
 
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Ortus Solutions, Corp
 
Introduction to Python and Basic Syntax.pptx
Introduction to Python and Basic Syntax.pptxIntroduction to Python and Basic Syntax.pptx
Introduction to Python and Basic Syntax.pptx
GevitaChinnaiah
 
🔥 Kolkata Call Girls  👉 9079923931 👫 High Profile Call Girls Whatsapp Number ...
🔥 Kolkata Call Girls  👉 9079923931 👫 High Profile Call Girls Whatsapp Number ...🔥 Kolkata Call Girls  👉 9079923931 👫 High Profile Call Girls Whatsapp Number ...
🔥 Kolkata Call Girls  👉 9079923931 👫 High Profile Call Girls Whatsapp Number ...
tinakumariji156
 
NLJUG speaker academy 2024 - session 1, June 2024
NLJUG speaker academy 2024 - session 1, June 2024NLJUG speaker academy 2024 - session 1, June 2024
NLJUG speaker academy 2024 - session 1, June 2024
Bert Jan Schrijver
 
Refactoring legacy systems using events commands and bubble contexts
Refactoring legacy systems using events commands and bubble contextsRefactoring legacy systems using events commands and bubble contexts
Refactoring legacy systems using events commands and bubble contexts
Michał Kurzeja
 
Top Call Girls Lucknow ✔ 9352988975 ✔ Hi I Am Divya Vip Call Girl Services Pr...
Top Call Girls Lucknow ✔ 9352988975 ✔ Hi I Am Divya Vip Call Girl Services Pr...Top Call Girls Lucknow ✔ 9352988975 ✔ Hi I Am Divya Vip Call Girl Services Pr...
Top Call Girls Lucknow ✔ 9352988975 ✔ Hi I Am Divya Vip Call Girl Services Pr...
simmi singh$A17
 
Premium Call Girls In Ahmedabad 💯Call Us 🔝 7426014248 🔝Independent Ahmedabad ...
Premium Call Girls In Ahmedabad 💯Call Us 🔝 7426014248 🔝Independent Ahmedabad ...Premium Call Girls In Ahmedabad 💯Call Us 🔝 7426014248 🔝Independent Ahmedabad ...
Premium Call Girls In Ahmedabad 💯Call Us 🔝 7426014248 🔝Independent Ahmedabad ...
Anita pandey
 
Trailhead Talks_ Journey of an All-Star Ranger .pptx
Trailhead Talks_ Journey of an All-Star Ranger .pptxTrailhead Talks_ Journey of an All-Star Ranger .pptx
Trailhead Talks_ Journey of an All-Star Ranger .pptx
ImtiazBinMohiuddin
 
Going AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applicationsGoing AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applications
Alina Yurenko
 
Enhancing non-Perl bioinformatic applications with Perl
Enhancing non-Perl bioinformatic applications with PerlEnhancing non-Perl bioinformatic applications with Perl
Enhancing non-Perl bioinformatic applications with Perl
Christos Argyropoulos
 
Accelerate your Sitecore development with GenAI
Accelerate your Sitecore development with GenAIAccelerate your Sitecore development with GenAI
Accelerate your Sitecore development with GenAI
Ahmed Okour
 
Call Girls Solapur ☎️ +91-7426014248 😍 Solapur Call Girl Beauty Girls Solapur...
Call Girls Solapur ☎️ +91-7426014248 😍 Solapur Call Girl Beauty Girls Solapur...Call Girls Solapur ☎️ +91-7426014248 😍 Solapur Call Girl Beauty Girls Solapur...
Call Girls Solapur ☎️ +91-7426014248 😍 Solapur Call Girl Beauty Girls Solapur...
anshsharma8761
 
SAP ECC & S4 HANA PPT COMPARISON MM.pptx
SAP ECC & S4 HANA PPT COMPARISON MM.pptxSAP ECC & S4 HANA PPT COMPARISON MM.pptx
SAP ECC & S4 HANA PPT COMPARISON MM.pptx
aneeshmanikantan2341
 
Hyperledger Besu 빨리 따라하기 (Private Networks)
Hyperledger Besu 빨리 따라하기 (Private Networks)Hyperledger Besu 빨리 따라하기 (Private Networks)
Hyperledger Besu 빨리 따라하기 (Private Networks)
wonyong hwang
 
Hi-Fi Call Girls In Hyderabad 💯Call Us 🔝 7426014248 🔝Independent Hyderabad Es...
Hi-Fi Call Girls In Hyderabad 💯Call Us 🔝 7426014248 🔝Independent Hyderabad Es...Hi-Fi Call Girls In Hyderabad 💯Call Us 🔝 7426014248 🔝Independent Hyderabad Es...
Hi-Fi Call Girls In Hyderabad 💯Call Us 🔝 7426014248 🔝Independent Hyderabad Es...
sapnasaifi408
 
Erotic Call Girls Bangalore🫱9079923931🫲 High Quality Call Girl Service Right ...
Erotic Call Girls Bangalore🫱9079923931🫲 High Quality Call Girl Service Right ...Erotic Call Girls Bangalore🫱9079923931🫲 High Quality Call Girl Service Right ...
Erotic Call Girls Bangalore🫱9079923931🫲 High Quality Call Girl Service Right ...
meenusingh4354543
 

Recently uploaded (20)

🔥 Chennai Call Girls  👉 6350257716 👫 High Profile Call Girls Whatsapp Number ...
🔥 Chennai Call Girls  👉 6350257716 👫 High Profile Call Girls Whatsapp Number ...🔥 Chennai Call Girls  👉 6350257716 👫 High Profile Call Girls Whatsapp Number ...
🔥 Chennai Call Girls  👉 6350257716 👫 High Profile Call Girls Whatsapp Number ...
 
Call Girls in Varanasi || 7426014248 || Quick Booking at Affordable Price
Call Girls in Varanasi || 7426014248 || Quick Booking at Affordable PriceCall Girls in Varanasi || 7426014248 || Quick Booking at Affordable Price
Call Girls in Varanasi || 7426014248 || Quick Booking at Affordable Price
 
Secure-by-Design Using Hardware and Software Protection for FDA Compliance
Secure-by-Design Using Hardware and Software Protection for FDA ComplianceSecure-by-Design Using Hardware and Software Protection for FDA Compliance
Secure-by-Design Using Hardware and Software Protection for FDA Compliance
 
Photo Copier Xerox Machine annual maintenance contract system.pdf
Photo Copier Xerox Machine annual maintenance contract system.pdfPhoto Copier Xerox Machine annual maintenance contract system.pdf
Photo Copier Xerox Machine annual maintenance contract system.pdf
 
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
 
Introduction to Python and Basic Syntax.pptx
Introduction to Python and Basic Syntax.pptxIntroduction to Python and Basic Syntax.pptx
Introduction to Python and Basic Syntax.pptx
 
🔥 Kolkata Call Girls  👉 9079923931 👫 High Profile Call Girls Whatsapp Number ...
🔥 Kolkata Call Girls  👉 9079923931 👫 High Profile Call Girls Whatsapp Number ...🔥 Kolkata Call Girls  👉 9079923931 👫 High Profile Call Girls Whatsapp Number ...
🔥 Kolkata Call Girls  👉 9079923931 👫 High Profile Call Girls Whatsapp Number ...
 
NLJUG speaker academy 2024 - session 1, June 2024
NLJUG speaker academy 2024 - session 1, June 2024NLJUG speaker academy 2024 - session 1, June 2024
NLJUG speaker academy 2024 - session 1, June 2024
 
Refactoring legacy systems using events commands and bubble contexts
Refactoring legacy systems using events commands and bubble contextsRefactoring legacy systems using events commands and bubble contexts
Refactoring legacy systems using events commands and bubble contexts
 
Top Call Girls Lucknow ✔ 9352988975 ✔ Hi I Am Divya Vip Call Girl Services Pr...
Top Call Girls Lucknow ✔ 9352988975 ✔ Hi I Am Divya Vip Call Girl Services Pr...Top Call Girls Lucknow ✔ 9352988975 ✔ Hi I Am Divya Vip Call Girl Services Pr...
Top Call Girls Lucknow ✔ 9352988975 ✔ Hi I Am Divya Vip Call Girl Services Pr...
 
Premium Call Girls In Ahmedabad 💯Call Us 🔝 7426014248 🔝Independent Ahmedabad ...
Premium Call Girls In Ahmedabad 💯Call Us 🔝 7426014248 🔝Independent Ahmedabad ...Premium Call Girls In Ahmedabad 💯Call Us 🔝 7426014248 🔝Independent Ahmedabad ...
Premium Call Girls In Ahmedabad 💯Call Us 🔝 7426014248 🔝Independent Ahmedabad ...
 
Trailhead Talks_ Journey of an All-Star Ranger .pptx
Trailhead Talks_ Journey of an All-Star Ranger .pptxTrailhead Talks_ Journey of an All-Star Ranger .pptx
Trailhead Talks_ Journey of an All-Star Ranger .pptx
 
Going AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applicationsGoing AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applications
 
Enhancing non-Perl bioinformatic applications with Perl
Enhancing non-Perl bioinformatic applications with PerlEnhancing non-Perl bioinformatic applications with Perl
Enhancing non-Perl bioinformatic applications with Perl
 
Accelerate your Sitecore development with GenAI
Accelerate your Sitecore development with GenAIAccelerate your Sitecore development with GenAI
Accelerate your Sitecore development with GenAI
 
Call Girls Solapur ☎️ +91-7426014248 😍 Solapur Call Girl Beauty Girls Solapur...
Call Girls Solapur ☎️ +91-7426014248 😍 Solapur Call Girl Beauty Girls Solapur...Call Girls Solapur ☎️ +91-7426014248 😍 Solapur Call Girl Beauty Girls Solapur...
Call Girls Solapur ☎️ +91-7426014248 😍 Solapur Call Girl Beauty Girls Solapur...
 
SAP ECC & S4 HANA PPT COMPARISON MM.pptx
SAP ECC & S4 HANA PPT COMPARISON MM.pptxSAP ECC & S4 HANA PPT COMPARISON MM.pptx
SAP ECC & S4 HANA PPT COMPARISON MM.pptx
 
Hyperledger Besu 빨리 따라하기 (Private Networks)
Hyperledger Besu 빨리 따라하기 (Private Networks)Hyperledger Besu 빨리 따라하기 (Private Networks)
Hyperledger Besu 빨리 따라하기 (Private Networks)
 
Hi-Fi Call Girls In Hyderabad 💯Call Us 🔝 7426014248 🔝Independent Hyderabad Es...
Hi-Fi Call Girls In Hyderabad 💯Call Us 🔝 7426014248 🔝Independent Hyderabad Es...Hi-Fi Call Girls In Hyderabad 💯Call Us 🔝 7426014248 🔝Independent Hyderabad Es...
Hi-Fi Call Girls In Hyderabad 💯Call Us 🔝 7426014248 🔝Independent Hyderabad Es...
 
Erotic Call Girls Bangalore🫱9079923931🫲 High Quality Call Girl Service Right ...
Erotic Call Girls Bangalore🫱9079923931🫲 High Quality Call Girl Service Right ...Erotic Call Girls Bangalore🫱9079923931🫲 High Quality Call Girl Service Right ...
Erotic Call Girls Bangalore🫱9079923931🫲 High Quality Call Girl Service Right ...
 

Designing an unobtrusive analytics framework for monitoring java applications sampo suonsyrjä

  • 1. Designing an Unobtrusive Analytics Framework for Monitoring Java Applications Sampo Suonsyrjä and Tommi Mikkonen Dept. of Pervasive Computing Tampere University of Technology
  • 2. Contents •  Context –  Paradigm change in software development –  Web apps vs. installable programs •  Motivation –  Why the unobtrusiveness? •  Case –  Vaadin framework as the platform of a target program –  The designed analytics framework •  Discussion •  Conclusions 17.10.15 2
  • 3. Paradigm Change in Software Development •  Waterfall method and such –  User involvement only before development –  Requirements defined before any use –  Systems remained the same throughout their life –  Changes in user requirements? No more use! Throw the cd away •  Agile methods –  Requirements defined as late as possible –  Users involved iteratively –  More knowledge of what is possible and needed –  Developing less, but with a greater accuracy –  Changes in user requirements? Order an extension to the sw. dev. project 17.10.15 3
  • 4. Paradigm Change and the First Frontier •  Feedback with agile methods –  User surveys, thinking aloud, observations –  Manually collected qualitative data –  Stops when development stops •  Continuous Delivery & Deployment systems –  New versions are delivered faster than ever –  Developing experiments, not just reacting to requirements –  Usage Data = results from these experiments –  Automatic collecting needed •  Web as a platform for analytics –  Channel is clear –  Tools are available –  A/B testing is easier than ever –  Continuous experimentation 17.10.15 4
  • 5. Why the Unobtrusiveness? •  Collecting usage data leads to changes in the target program •  Target program is continuously under change •  Target program can be built by others •  Data should remain –  Collectable –  Comparable between different versions •  If data collecting is independent of the target.. •  ..then data collecting mechanism could be reused 17.10.15 5
  • 6. Vaadin Framework •  Open source framework for developing Rich Internet Applications •  Applications are written in Java.. •  ..and then transformed into AJAX applications 17.10.15 6
  • 7. Target Program •  Demo app of the Vaadin Framework •  QuickTickets Dashboard Demo •  Source code available •  Built by someone else than the researchers 17.10.15 7
  • 8. Target Program public DashboardView() { HorizontalLayout top = new HorizontalLayout(); addComponent(top); Button notify = new Button('2'); Notify.addClickListener( new ClickListener(){ ... }); top.addComponent(notify); }; 17.10.15 8
  • 9. The Designed Framework for Unobtrusive Analytics •  AspectJ for usage monitoring •  Fluentd for collecting •  ElasticSearch for storing •  Kibana for visualizing 17.10.15 9
  • 10. AspectJ public aspect AddComponentListener { pointcut addComponentCall(Button b): call(* *.addComponent(*))&& args(b); after(final Button b):addComponentCall(b) { b.addClickListener( new Button.ClickListener() { public void click(ClickEvent e) { dataCollector.logEvent(b, e); } }); }} public DashboardView() { HorizontalLayout top = new HorizontalLayout(); addComponent(top); Button notify = new Button('2'); Notify.addClickListener( new ClickListener(){ ... }); top.addComponent(notify); }; 17.10.15 10
  • 11. AspectJ •  Aspect-oriented programming is unobtrusive by nature •  No alteration of the original source code •  Tooling is affected however –  AspectJ dependency inserted –  Aspect class file inserted –  Normal compiling + aspect weaving 17.10.15 11
  • 12. Fluentd •  Implemented similarly as aspects –  Fluentd dependency added –  A logging class added •  Parses data into JSON •  Sends data for storing •  In this case, Fluentd was installed and run on the same machine as the target program 17.10.15 12
  • 13. Fluentd public class DataLogger { private static FluentLogger LOG = FluentLogger.getLogger("button.click"); public void logButtonClick(Button b, ClickEvent event){ Map<String, Object> data = new HashMap<String, Object>(); data.put("Button Caption", b.getCaption()); data.put("Button ID", b.getId()); ... LOG.log("click", data); }} 17.10.15 13
  • 14. ElasticSearch and Kibana •  ElasticSearch is document oriented •  Data was already in JSON àName fields automatically •  Real-time access with Kibana •  Different visualizations readily available 17.10.15 14
  • 15. Discussion •  RQ1: To what extent can a data collecting feature be implemented without compromising the evolution of the target program? •  Usage monitoring inserted without changing the source code •  Aspect and logging class files and dependencies inserted •  Target application’s evolution was not compromised –  No additional effort needed if new version has different buttons –  However, if the new version introduces new ways of implementing buttons aspects need changing as well 17.10.15 15
  • 16. Discussion •  RQ2: What types of data can be collected with the given approach? •  Aspect-oriented monitoring is flexible –  Pointcuts could be made on a vast variety of different points –  Advices can include almost arbitrary code –  Access to the target program in source code level •  Vaadin Framework provided an abundant platform for collecting data •  Usage data collected in this case •  Perhaps end-user feedback in the future? 17.10.15 16
  • 17. Discussion •  RQ3: How to connect the data collecting feature with an analysis framework? •  Aspect-code can be put to produce data in various formats àUnified logging layer (Fluentd: JSON) àPossibility to use standardized storing and visualization tools àUseful when combining different kinds of data (access, error, application logs etc.) 17.10.15 17
  • 18. Conclusions •  New means of getting feedback from end-users are needed à Analytics with usage data •  New versions continuously à Need for unobtrusiveness à Aspect-oriented collecting Thank you! 17.10.15 18
  翻译: