SlideShare a Scribd company logo
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/

More Related Content

PPT
Webx 2010
PPTX
About HTTP and REST
PPTX
Axon Framework, Exploring CQRS and Event Sourcing Architecture
PDF
Webinar - What's new in Axon 3
PPTX
Ssn#14 reporting services part ii
PDF
17 51-1-pb
PDF
Jamcracker Cloud Management Platform Updates: Devops Framework, Migration Pla...
PPT
Towards secure and dependable storage service in cloud
Webx 2010
About HTTP and REST
Axon Framework, Exploring CQRS and Event Sourcing Architecture
Webinar - What's new in Axon 3
Ssn#14 reporting services part ii
17 51-1-pb
Jamcracker Cloud Management Platform Updates: Devops Framework, Migration Pla...
Towards secure and dependable storage service in cloud

Viewers also liked (20)

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

Similar to Second review presentation (20)

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

More from Arvind Krishnaa (14)

PPTX
Twitter Agreement Analysis
PPTX
Analogical thinking
PPTX
Human Altruism and Cooperation
PDF
Chowka bhara
PDF
Canscape
PDF
First review presentation
PDF
Canvas Based Presentation tool - First Review
PPTX
Canvas Based Presentation - Zeroth Review
PDF
Data Binding and Data Grid View Classes
PPT
Smart camera monitoring system
ODP
Marine Pollution
PPTX
Unix Shell and System Boot Process
ODP
Multithreading Concepts
PPTX
Design and Analysis of Algorithms
Twitter Agreement Analysis
Analogical thinking
Human Altruism and Cooperation
Chowka bhara
Canscape
First review presentation
Canvas Based Presentation tool - First Review
Canvas Based Presentation - Zeroth Review
Data Binding and Data Grid View Classes
Smart camera monitoring system
Marine Pollution
Unix Shell and System Boot Process
Multithreading Concepts
Design and Analysis of Algorithms

Recently uploaded (20)

PDF
RMMM.pdf make it easy to upload and study
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PPTX
Pharma ospi slides which help in ospi learning
PDF
Microbial disease of the cardiovascular and lymphatic systems
PDF
Anesthesia in Laparoscopic Surgery in India
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PPTX
master seminar digital applications in india
PDF
Weekly quiz Compilation Jan -July 25.pdf
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
Classroom Observation Tools for Teachers
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PPTX
202450812 BayCHI UCSC-SV 20250812 v17.pptx
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
Chinmaya Tiranga quiz Grand Finale.pdf
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
RMMM.pdf make it easy to upload and study
Final Presentation General Medicine 03-08-2024.pptx
O7-L3 Supply Chain Operations - ICLT Program
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
Pharma ospi slides which help in ospi learning
Microbial disease of the cardiovascular and lymphatic systems
Anesthesia in Laparoscopic Surgery in India
Final Presentation General Medicine 03-08-2024.pptx
human mycosis Human fungal infections are called human mycosis..pptx
master seminar digital applications in india
Weekly quiz Compilation Jan -July 25.pdf
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
O5-L3 Freight Transport Ops (International) V1.pdf
Classroom Observation Tools for Teachers
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
202450812 BayCHI UCSC-SV 20250812 v17.pptx
Abdominal Access Techniques with Prof. Dr. R K Mishra
Chinmaya Tiranga quiz Grand Finale.pdf
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf

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/