SlideShare uma empresa Scribd logo
1 de 42
Baixar para ler offline
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/

Mais conteúdo relacionado

Destaque

How to-write-a-story
How to-write-a-storyHow to-write-a-story
How to-write-a-story
Rocio Torres
 
Immigration Laws
Immigration LawsImmigration Laws
Immigration Laws
drfelix12
 
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
Mohammad Subhan
 
Goodrich china beijing retreat
Goodrich china beijing retreatGoodrich china beijing retreat
Goodrich china beijing retreat
Goodrich Global
 
My cool new Slideshow!
My cool new Slideshow!My cool new Slideshow!
My cool new Slideshow!
Parag Gajbhiye
 
Third review presentation
Third review presentationThird review presentation
Third review presentation
Arvind Krishnaa
 
GG中国香港职员拓展活动
GG中国香港职员拓展活动GG中国香港职员拓展活动
GG中国香港职员拓展活动
Goodrich Global
 

Destaque (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中国香港职员拓展活动
 

Semelhante a 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 / SMC
Arvind Krishnaa
 
Final review presentation
Final review presentationFinal review presentation
Final review presentation
Arvind Krishnaa
 
Final_Poster
Final_PosterFinal_Poster
Final_Poster
Accenture
 
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 Cloud
Onkar Kadam
 

Semelhante a 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...
 

Mais de Arvind Krishnaa

Twitter Agreement Analysis
Twitter Agreement AnalysisTwitter Agreement Analysis
Twitter Agreement Analysis
Arvind Krishnaa
 
Canvas Based Presentation tool - First Review
Canvas Based Presentation tool - First ReviewCanvas Based Presentation tool - First Review
Canvas Based Presentation tool - First Review
Arvind Krishnaa
 
Smart camera monitoring system
Smart camera monitoring systemSmart camera monitoring system
Smart camera monitoring system
Arvind Krishnaa
 

Mais 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
 

Último

Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 

Último (20)

Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 

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/