SlideShare une entreprise Scribd logo
1  sur  42
Télécharger pour lire hors ligne
Design and Implementation of a Service
Monitoring Console within a Service Oriented
          Architecture Framework

                 Arvind Krishnaa .J
                    31508104017
                        Guided By
                    Dr. Chitra Babu
                       HOD/CSE


             SSN College of Engineering

              Second Review - 30th March, 2012
Turmeric Runtime Platform



    1   Client Runtime - Client application code written by the
        consumers of the service. Service Invocation
        Framework(SIF)
Turmeric Runtime Platform



    1   Client Runtime - Client application code written by the
        consumers of the service. Service Invocation
        Framework(SIF)
    2   Server Runtime - Deployment platform for developers to
        publish web services. Service Provider Framework (SPF)
Turmeric Runtime Platform



    1   Client Runtime - Client application code written by the
        consumers of the service. Service Invocation
        Framework(SIF)
    2   Server Runtime - Deployment platform for developers to
        publish web services. Service Provider Framework (SPF)
    3   CodeGen - Generate instrumentation code for deploying
        services onto Turmeric.
Central Application Logging Framework

      Centralized collection of application server
      logs
Central Application Logging Framework

      Centralized collection of application server
      logs
      Base for collecting data for the
      monitoring console
Central Application Logging Framework

      Centralized collection of application server
      logs
      Base for collecting data for the
      monitoring console
      Ability to generate custom reports from
      this data
Central Application Logging Framework

      Centralized collection of application server
      logs
      Base for collecting data for the
      monitoring console
      Ability to generate custom reports from
      this data
      TMC is a specific instance of a report
      created using CAL
Architecture of the Monitoring Console



    1   Can be abstracted to two frameworks running in parallel -
        metrics logging framework and metrics handler framework
Architecture of the Monitoring Console



    1   Can be abstracted to two frameworks running in parallel -
        metrics logging framework and metrics handler framework
    2   Both frameworks are web services deployed on an application
        server
Architecture of the Monitoring Console



    1   Can be abstracted to two frameworks running in parallel -
        metrics logging framework and metrics handler framework
    2   Both frameworks are web services deployed on an application
        server
    3   SOA Query Metrics Service (sqms) - Logging logging handler
        framework
Architecture of the Monitoring Console



    1   Can be abstracted to two frameworks running in parallel -
        metrics logging framework and metrics handler framework
    2   Both frameworks are web services deployed on an application
        server
    3   SOA Query Metrics Service (sqms) - Logging logging handler
        framework
    4   Monitoring Console (console) - Metrics handler framework
SOA Query Metrics Service (SQMS)




               Figure 1: Architecture of SQMS
Working of SQMS


    1   SPFServlet is the main servlet which handles the requests to
        the Turmeric runtime.
    2   Initializes the CAL logger for logging metrics published by
        Turmeric services.
    3   Metric data logged in a format called heartbeats.
    4   Log message casted into a JMX MBean like object.
    5   The MBean object is dispatched to the JMX servlet and
        published to a controller interface (Agent Service)
Metrics Storage Provider



      Java interface for defining the underlying storage mechanism
Metrics Storage Provider



      Java interface for defining the underlying storage mechanism
      Provides the general contract for defining the queries to store
      metrics into the persistence mechanism
Metrics Storage Provider



      Java interface for defining the underlying storage mechanism
      Provides the general contract for defining the queries to store
      metrics into the persistence mechanism
      Can be extended to provide custom implementations, for
      various Hibernate- compliant databases.
Metrics Storage Provider



      Java interface for defining the underlying storage mechanism
      Provides the general contract for defining the queries to store
      metrics into the persistence mechanism
      Can be extended to provide custom implementations, for
      various Hibernate- compliant databases.
      Currently two implementations are provided - DAO(based on
      a MySql storage) and Cassandra (partially implemented)
Metrics Logging



    1   saveMetricValue(): It receives the timestamp, metric name,
        and a key-value pair to store the metric value, and converts it
        to row oriented format for MySQL storage (or name-value pair
        for Cassandra)
    2   saveMetricSnapshot(): Encapsulates the above received
        metrics objects into a MBean instance and sends it to the
        JMX server for publication.
Logging helper utilities


     1   Snapshot File Logger: Logs the aggregated metrics into a
         .log file
     2   Differential Snapshot View Logger: Calculating the
         percentage changes between the metrics collected on two
         different days.
     3   Monitoring System: Schedules the metrics logging process
         to be performed at regular intervals. Presently it is set at 60
         seconds.
Logging Handlers

     1   Metrics Storage Provider Interface
             Defines a framework which runs two
             MetricsSnapshotSchedulers in separate background threads,
             one for the client-side metrics and the other for the server-side
             metrics
             Calls the saveMetricsSnapshot() method to store the metric
             data.
     2   DAO Metrics Provider : The provider implementation for
         MySQL persistence mechanism
     3   Cassandra Storage Provider: Implementation for Cassandra
         storage.
   Any custom persistence mechanism can also be integrated.
Monitoring Console Service (TMC)




           Figure 2: Architecture of Monitoring Dashboard
Implementation of TMC service

      Responsible for constructing user interface of monitoring
      dashboard
Implementation of TMC service

      Responsible for constructing user interface of monitoring
      dashboard
      Retrieves the encapsulated data in the form of a MetricsData
      instance
Implementation of TMC service

      Responsible for constructing user interface of monitoring
      dashboard
      Retrieves the encapsulated data in the form of a MetricsData
      instance
      This object is serialized into JSON format and sent to the
      Google Web Toolkit’s charting API
Implementation of TMC service

      Responsible for constructing user interface of monitoring
      dashboard
      Retrieves the encapsulated data in the form of a MetricsData
      instance
      This object is serialized into JSON format and sent to the
      Google Web Toolkit’s charting API
      GWT API constructs the trends chart based on the JSON data
Implementation of TMC service

      Responsible for constructing user interface of monitoring
      dashboard
      Retrieves the encapsulated data in the form of a MetricsData
      instance
      This object is serialized into JSON format and sent to the
      Google Web Toolkit’s charting API
      GWT API constructs the trends chart based on the JSON data
      A REST URI is created for every JSON object, and a link is
      created in the dashboard.
Implementation of TMC service

      Responsible for constructing user interface of monitoring
      dashboard
      Retrieves the encapsulated data in the form of a MetricsData
      instance
      This object is serialized into JSON format and sent to the
      Google Web Toolkit’s charting API
      GWT API constructs the trends chart based on the JSON data
      A REST URI is created for every JSON object, and a link is
      created in the dashboard.
      The metrics detail can be exported into a CSV file as well.
Offline Aggregator - A Partial Implementation


      Objective of collecting the distributed metrics across cluster of
      nodes, by utilizing Cassandra storage.
      Only the storage into Cassandra keyspace has been
      implemented
      Hooks are provided to read data across distributed nodes, to
      make this feature full-fledged.
      Three main classes for implementing offline-aggregation
        1   Readers
        2   Writers
        3   Erasers
Overview of Readers, Writers and Erasers


      Readers: Read the data from the offline cluster, de-serialize
      the MetricsData objects and display it in the dashboard.
      Different reader classes are available to customize metrics
      reading, in the future. (Classes need to be extended with
      custom implementation)
Overview of Readers, Writers and Erasers


      Readers: Read the data from the offline cluster, de-serialize
      the MetricsData objects and display it in the dashboard.
      Different reader classes are available to customize metrics
      reading, in the future. (Classes need to be extended with
      custom implementation)
      Writers: Write data into the offline cluster, by serializing the
      metrics into MetricsData objects. Different writer base classes
      available for extending with custom implementations.
Overview of Readers, Writers and Erasers


      Readers: Read the data from the offline cluster, de-serialize
      the MetricsData objects and display it in the dashboard.
      Different reader classes are available to customize metrics
      reading, in the future. (Classes need to be extended with
      custom implementation)
      Writers: Write data into the offline cluster, by serializing the
      metrics into MetricsData objects. Different writer base classes
      available for extending with custom implementations.
      Erasers: Erase the data from the offline cluster.
Overview of Readers, Writers and Erasers




           Figure 3: Overview of Reader, Writers and Erasers
Partial Demo



    1   Nuts and bolts of Turmeric SOA services
    2   Sample REST URLs for metrics
    3   Walkthrough of database schema and significant
        implementation classes
    4   Overview of data aggregator tool
    5   Tour of the user interface
Screenshots - SMC Dashboard for an eBay service




                  Figure 4: ShortURI Service
Screenshots - Turmeric Top volume graph




                Figure 5: Example Echo Service
Screenshots - Turmeric Consumer trends




                Figure 6: Example Echo Service
Data Aggregator tool




                  Figure 7: Ad hoc querying
Data Aggregator tool – Contd.




                  Figure 8: Ad hoc querying
Implementation Schedule




                  Figure 9: Project Roadmap
References

   [1]Jeffrey Dean, Sanjay Ghemawat, MapReduce: Simplified Data
   Processing on Large Clusters, In Sixth Symposium on Operating
   System Design and Implementation(OSDI’04), San Francisco, CA,
   December, 2004
   [2] Eben Hewitt, Cassandra: The Definitive Guide, O’Reilly
   Publications, November 2010.
   [3] eBay Open Source Project, Turmeric SOA platform,
   http:
   //www.ebayopensource.org/index.php/Turmeric/HomePage
References
   [4] eBay Open Source Project, Documentation of Turmeric SOA
   platform,
   https://www.ebayopensource.org/wiki/display/
   TURMERICDOC110GA/Turmeric+Documentation+Overview
   [5] eBay Open Source Project, Turmeric Source Code,
   http://www.github.com/ebayopensource
   [6] Internal eBay documentation
   [7] Google Web Toolkit,
   http://code.google.com/webtoolkit
   [8] Apache Cassandra,
   http://cassandra.apache.org/

Contenu connexe

En vedette

First Review(Ppt)
First Review(Ppt)First Review(Ppt)
First Review(Ppt)smjagadish
 
Chip Ex2010 Gert Goossens
Chip Ex2010 Gert GoossensChip Ex2010 Gert Goossens
Chip Ex2010 Gert GoossensAlona Gradman
 
BKK16-410 SoC Idling & CPU Cluster PM
BKK16-410 SoC Idling & CPU Cluster PMBKK16-410 SoC Idling & CPU Cluster PM
BKK16-410 SoC Idling & CPU Cluster PMLinaro
 
How to-write-a-story
How to-write-a-storyHow to-write-a-story
How to-write-a-storyRocio Torres
 
Rincon de Biblioteca
Rincon de BibliotecaRincon de Biblioteca
Rincon de BibliotecaLluis Juan
 
Recognition of unistroke gesture sequences
Recognition of unistroke gesture sequencesRecognition of unistroke gesture sequences
Recognition of unistroke gesture sequencesArvind Krishnaa
 
Use of 3D Immersive Technology for the Support of Gifted Learners
Use of 3D Immersive Technology for the Support of Gifted LearnersUse of 3D Immersive Technology for the Support of Gifted Learners
Use of 3D Immersive Technology for the Support of Gifted LearnersGiftedkids.ie
 
Immigration Laws
Immigration LawsImmigration Laws
Immigration Lawsdrfelix12
 
Bahan presentasi uu asn batam 11 nov 2014
Bahan presentasi uu asn batam 11 nov 2014Bahan presentasi uu asn batam 11 nov 2014
Bahan presentasi uu asn batam 11 nov 2014Mohammad Subhan
 
Goodrich china beijing retreat
Goodrich china beijing retreatGoodrich china beijing retreat
Goodrich china beijing retreatGoodrich Global
 
My cool new Slideshow!
My cool new Slideshow!My cool new Slideshow!
My cool new Slideshow!Parag Gajbhiye
 
Excerpt, Project Steering
Excerpt, Project SteeringExcerpt, Project Steering
Excerpt, Project Steeringjsargeant
 
Third review presentation
Third review presentationThird review presentation
Third review presentationArvind Krishnaa
 
Ansaitse huomioita - luova pr hyvinvointituotteen markkinoinnissa: Case Johns...
Ansaitse huomioita - luova pr hyvinvointituotteen markkinoinnissa: Case Johns...Ansaitse huomioita - luova pr hyvinvointituotteen markkinoinnissa: Case Johns...
Ansaitse huomioita - luova pr hyvinvointituotteen markkinoinnissa: Case Johns...Darwin Oy
 
CambridgeIP: Marketing Your Technology in the Credit Crunch
CambridgeIP: Marketing Your Technology in the Credit CrunchCambridgeIP: Marketing Your Technology in the Credit Crunch
CambridgeIP: Marketing Your Technology in the Credit CrunchCambridgeIP Ltd
 
GG中国香港职员拓展活动
GG中国香港职员拓展活动GG中国香港职员拓展活动
GG中国香港职员拓展活动Goodrich Global
 

En vedette (20)

First Review(Ppt)
First Review(Ppt)First Review(Ppt)
First Review(Ppt)
 
Chip Ex2010 Gert Goossens
Chip Ex2010 Gert GoossensChip Ex2010 Gert Goossens
Chip Ex2010 Gert Goossens
 
BKK16-410 SoC Idling & CPU Cluster PM
BKK16-410 SoC Idling & CPU Cluster PMBKK16-410 SoC Idling & CPU Cluster PM
BKK16-410 SoC Idling & CPU Cluster PM
 
Second review presentation
Second review presentationSecond review presentation
Second review presentation
 
How to-write-a-story
How to-write-a-storyHow to-write-a-story
How to-write-a-story
 
Rincon de Biblioteca
Rincon de BibliotecaRincon de Biblioteca
Rincon de Biblioteca
 
Recognition of unistroke gesture sequences
Recognition of unistroke gesture sequencesRecognition of unistroke gesture sequences
Recognition of unistroke gesture sequences
 
Use of 3D Immersive Technology for the Support of Gifted Learners
Use of 3D Immersive Technology for the Support of Gifted LearnersUse of 3D Immersive Technology for the Support of Gifted Learners
Use of 3D Immersive Technology for the Support of Gifted Learners
 
Immigration Laws
Immigration LawsImmigration Laws
Immigration Laws
 
Bahan presentasi uu asn batam 11 nov 2014
Bahan presentasi uu asn batam 11 nov 2014Bahan presentasi uu asn batam 11 nov 2014
Bahan presentasi uu asn batam 11 nov 2014
 
Goodrich china beijing retreat
Goodrich china beijing retreatGoodrich china beijing retreat
Goodrich china beijing retreat
 
My cool new Slideshow!
My cool new Slideshow!My cool new Slideshow!
My cool new Slideshow!
 
M Pitcher Resume
M Pitcher ResumeM Pitcher Resume
M Pitcher Resume
 
View Brand Design
View Brand DesignView Brand Design
View Brand Design
 
Excerpt, Project Steering
Excerpt, Project SteeringExcerpt, Project Steering
Excerpt, Project Steering
 
Third review presentation
Third review presentationThird review presentation
Third review presentation
 
Ansaitse huomioita - luova pr hyvinvointituotteen markkinoinnissa: Case Johns...
Ansaitse huomioita - luova pr hyvinvointituotteen markkinoinnissa: Case Johns...Ansaitse huomioita - luova pr hyvinvointituotteen markkinoinnissa: Case Johns...
Ansaitse huomioita - luova pr hyvinvointituotteen markkinoinnissa: Case Johns...
 
clodfoundrydoc.pdf
clodfoundrydoc.pdfclodfoundrydoc.pdf
clodfoundrydoc.pdf
 
CambridgeIP: Marketing Your Technology in the Credit Crunch
CambridgeIP: Marketing Your Technology in the Credit CrunchCambridgeIP: Marketing Your Technology in the Credit Crunch
CambridgeIP: Marketing Your Technology in the Credit Crunch
 
GG中国香港职员拓展活动
GG中国香港职员拓展活动GG中国香港职员拓展活动
GG中国香港职员拓展活动
 

Similaire à Second review presentation

Zeroth review presentation - eBay Turmeric / SMC
Zeroth review presentation - eBay Turmeric / SMCZeroth review presentation - eBay Turmeric / SMC
Zeroth review presentation - eBay Turmeric / SMCArvind Krishnaa
 
Final review presentation
Final review presentationFinal review presentation
Final review presentationArvind Krishnaa
 
Final_Poster
Final_PosterFinal_Poster
Final_PosterAccenture
 
Part 1: DRS and DPM Implementation in Virtualized Environment, Part 2: Large ...
Part 1: DRS and DPM Implementation in Virtualized Environment, Part 2: Large ...Part 1: DRS and DPM Implementation in Virtualized Environment, Part 2: Large ...
Part 1: DRS and DPM Implementation in Virtualized Environment, Part 2: Large ...Akshay Wattal
 
How to Monitor Application Performance in a Container-Based World
How to Monitor Application Performance in a Container-Based WorldHow to Monitor Application Performance in a Container-Based World
How to Monitor Application Performance in a Container-Based WorldKen Owens
 
Monitoring Node.js Microservices on CloudFoundry with Open Source Tools and a...
Monitoring Node.js Microservices on CloudFoundry with Open Source Tools and a...Monitoring Node.js Microservices on CloudFoundry with Open Source Tools and a...
Monitoring Node.js Microservices on CloudFoundry with Open Source Tools and a...Tony Erwin
 
Architecture for monitoring applications in Cloud
Architecture for monitoring applications in CloudArchitecture for monitoring applications in Cloud
Architecture for monitoring applications in CloudOnkar Kadam
 
Multi-Cloud Micro-Services with CloudFoundry
Multi-Cloud Micro-Services with CloudFoundryMulti-Cloud Micro-Services with CloudFoundry
Multi-Cloud Micro-Services with CloudFoundrygeekclub888
 
How to Create Observable Integration Solutions Using WSO2 Enterprise Integrator
How to Create Observable Integration Solutions Using WSO2 Enterprise IntegratorHow to Create Observable Integration Solutions Using WSO2 Enterprise Integrator
How to Create Observable Integration Solutions Using WSO2 Enterprise IntegratorWSO2
 
Schema-based multi-tenant architecture using Quarkus & Hibernate-ORM.pdf
Schema-based multi-tenant architecture using Quarkus & Hibernate-ORM.pdfSchema-based multi-tenant architecture using Quarkus & Hibernate-ORM.pdf
Schema-based multi-tenant architecture using Quarkus & Hibernate-ORM.pdfseo18
 
Netserv Technology Services
Netserv Technology ServicesNetserv Technology Services
Netserv Technology Servicessthicks14
 
OSMC 2019 | Monitoring Cockpit for Kubernetes Clusters by Ulrike Klusik
OSMC 2019 | Monitoring Cockpit for Kubernetes Clusters by Ulrike KlusikOSMC 2019 | Monitoring Cockpit for Kubernetes Clusters by Ulrike Klusik
OSMC 2019 | Monitoring Cockpit for Kubernetes Clusters by Ulrike KlusikNETWAYS
 
Keynote 1 the rise of stream processing for data management & micro serv...
Keynote 1  the rise of stream processing for data management & micro serv...Keynote 1  the rise of stream processing for data management & micro serv...
Keynote 1 the rise of stream processing for data management & micro serv...Sabri Skhiri
 

Similaire à Second review presentation (20)

Zeroth review presentation - eBay Turmeric / SMC
Zeroth review presentation - eBay Turmeric / SMCZeroth review presentation - eBay Turmeric / SMC
Zeroth review presentation - eBay Turmeric / SMC
 
Final review presentation
Final review presentationFinal review presentation
Final review presentation
 
Final_Poster
Final_PosterFinal_Poster
Final_Poster
 
Final_Poster
Final_PosterFinal_Poster
Final_Poster
 
Sassy
SassySassy
Sassy
 
Part 1: DRS and DPM Implementation in Virtualized Environment, Part 2: Large ...
Part 1: DRS and DPM Implementation in Virtualized Environment, Part 2: Large ...Part 1: DRS and DPM Implementation in Virtualized Environment, Part 2: Large ...
Part 1: DRS and DPM Implementation in Virtualized Environment, Part 2: Large ...
 
SCE 3
SCE 3SCE 3
SCE 3
 
How to Monitor Application Performance in a Container-Based World
How to Monitor Application Performance in a Container-Based WorldHow to Monitor Application Performance in a Container-Based World
How to Monitor Application Performance in a Container-Based World
 
Monitoring Node.js Microservices on CloudFoundry with Open Source Tools and a...
Monitoring Node.js Microservices on CloudFoundry with Open Source Tools and a...Monitoring Node.js Microservices on CloudFoundry with Open Source Tools and a...
Monitoring Node.js Microservices on CloudFoundry with Open Source Tools and a...
 
Architecture for monitoring applications in Cloud
Architecture for monitoring applications in CloudArchitecture for monitoring applications in Cloud
Architecture for monitoring applications in Cloud
 
Multi-Cloud Micro-Services with CloudFoundry
Multi-Cloud Micro-Services with CloudFoundryMulti-Cloud Micro-Services with CloudFoundry
Multi-Cloud Micro-Services with CloudFoundry
 
How to Create Observable Integration Solutions Using WSO2 Enterprise Integrator
How to Create Observable Integration Solutions Using WSO2 Enterprise IntegratorHow to Create Observable Integration Solutions Using WSO2 Enterprise Integrator
How to Create Observable Integration Solutions Using WSO2 Enterprise Integrator
 
Predix
PredixPredix
Predix
 
Schema-based multi-tenant architecture using Quarkus & Hibernate-ORM.pdf
Schema-based multi-tenant architecture using Quarkus & Hibernate-ORM.pdfSchema-based multi-tenant architecture using Quarkus & Hibernate-ORM.pdf
Schema-based multi-tenant architecture using Quarkus & Hibernate-ORM.pdf
 
Monitoring with Prometheus
Monitoring with PrometheusMonitoring with Prometheus
Monitoring with Prometheus
 
Netserv Technology Services
Netserv Technology ServicesNetserv Technology Services
Netserv Technology Services
 
OSMC 2019 | Monitoring Cockpit for Kubernetes Clusters by Ulrike Klusik
OSMC 2019 | Monitoring Cockpit for Kubernetes Clusters by Ulrike KlusikOSMC 2019 | Monitoring Cockpit for Kubernetes Clusters by Ulrike Klusik
OSMC 2019 | Monitoring Cockpit for Kubernetes Clusters by Ulrike Klusik
 
Microservices
MicroservicesMicroservices
Microservices
 
Remoting and serialization
Remoting and serializationRemoting and serialization
Remoting and serialization
 
Keynote 1 the rise of stream processing for data management & micro serv...
Keynote 1  the rise of stream processing for data management & micro serv...Keynote 1  the rise of stream processing for data management & micro serv...
Keynote 1 the rise of stream processing for data management & micro serv...
 

Plus de Arvind Krishnaa

Twitter Agreement Analysis
Twitter Agreement AnalysisTwitter Agreement Analysis
Twitter Agreement AnalysisArvind Krishnaa
 
Human Altruism and Cooperation
Human Altruism and CooperationHuman Altruism and Cooperation
Human Altruism and CooperationArvind Krishnaa
 
First review presentation
First review presentationFirst review presentation
First review presentationArvind Krishnaa
 
Canvas Based Presentation tool - First Review
Canvas Based Presentation tool - First ReviewCanvas Based Presentation tool - First Review
Canvas Based Presentation tool - First ReviewArvind Krishnaa
 
Canvas Based Presentation - Zeroth Review
Canvas Based Presentation - Zeroth ReviewCanvas Based Presentation - Zeroth Review
Canvas Based Presentation - Zeroth ReviewArvind Krishnaa
 
Data Binding and Data Grid View Classes
Data Binding and Data Grid View ClassesData Binding and Data Grid View Classes
Data Binding and Data Grid View ClassesArvind Krishnaa
 
Smart camera monitoring system
Smart camera monitoring systemSmart camera monitoring system
Smart camera monitoring systemArvind Krishnaa
 
Unix Shell and System Boot Process
Unix Shell and System Boot ProcessUnix Shell and System Boot Process
Unix Shell and System Boot ProcessArvind Krishnaa
 
Design and Analysis of Algorithms
Design and Analysis of AlgorithmsDesign and Analysis of Algorithms
Design and Analysis of AlgorithmsArvind Krishnaa
 

Plus de Arvind Krishnaa (14)

Twitter Agreement Analysis
Twitter Agreement AnalysisTwitter Agreement Analysis
Twitter Agreement Analysis
 
Analogical thinking
Analogical thinkingAnalogical thinking
Analogical thinking
 
Human Altruism and Cooperation
Human Altruism and CooperationHuman Altruism and Cooperation
Human Altruism and Cooperation
 
Chowka bhara
Chowka bharaChowka bhara
Chowka bhara
 
Canscape
CanscapeCanscape
Canscape
 
First review presentation
First review presentationFirst review presentation
First review presentation
 
Canvas Based Presentation tool - First Review
Canvas Based Presentation tool - First ReviewCanvas Based Presentation tool - First Review
Canvas Based Presentation tool - First Review
 
Canvas Based Presentation - Zeroth Review
Canvas Based Presentation - Zeroth ReviewCanvas Based Presentation - Zeroth Review
Canvas Based Presentation - Zeroth Review
 
Data Binding and Data Grid View Classes
Data Binding and Data Grid View ClassesData Binding and Data Grid View Classes
Data Binding and Data Grid View Classes
 
Smart camera monitoring system
Smart camera monitoring systemSmart camera monitoring system
Smart camera monitoring system
 
Marine Pollution
Marine PollutionMarine Pollution
Marine Pollution
 
Unix Shell and System Boot Process
Unix Shell and System Boot ProcessUnix Shell and System Boot Process
Unix Shell and System Boot Process
 
Multithreading Concepts
Multithreading ConceptsMultithreading Concepts
Multithreading Concepts
 
Design and Analysis of Algorithms
Design and Analysis of AlgorithmsDesign and Analysis of Algorithms
Design and Analysis of Algorithms
 

Dernier

The basics of sentences session 10pptx.pptx
The basics of sentences session 10pptx.pptxThe basics of sentences session 10pptx.pptx
The basics of sentences session 10pptx.pptxheathfieldcps1
 
In - Vivo and In - Vitro Correlation.pptx
In - Vivo and In - Vitro Correlation.pptxIn - Vivo and In - Vitro Correlation.pptx
In - Vivo and In - Vitro Correlation.pptxAditiChauhan701637
 
Quality Assurance_GOOD LABORATORY PRACTICE
Quality Assurance_GOOD LABORATORY PRACTICEQuality Assurance_GOOD LABORATORY PRACTICE
Quality Assurance_GOOD LABORATORY PRACTICESayali Powar
 
The Singapore Teaching Practice document
The Singapore Teaching Practice documentThe Singapore Teaching Practice document
The Singapore Teaching Practice documentXsasf Sfdfasd
 
HED Office Sohayok Exam Question Solution 2023.pdf
HED Office Sohayok Exam Question Solution 2023.pdfHED Office Sohayok Exam Question Solution 2023.pdf
HED Office Sohayok Exam Question Solution 2023.pdfMohonDas
 
P4C x ELT = P4ELT: Its Theoretical Background (Kanazawa, 2024 March).pdf
P4C x ELT = P4ELT: Its Theoretical Background (Kanazawa, 2024 March).pdfP4C x ELT = P4ELT: Its Theoretical Background (Kanazawa, 2024 March).pdf
P4C x ELT = P4ELT: Its Theoretical Background (Kanazawa, 2024 March).pdfYu Kanazawa / Osaka University
 
PISA-VET launch_El Iza Mohamedou_19 March 2024.pptx
PISA-VET launch_El Iza Mohamedou_19 March 2024.pptxPISA-VET launch_El Iza Mohamedou_19 March 2024.pptx
PISA-VET launch_El Iza Mohamedou_19 March 2024.pptxEduSkills OECD
 
CAULIFLOWER BREEDING 1 Parmar pptx
CAULIFLOWER BREEDING 1 Parmar pptxCAULIFLOWER BREEDING 1 Parmar pptx
CAULIFLOWER BREEDING 1 Parmar pptxSaurabhParmar42
 
Ultra structure and life cycle of Plasmodium.pptx
Ultra structure and life cycle of Plasmodium.pptxUltra structure and life cycle of Plasmodium.pptx
Ultra structure and life cycle of Plasmodium.pptxDr. Asif Anas
 
Easter in the USA presentation by Chloe.
Easter in the USA presentation by Chloe.Easter in the USA presentation by Chloe.
Easter in the USA presentation by Chloe.EnglishCEIPdeSigeiro
 
Maximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdf
Maximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdfMaximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdf
Maximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdfTechSoup
 
Philosophy of Education and Educational Philosophy
Philosophy of Education  and Educational PhilosophyPhilosophy of Education  and Educational Philosophy
Philosophy of Education and Educational PhilosophyShuvankar Madhu
 
CHUYÊN ĐỀ DẠY THÊM TIẾNG ANH LỚP 11 - GLOBAL SUCCESS - NĂM HỌC 2023-2024 - HK...
CHUYÊN ĐỀ DẠY THÊM TIẾNG ANH LỚP 11 - GLOBAL SUCCESS - NĂM HỌC 2023-2024 - HK...CHUYÊN ĐỀ DẠY THÊM TIẾNG ANH LỚP 11 - GLOBAL SUCCESS - NĂM HỌC 2023-2024 - HK...
CHUYÊN ĐỀ DẠY THÊM TIẾNG ANH LỚP 11 - GLOBAL SUCCESS - NĂM HỌC 2023-2024 - HK...Nguyen Thanh Tu Collection
 
3.21.24 The Origins of Black Power.pptx
3.21.24  The Origins of Black Power.pptx3.21.24  The Origins of Black Power.pptx
3.21.24 The Origins of Black Power.pptxmary850239
 
5 charts on South Africa as a source country for international student recrui...
5 charts on South Africa as a source country for international student recrui...5 charts on South Africa as a source country for international student recrui...
5 charts on South Africa as a source country for international student recrui...CaraSkikne1
 
How to Add Existing Field in One2Many Tree View in Odoo 17
How to Add Existing Field in One2Many Tree View in Odoo 17How to Add Existing Field in One2Many Tree View in Odoo 17
How to Add Existing Field in One2Many Tree View in Odoo 17Celine George
 
How to Manage Cross-Selling in Odoo 17 Sales
How to Manage Cross-Selling in Odoo 17 SalesHow to Manage Cross-Selling in Odoo 17 Sales
How to Manage Cross-Selling in Odoo 17 SalesCeline George
 
Practical Research 1 Lesson 9 Scope and delimitation.pptx
Practical Research 1 Lesson 9 Scope and delimitation.pptxPractical Research 1 Lesson 9 Scope and delimitation.pptx
Practical Research 1 Lesson 9 Scope and delimitation.pptxKatherine Villaluna
 
How to Use api.constrains ( ) in Odoo 17
How to Use api.constrains ( ) in Odoo 17How to Use api.constrains ( ) in Odoo 17
How to Use api.constrains ( ) in Odoo 17Celine George
 

Dernier (20)

The basics of sentences session 10pptx.pptx
The basics of sentences session 10pptx.pptxThe basics of sentences session 10pptx.pptx
The basics of sentences session 10pptx.pptx
 
In - Vivo and In - Vitro Correlation.pptx
In - Vivo and In - Vitro Correlation.pptxIn - Vivo and In - Vitro Correlation.pptx
In - Vivo and In - Vitro Correlation.pptx
 
Quality Assurance_GOOD LABORATORY PRACTICE
Quality Assurance_GOOD LABORATORY PRACTICEQuality Assurance_GOOD LABORATORY PRACTICE
Quality Assurance_GOOD LABORATORY PRACTICE
 
The Singapore Teaching Practice document
The Singapore Teaching Practice documentThe Singapore Teaching Practice document
The Singapore Teaching Practice document
 
HED Office Sohayok Exam Question Solution 2023.pdf
HED Office Sohayok Exam Question Solution 2023.pdfHED Office Sohayok Exam Question Solution 2023.pdf
HED Office Sohayok Exam Question Solution 2023.pdf
 
P4C x ELT = P4ELT: Its Theoretical Background (Kanazawa, 2024 March).pdf
P4C x ELT = P4ELT: Its Theoretical Background (Kanazawa, 2024 March).pdfP4C x ELT = P4ELT: Its Theoretical Background (Kanazawa, 2024 March).pdf
P4C x ELT = P4ELT: Its Theoretical Background (Kanazawa, 2024 March).pdf
 
PISA-VET launch_El Iza Mohamedou_19 March 2024.pptx
PISA-VET launch_El Iza Mohamedou_19 March 2024.pptxPISA-VET launch_El Iza Mohamedou_19 March 2024.pptx
PISA-VET launch_El Iza Mohamedou_19 March 2024.pptx
 
CAULIFLOWER BREEDING 1 Parmar pptx
CAULIFLOWER BREEDING 1 Parmar pptxCAULIFLOWER BREEDING 1 Parmar pptx
CAULIFLOWER BREEDING 1 Parmar pptx
 
Ultra structure and life cycle of Plasmodium.pptx
Ultra structure and life cycle of Plasmodium.pptxUltra structure and life cycle of Plasmodium.pptx
Ultra structure and life cycle of Plasmodium.pptx
 
Easter in the USA presentation by Chloe.
Easter in the USA presentation by Chloe.Easter in the USA presentation by Chloe.
Easter in the USA presentation by Chloe.
 
Maximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdf
Maximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdfMaximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdf
Maximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdf
 
Philosophy of Education and Educational Philosophy
Philosophy of Education  and Educational PhilosophyPhilosophy of Education  and Educational Philosophy
Philosophy of Education and Educational Philosophy
 
Prelims of Kant get Marx 2.0: a general politics quiz
Prelims of Kant get Marx 2.0: a general politics quizPrelims of Kant get Marx 2.0: a general politics quiz
Prelims of Kant get Marx 2.0: a general politics quiz
 
CHUYÊN ĐỀ DẠY THÊM TIẾNG ANH LỚP 11 - GLOBAL SUCCESS - NĂM HỌC 2023-2024 - HK...
CHUYÊN ĐỀ DẠY THÊM TIẾNG ANH LỚP 11 - GLOBAL SUCCESS - NĂM HỌC 2023-2024 - HK...CHUYÊN ĐỀ DẠY THÊM TIẾNG ANH LỚP 11 - GLOBAL SUCCESS - NĂM HỌC 2023-2024 - HK...
CHUYÊN ĐỀ DẠY THÊM TIẾNG ANH LỚP 11 - GLOBAL SUCCESS - NĂM HỌC 2023-2024 - HK...
 
3.21.24 The Origins of Black Power.pptx
3.21.24  The Origins of Black Power.pptx3.21.24  The Origins of Black Power.pptx
3.21.24 The Origins of Black Power.pptx
 
5 charts on South Africa as a source country for international student recrui...
5 charts on South Africa as a source country for international student recrui...5 charts on South Africa as a source country for international student recrui...
5 charts on South Africa as a source country for international student recrui...
 
How to Add Existing Field in One2Many Tree View in Odoo 17
How to Add Existing Field in One2Many Tree View in Odoo 17How to Add Existing Field in One2Many Tree View in Odoo 17
How to Add Existing Field in One2Many Tree View in Odoo 17
 
How to Manage Cross-Selling in Odoo 17 Sales
How to Manage Cross-Selling in Odoo 17 SalesHow to Manage Cross-Selling in Odoo 17 Sales
How to Manage Cross-Selling in Odoo 17 Sales
 
Practical Research 1 Lesson 9 Scope and delimitation.pptx
Practical Research 1 Lesson 9 Scope and delimitation.pptxPractical Research 1 Lesson 9 Scope and delimitation.pptx
Practical Research 1 Lesson 9 Scope and delimitation.pptx
 
How to Use api.constrains ( ) in Odoo 17
How to Use api.constrains ( ) in Odoo 17How to Use api.constrains ( ) in Odoo 17
How to Use api.constrains ( ) in Odoo 17
 

Second review presentation

  • 1. Design and Implementation of a Service Monitoring Console within a Service Oriented Architecture Framework Arvind Krishnaa .J 31508104017 Guided By Dr. Chitra Babu HOD/CSE SSN College of Engineering Second Review - 30th March, 2012
  • 2. Turmeric Runtime Platform 1 Client Runtime - Client application code written by the consumers of the service. Service Invocation Framework(SIF)
  • 3. Turmeric Runtime Platform 1 Client Runtime - Client application code written by the consumers of the service. Service Invocation Framework(SIF) 2 Server Runtime - Deployment platform for developers to publish web services. Service Provider Framework (SPF)
  • 4. Turmeric Runtime Platform 1 Client Runtime - Client application code written by the consumers of the service. Service Invocation Framework(SIF) 2 Server Runtime - Deployment platform for developers to publish web services. Service Provider Framework (SPF) 3 CodeGen - Generate instrumentation code for deploying services onto Turmeric.
  • 5. Central Application Logging Framework Centralized collection of application server logs
  • 6. Central Application Logging Framework Centralized collection of application server logs Base for collecting data for the monitoring console
  • 7. Central Application Logging Framework Centralized collection of application server logs Base for collecting data for the monitoring console Ability to generate custom reports from this data
  • 8. Central Application Logging Framework Centralized collection of application server logs Base for collecting data for the monitoring console Ability to generate custom reports from this data TMC is a specific instance of a report created using CAL
  • 9. Architecture of the Monitoring Console 1 Can be abstracted to two frameworks running in parallel - metrics logging framework and metrics handler framework
  • 10. Architecture of the Monitoring Console 1 Can be abstracted to two frameworks running in parallel - metrics logging framework and metrics handler framework 2 Both frameworks are web services deployed on an application server
  • 11. Architecture of the Monitoring Console 1 Can be abstracted to two frameworks running in parallel - metrics logging framework and metrics handler framework 2 Both frameworks are web services deployed on an application server 3 SOA Query Metrics Service (sqms) - Logging logging handler framework
  • 12. Architecture of the Monitoring Console 1 Can be abstracted to two frameworks running in parallel - metrics logging framework and metrics handler framework 2 Both frameworks are web services deployed on an application server 3 SOA Query Metrics Service (sqms) - Logging logging handler framework 4 Monitoring Console (console) - Metrics handler framework
  • 13. SOA Query Metrics Service (SQMS) Figure 1: Architecture of SQMS
  • 14. Working of SQMS 1 SPFServlet is the main servlet which handles the requests to the Turmeric runtime. 2 Initializes the CAL logger for logging metrics published by Turmeric services. 3 Metric data logged in a format called heartbeats. 4 Log message casted into a JMX MBean like object. 5 The MBean object is dispatched to the JMX servlet and published to a controller interface (Agent Service)
  • 15. Metrics Storage Provider Java interface for defining the underlying storage mechanism
  • 16. Metrics Storage Provider Java interface for defining the underlying storage mechanism Provides the general contract for defining the queries to store metrics into the persistence mechanism
  • 17. Metrics Storage Provider Java interface for defining the underlying storage mechanism Provides the general contract for defining the queries to store metrics into the persistence mechanism Can be extended to provide custom implementations, for various Hibernate- compliant databases.
  • 18. Metrics Storage Provider Java interface for defining the underlying storage mechanism Provides the general contract for defining the queries to store metrics into the persistence mechanism Can be extended to provide custom implementations, for various Hibernate- compliant databases. Currently two implementations are provided - DAO(based on a MySql storage) and Cassandra (partially implemented)
  • 19. Metrics Logging 1 saveMetricValue(): It receives the timestamp, metric name, and a key-value pair to store the metric value, and converts it to row oriented format for MySQL storage (or name-value pair for Cassandra) 2 saveMetricSnapshot(): Encapsulates the above received metrics objects into a MBean instance and sends it to the JMX server for publication.
  • 20. Logging helper utilities 1 Snapshot File Logger: Logs the aggregated metrics into a .log file 2 Differential Snapshot View Logger: Calculating the percentage changes between the metrics collected on two different days. 3 Monitoring System: Schedules the metrics logging process to be performed at regular intervals. Presently it is set at 60 seconds.
  • 21. Logging Handlers 1 Metrics Storage Provider Interface Defines a framework which runs two MetricsSnapshotSchedulers in separate background threads, one for the client-side metrics and the other for the server-side metrics Calls the saveMetricsSnapshot() method to store the metric data. 2 DAO Metrics Provider : The provider implementation for MySQL persistence mechanism 3 Cassandra Storage Provider: Implementation for Cassandra storage. Any custom persistence mechanism can also be integrated.
  • 22. Monitoring Console Service (TMC) Figure 2: Architecture of Monitoring Dashboard
  • 23. Implementation of TMC service Responsible for constructing user interface of monitoring dashboard
  • 24. Implementation of TMC service Responsible for constructing user interface of monitoring dashboard Retrieves the encapsulated data in the form of a MetricsData instance
  • 25. Implementation of TMC service Responsible for constructing user interface of monitoring dashboard Retrieves the encapsulated data in the form of a MetricsData instance This object is serialized into JSON format and sent to the Google Web Toolkit’s charting API
  • 26. Implementation of TMC service Responsible for constructing user interface of monitoring dashboard Retrieves the encapsulated data in the form of a MetricsData instance This object is serialized into JSON format and sent to the Google Web Toolkit’s charting API GWT API constructs the trends chart based on the JSON data
  • 27. Implementation of TMC service Responsible for constructing user interface of monitoring dashboard Retrieves the encapsulated data in the form of a MetricsData instance This object is serialized into JSON format and sent to the Google Web Toolkit’s charting API GWT API constructs the trends chart based on the JSON data A REST URI is created for every JSON object, and a link is created in the dashboard.
  • 28. Implementation of TMC service Responsible for constructing user interface of monitoring dashboard Retrieves the encapsulated data in the form of a MetricsData instance This object is serialized into JSON format and sent to the Google Web Toolkit’s charting API GWT API constructs the trends chart based on the JSON data A REST URI is created for every JSON object, and a link is created in the dashboard. The metrics detail can be exported into a CSV file as well.
  • 29. Offline Aggregator - A Partial Implementation Objective of collecting the distributed metrics across cluster of nodes, by utilizing Cassandra storage. Only the storage into Cassandra keyspace has been implemented Hooks are provided to read data across distributed nodes, to make this feature full-fledged. Three main classes for implementing offline-aggregation 1 Readers 2 Writers 3 Erasers
  • 30. Overview of Readers, Writers and Erasers Readers: Read the data from the offline cluster, de-serialize the MetricsData objects and display it in the dashboard. Different reader classes are available to customize metrics reading, in the future. (Classes need to be extended with custom implementation)
  • 31. Overview of Readers, Writers and Erasers Readers: Read the data from the offline cluster, de-serialize the MetricsData objects and display it in the dashboard. Different reader classes are available to customize metrics reading, in the future. (Classes need to be extended with custom implementation) Writers: Write data into the offline cluster, by serializing the metrics into MetricsData objects. Different writer base classes available for extending with custom implementations.
  • 32. Overview of Readers, Writers and Erasers Readers: Read the data from the offline cluster, de-serialize the MetricsData objects and display it in the dashboard. Different reader classes are available to customize metrics reading, in the future. (Classes need to be extended with custom implementation) Writers: Write data into the offline cluster, by serializing the metrics into MetricsData objects. Different writer base classes available for extending with custom implementations. Erasers: Erase the data from the offline cluster.
  • 33. Overview of Readers, Writers and Erasers Figure 3: Overview of Reader, Writers and Erasers
  • 34. Partial Demo 1 Nuts and bolts of Turmeric SOA services 2 Sample REST URLs for metrics 3 Walkthrough of database schema and significant implementation classes 4 Overview of data aggregator tool 5 Tour of the user interface
  • 35. Screenshots - SMC Dashboard for an eBay service Figure 4: ShortURI Service
  • 36. Screenshots - Turmeric Top volume graph Figure 5: Example Echo Service
  • 37. Screenshots - Turmeric Consumer trends Figure 6: Example Echo Service
  • 38. Data Aggregator tool Figure 7: Ad hoc querying
  • 39. Data Aggregator tool – Contd. Figure 8: Ad hoc querying
  • 40. Implementation Schedule Figure 9: Project Roadmap
  • 41. References [1]Jeffrey Dean, Sanjay Ghemawat, MapReduce: Simplified Data Processing on Large Clusters, In Sixth Symposium on Operating System Design and Implementation(OSDI’04), San Francisco, CA, December, 2004 [2] Eben Hewitt, Cassandra: The Definitive Guide, O’Reilly Publications, November 2010. [3] eBay Open Source Project, Turmeric SOA platform, http: //www.ebayopensource.org/index.php/Turmeric/HomePage
  • 42. References [4] eBay Open Source Project, Documentation of Turmeric SOA platform, https://www.ebayopensource.org/wiki/display/ TURMERICDOC110GA/Turmeric+Documentation+Overview [5] eBay Open Source Project, Turmeric Source Code, http://www.github.com/ebayopensource [6] Internal eBay documentation [7] Google Web Toolkit, http://code.google.com/webtoolkit [8] Apache Cassandra, http://cassandra.apache.org/