SlideShare a Scribd company logo
(ATS04-PLAT07) Interactive Charts
          Revamped
                                 Olga Ignatova
                 Senior Manager, Platform R&D
                   Olga.Ignatova@accelrys.com
The information on the roadmap and future software development efforts are
intended to outline general product direction and should not be relied on in making
a purchasing decision.
Agenda
• Interactive charts in 8.5
• Requirements for new charts
• How we got there
   –   Charting data caching
   –   Server-side operations
   –   Charting service in Tomcat
   –   Binning in XY chart
• Performance comparison of charts in 9.0 vs. 8.5
• XY Chart enhancements
• Going forward
Interactive Charts in 8.5

• 8.5 charts are Flash-based
   – Fail with large volumes of data
   – Poor rendering and interactivity with 10K+ data points
   – Not supported on iOS devices
New Charting Requirements

• Handle 100K+ data points
• Really interactive, even with large data volumes
• iOS-ready
Charting Data Caching

• In 8.5
   – Charts create heavy nodes on data records. Writers read data
     from data records and generate images
• In 9.0
   – Charts write data to cache. Writers read data from cache and
     generate chart images
   – Minimizes Java/C++ data passing
   – More efficient cache serialization
   – Performance improvement affects all chart types
Demo
 • Data caching in 9.0 charts
Server-side Operations

• In 8.5
   – Interactive charts are Flash-based - data stored on the server,
     processing done on the client
• In 9.0
   – Interactive charts are images + JavaScript
   – JavaScript translates user actions to web service calls
   – Web service re-generates chart image or returns point
     information (tooltip, link, HTML attributes)
Charting Service in Tomcat

• Initially, charting service was a protocol
• However…
   –   AEP server was overload with unnecessary scisvr processes
   –   Tomcat is part of standard AEP deployment
   –   Charting code is Java-based
   –   Java classes remain in Tomcat
   –   Response time and throughput of charting operations in Tomcat
       meet requirements
• Decision: move charting service to Tomcat
Response Time of Charting Operations in Tomcat
                          1400


                          1200


                          1000
 Response time (ms)




                           800


                           600


                           400


                           200


                            0
                                   1       5       10      20     50      1       5       10      20     50       1        5        10     20       50
                                                   100                                   10000                                    100000
                 Fetch Tooltip    5.46    17.1    37.44   84.24 265.195 5.616    17.16   37.44   96.72 233.995   5.93    16.38    43.679 102.96    241.8
                 Select          29.177   63.97   135.74 268.36 725.44   33.23   79.56 162.248 355.687 904.76    47.73   121.67    246     475    1302.54
Throughput of Charting Operations in Tomcat
                            350


                            300
 Throughput (req/sec)




                            250


                            200


                            150


                            100


                            50


                             0
                                   1       5       10      20      50      1       5       10      20      50      1       5        10      20      50
                                                  100                                     10000                                   100000
                   Fetch Tooltip 183.15 291.38    267.1   237.42 188.54 178.07 291.38     267.1   206.79 213.68 168.69 305.26 228.94 194.25 206.79
                   Select         34.27   78.16   73.67   74.53   68.92   30.09   62.84   61.63   56.23   55.26   20.95   41.09   40.57    36.63   38.38
Interactive Charting Architecture
   scisvr                                        Web Browser                               User

                2. Generate initial chart                               3. User action




                                                      5. Authenticate
                               6. Read
                                                       7. Regenerate chart

            Charting Cache                  Tomcat                                Apache
Binning in XY Chart

• Binning only with large number of data points
• Binning on initial chart generation and on zoom
   – Chart area is a grid of 3x3 pixel bins
   – Bins filled with data points
   – Two caches - all points and top points
• Top points cache used with most operations
• Only top points are drawn
• On zoom data is re-binned
Performance of XY Charts in 9.0 vs. 8.5
                                  18

                                  16

                                  14
 Response time (sec)




                                  12

                                  10

                                   8

                                   6

                                   4




                                                                                                                                                             Failed
                                                                                              Failed




                                                                                                                            Failed
                                   2

                                   0
                                         100       10000       100000   100       10000       100000   100      10000       100000   100         10000      100000
                                                Protocol Run                   Browser Load              Single Click Selection             Multiple Selection
                  Response time in 8.5   0.05       1.5          16     0.5        10                  0.5        0.5                0.5           13
                  Response time in 9.0   0.05        1           9      0.01       0.01        0.01    0.02      0.03        0.03    0.03         0.035          0.05
Other XY Chart Enhancements

• New toolbar
   –   Select
   –   Zoom
   –   Pan
   –   Reset
• Keyboard shortcuts
• Extended Scriptable Chart API
Demo
 • Charts in 8.5 vs. 9.0
 • New XY Chart features
Charts Using New Architecture

•   XY Chart
•   XY Chart (Categorical) – new!
•   Histograms (Numerical and Categorical)
•   Bar Chart
•   Pie Chart
•   Line Chart
•   ...
Going Forward

• Convert remaining charts to new architecture
• Further optimizations
• HTML5
Summary

• Many charts in 9.0 use new charting architecture
• Converted charts handle 100K+ data points
• Related Tech Summit Sessions:
   – (ATS4-PLAT01) Core Architecture Changes in AEP 9.0 and their
     Impact on Administrators

More Related Content

Similar to (ATS4-PLAT07) Interactive Charts Revamped

Knowledge Area By Project Phase Excel Array Formulas
Knowledge Area By Project Phase   Excel Array FormulasKnowledge Area By Project Phase   Excel Array Formulas
Knowledge Area By Project Phase Excel Array Formulas
Forrest Kovach, MBA, PMP
 
MLflow at Company Scale
MLflow at Company ScaleMLflow at Company Scale
MLflow at Company Scale
Databricks
 
GI2010 symposium-kliment (inspire-md-tests)
GI2010 symposium-kliment (inspire-md-tests)GI2010 symposium-kliment (inspire-md-tests)
GI2010 symposium-kliment (inspire-md-tests)IGN Vorstand
 
(ATS3-PLAT01) Recent developments in Pipeline Pilot
(ATS3-PLAT01) Recent developments in Pipeline Pilot(ATS3-PLAT01) Recent developments in Pipeline Pilot
(ATS3-PLAT01) Recent developments in Pipeline Pilot
BIOVIA
 
Performance Of Web Applications On Client Machines
Performance Of Web Applications On Client MachinesPerformance Of Web Applications On Client Machines
Performance Of Web Applications On Client Machines
Curelet Marius
 
Spark Summit EU talk by Nick Pentreath
Spark Summit EU talk by Nick PentreathSpark Summit EU talk by Nick Pentreath
Spark Summit EU talk by Nick Pentreath
Spark Summit
 
How and why we evolved a legacy Java web application to Scala... and we are s...
How and why we evolved a legacy Java web application to Scala... and we are s...How and why we evolved a legacy Java web application to Scala... and we are s...
How and why we evolved a legacy Java web application to Scala... and we are s...
Katia Aresti
 
(DEV309) Large-Scale Metrics Analysis in Ruby
(DEV309) Large-Scale Metrics Analysis in Ruby(DEV309) Large-Scale Metrics Analysis in Ruby
(DEV309) Large-Scale Metrics Analysis in Ruby
Amazon Web Services
 
Honours Project Presentation
Honours Project PresentationHonours Project Presentation
Honours Project Presentationkarsithe
 
Boredom comes to_those_who_wait
Boredom comes to_those_who_waitBoredom comes to_those_who_wait
Boredom comes to_those_who_wait
Ricardo Bánffy
 
Capacity Planning for Linux Systems
Capacity Planning for Linux SystemsCapacity Planning for Linux Systems
Capacity Planning for Linux Systems
Rodrigo Campos
 
SPICE MODEL of RN1107FS in SPICE PARK
SPICE MODEL of RN1107FS in SPICE PARKSPICE MODEL of RN1107FS in SPICE PARK
SPICE MODEL of RN1107FS in SPICE PARK
Tsuyoshi Horigome
 
Vmug hyper v overview
Vmug hyper v overviewVmug hyper v overview
Vmug hyper v overviewsubtitle
 
(ATS3-APP02) What's new in Isentris 4.0
(ATS3-APP02) What's new in Isentris 4.0(ATS3-APP02) What's new in Isentris 4.0
(ATS3-APP02) What's new in Isentris 4.0
BIOVIA
 
Tableau Online Training course by FuturePoint Technologies
Tableau Online Training course by FuturePoint TechnologiesTableau Online Training course by FuturePoint Technologies
Tableau Online Training course by FuturePoint Technologies
Futurepoint13
 
Performance Oriented Design
Performance Oriented DesignPerformance Oriented Design
Performance Oriented Design
Rodrigo Campos
 
COLO: COarse-grain LOck-stepping Virtual Machines for Non-stop Service
COLO: COarse-grain LOck-stepping Virtual Machines for Non-stop ServiceCOLO: COarse-grain LOck-stepping Virtual Machines for Non-stop Service
COLO: COarse-grain LOck-stepping Virtual Machines for Non-stop Service
The Linux Foundation
 
Is ScalaC Getting Faster, or Am I just Imagining It
Is ScalaC Getting Faster, or Am I just Imagining ItIs ScalaC Getting Faster, or Am I just Imagining It
Is ScalaC Getting Faster, or Am I just Imagining It
Rory Graves
 
Siyapath - A P2P, Gossip based Volunteer Computing Framework
Siyapath - A P2P, Gossip based Volunteer Computing FrameworkSiyapath - A P2P, Gossip based Volunteer Computing Framework
Siyapath - A P2P, Gossip based Volunteer Computing Framework
Nadeeshani Hewage
 
Kane debt
Kane debtKane debt
Kane debtd0nn9n
 

Similar to (ATS4-PLAT07) Interactive Charts Revamped (20)

Knowledge Area By Project Phase Excel Array Formulas
Knowledge Area By Project Phase   Excel Array FormulasKnowledge Area By Project Phase   Excel Array Formulas
Knowledge Area By Project Phase Excel Array Formulas
 
MLflow at Company Scale
MLflow at Company ScaleMLflow at Company Scale
MLflow at Company Scale
 
GI2010 symposium-kliment (inspire-md-tests)
GI2010 symposium-kliment (inspire-md-tests)GI2010 symposium-kliment (inspire-md-tests)
GI2010 symposium-kliment (inspire-md-tests)
 
(ATS3-PLAT01) Recent developments in Pipeline Pilot
(ATS3-PLAT01) Recent developments in Pipeline Pilot(ATS3-PLAT01) Recent developments in Pipeline Pilot
(ATS3-PLAT01) Recent developments in Pipeline Pilot
 
Performance Of Web Applications On Client Machines
Performance Of Web Applications On Client MachinesPerformance Of Web Applications On Client Machines
Performance Of Web Applications On Client Machines
 
Spark Summit EU talk by Nick Pentreath
Spark Summit EU talk by Nick PentreathSpark Summit EU talk by Nick Pentreath
Spark Summit EU talk by Nick Pentreath
 
How and why we evolved a legacy Java web application to Scala... and we are s...
How and why we evolved a legacy Java web application to Scala... and we are s...How and why we evolved a legacy Java web application to Scala... and we are s...
How and why we evolved a legacy Java web application to Scala... and we are s...
 
(DEV309) Large-Scale Metrics Analysis in Ruby
(DEV309) Large-Scale Metrics Analysis in Ruby(DEV309) Large-Scale Metrics Analysis in Ruby
(DEV309) Large-Scale Metrics Analysis in Ruby
 
Honours Project Presentation
Honours Project PresentationHonours Project Presentation
Honours Project Presentation
 
Boredom comes to_those_who_wait
Boredom comes to_those_who_waitBoredom comes to_those_who_wait
Boredom comes to_those_who_wait
 
Capacity Planning for Linux Systems
Capacity Planning for Linux SystemsCapacity Planning for Linux Systems
Capacity Planning for Linux Systems
 
SPICE MODEL of RN1107FS in SPICE PARK
SPICE MODEL of RN1107FS in SPICE PARKSPICE MODEL of RN1107FS in SPICE PARK
SPICE MODEL of RN1107FS in SPICE PARK
 
Vmug hyper v overview
Vmug hyper v overviewVmug hyper v overview
Vmug hyper v overview
 
(ATS3-APP02) What's new in Isentris 4.0
(ATS3-APP02) What's new in Isentris 4.0(ATS3-APP02) What's new in Isentris 4.0
(ATS3-APP02) What's new in Isentris 4.0
 
Tableau Online Training course by FuturePoint Technologies
Tableau Online Training course by FuturePoint TechnologiesTableau Online Training course by FuturePoint Technologies
Tableau Online Training course by FuturePoint Technologies
 
Performance Oriented Design
Performance Oriented DesignPerformance Oriented Design
Performance Oriented Design
 
COLO: COarse-grain LOck-stepping Virtual Machines for Non-stop Service
COLO: COarse-grain LOck-stepping Virtual Machines for Non-stop ServiceCOLO: COarse-grain LOck-stepping Virtual Machines for Non-stop Service
COLO: COarse-grain LOck-stepping Virtual Machines for Non-stop Service
 
Is ScalaC Getting Faster, or Am I just Imagining It
Is ScalaC Getting Faster, or Am I just Imagining ItIs ScalaC Getting Faster, or Am I just Imagining It
Is ScalaC Getting Faster, or Am I just Imagining It
 
Siyapath - A P2P, Gossip based Volunteer Computing Framework
Siyapath - A P2P, Gossip based Volunteer Computing FrameworkSiyapath - A P2P, Gossip based Volunteer Computing Framework
Siyapath - A P2P, Gossip based Volunteer Computing Framework
 
Kane debt
Kane debtKane debt
Kane debt
 

More from BIOVIA

ScienceCloud: Collaborative Workflows in Biologics R&D
ScienceCloud: Collaborative Workflows in Biologics R&DScienceCloud: Collaborative Workflows in Biologics R&D
ScienceCloud: Collaborative Workflows in Biologics R&D
BIOVIA
 
(ATS6-PLAT03) What's behind Discngine collections
(ATS6-PLAT03) What's behind Discngine collections(ATS6-PLAT03) What's behind Discngine collections
(ATS6-PLAT03) What's behind Discngine collectionsBIOVIA
 
(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...
(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...
(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...
BIOVIA
 
(ATS6-PLAT07) Managing AEP in an enterprise environment
(ATS6-PLAT07) Managing AEP in an enterprise environment(ATS6-PLAT07) Managing AEP in an enterprise environment
(ATS6-PLAT07) Managing AEP in an enterprise environment
BIOVIA
 
(ATS6-PLAT06) Maximizing AEP Performance
(ATS6-PLAT06) Maximizing AEP Performance(ATS6-PLAT06) Maximizing AEP Performance
(ATS6-PLAT06) Maximizing AEP Performance
BIOVIA
 
(ATS6-PLAT05) Security enhancements in AEP 9
(ATS6-PLAT05) Security enhancements in AEP 9(ATS6-PLAT05) Security enhancements in AEP 9
(ATS6-PLAT05) Security enhancements in AEP 9
BIOVIA
 
(ATS6-PLAT04) Query service
(ATS6-PLAT04) Query service (ATS6-PLAT04) Query service
(ATS6-PLAT04) Query service
BIOVIA
 
(ATS6-PLAT02) Accelrys Catalog and Protocol Validation
(ATS6-PLAT02) Accelrys Catalog and Protocol Validation(ATS6-PLAT02) Accelrys Catalog and Protocol Validation
(ATS6-PLAT02) Accelrys Catalog and Protocol Validation
BIOVIA
 
(ATS6-PLAT01) Chemistry Harmonization: Bringing together the Direct 9 and Pip...
(ATS6-PLAT01) Chemistry Harmonization: Bringing together the Direct 9 and Pip...(ATS6-PLAT01) Chemistry Harmonization: Bringing together the Direct 9 and Pip...
(ATS6-PLAT01) Chemistry Harmonization: Bringing together the Direct 9 and Pip...
BIOVIA
 
(ATS6-GS04) Performance Analysis of Accelrys Enterprise Platform 9.0 on IBM’s...
(ATS6-GS04) Performance Analysis of Accelrys Enterprise Platform 9.0 on IBM’s...(ATS6-GS04) Performance Analysis of Accelrys Enterprise Platform 9.0 on IBM’s...
(ATS6-GS04) Performance Analysis of Accelrys Enterprise Platform 9.0 on IBM’s...
BIOVIA
 
(ATS6-GS02) Integrating Contur and HEOS
(ATS6-GS02) Integrating Contur and HEOS(ATS6-GS02) Integrating Contur and HEOS
(ATS6-GS02) Integrating Contur and HEOS
BIOVIA
 
(ATS6-GS01) Welcome
(ATS6-GS01) Welcome (ATS6-GS01) Welcome
(ATS6-GS01) Welcome
BIOVIA
 
(ATS6-DEV09) Deep Dive into REST and SOAP Integration for Protocol Authors
(ATS6-DEV09) Deep Dive into REST and SOAP Integration for Protocol Authors(ATS6-DEV09) Deep Dive into REST and SOAP Integration for Protocol Authors
(ATS6-DEV09) Deep Dive into REST and SOAP Integration for Protocol Authors
BIOVIA
 
(ATS6-DEV08) Integrating Contur ELN with other systems using a RESTful API
(ATS6-DEV08) Integrating Contur ELN with other systems using a RESTful API(ATS6-DEV08) Integrating Contur ELN with other systems using a RESTful API
(ATS6-DEV08) Integrating Contur ELN with other systems using a RESTful API
BIOVIA
 
(ATS6-DEV07) Building widgets for ELN home page
(ATS6-DEV07) Building widgets for ELN home page(ATS6-DEV07) Building widgets for ELN home page
(ATS6-DEV07) Building widgets for ELN home page
BIOVIA
 
(ATS6-DEV06) Using Packages for Protocol, Component, and Application Delivery
(ATS6-DEV06) Using Packages for Protocol, Component, and Application Delivery(ATS6-DEV06) Using Packages for Protocol, Component, and Application Delivery
(ATS6-DEV06) Using Packages for Protocol, Component, and Application Delivery
BIOVIA
 
(ATS6-DEV05) Building Interactive Web Applications with the Reporting Collection
(ATS6-DEV05) Building Interactive Web Applications with the Reporting Collection(ATS6-DEV05) Building Interactive Web Applications with the Reporting Collection
(ATS6-DEV05) Building Interactive Web Applications with the Reporting Collection
BIOVIA
 
(ATS6-DEV04) Building Web MashUp applications that include Accelrys Applicati...
(ATS6-DEV04) Building Web MashUp applications that include Accelrys Applicati...(ATS6-DEV04) Building Web MashUp applications that include Accelrys Applicati...
(ATS6-DEV04) Building Web MashUp applications that include Accelrys Applicati...
BIOVIA
 
(ATS6-DEV03) Building an Enterprise Web Solution with AEP
(ATS6-DEV03) Building an Enterprise Web Solution with AEP(ATS6-DEV03) Building an Enterprise Web Solution with AEP
(ATS6-DEV03) Building an Enterprise Web Solution with AEP
BIOVIA
 
(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies
BIOVIA
 

More from BIOVIA (20)

ScienceCloud: Collaborative Workflows in Biologics R&D
ScienceCloud: Collaborative Workflows in Biologics R&DScienceCloud: Collaborative Workflows in Biologics R&D
ScienceCloud: Collaborative Workflows in Biologics R&D
 
(ATS6-PLAT03) What's behind Discngine collections
(ATS6-PLAT03) What's behind Discngine collections(ATS6-PLAT03) What's behind Discngine collections
(ATS6-PLAT03) What's behind Discngine collections
 
(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...
(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...
(ATS6-PLAT09) Deploying Applications on load balanced AEP servers for high av...
 
(ATS6-PLAT07) Managing AEP in an enterprise environment
(ATS6-PLAT07) Managing AEP in an enterprise environment(ATS6-PLAT07) Managing AEP in an enterprise environment
(ATS6-PLAT07) Managing AEP in an enterprise environment
 
(ATS6-PLAT06) Maximizing AEP Performance
(ATS6-PLAT06) Maximizing AEP Performance(ATS6-PLAT06) Maximizing AEP Performance
(ATS6-PLAT06) Maximizing AEP Performance
 
(ATS6-PLAT05) Security enhancements in AEP 9
(ATS6-PLAT05) Security enhancements in AEP 9(ATS6-PLAT05) Security enhancements in AEP 9
(ATS6-PLAT05) Security enhancements in AEP 9
 
(ATS6-PLAT04) Query service
(ATS6-PLAT04) Query service (ATS6-PLAT04) Query service
(ATS6-PLAT04) Query service
 
(ATS6-PLAT02) Accelrys Catalog and Protocol Validation
(ATS6-PLAT02) Accelrys Catalog and Protocol Validation(ATS6-PLAT02) Accelrys Catalog and Protocol Validation
(ATS6-PLAT02) Accelrys Catalog and Protocol Validation
 
(ATS6-PLAT01) Chemistry Harmonization: Bringing together the Direct 9 and Pip...
(ATS6-PLAT01) Chemistry Harmonization: Bringing together the Direct 9 and Pip...(ATS6-PLAT01) Chemistry Harmonization: Bringing together the Direct 9 and Pip...
(ATS6-PLAT01) Chemistry Harmonization: Bringing together the Direct 9 and Pip...
 
(ATS6-GS04) Performance Analysis of Accelrys Enterprise Platform 9.0 on IBM’s...
(ATS6-GS04) Performance Analysis of Accelrys Enterprise Platform 9.0 on IBM’s...(ATS6-GS04) Performance Analysis of Accelrys Enterprise Platform 9.0 on IBM’s...
(ATS6-GS04) Performance Analysis of Accelrys Enterprise Platform 9.0 on IBM’s...
 
(ATS6-GS02) Integrating Contur and HEOS
(ATS6-GS02) Integrating Contur and HEOS(ATS6-GS02) Integrating Contur and HEOS
(ATS6-GS02) Integrating Contur and HEOS
 
(ATS6-GS01) Welcome
(ATS6-GS01) Welcome (ATS6-GS01) Welcome
(ATS6-GS01) Welcome
 
(ATS6-DEV09) Deep Dive into REST and SOAP Integration for Protocol Authors
(ATS6-DEV09) Deep Dive into REST and SOAP Integration for Protocol Authors(ATS6-DEV09) Deep Dive into REST and SOAP Integration for Protocol Authors
(ATS6-DEV09) Deep Dive into REST and SOAP Integration for Protocol Authors
 
(ATS6-DEV08) Integrating Contur ELN with other systems using a RESTful API
(ATS6-DEV08) Integrating Contur ELN with other systems using a RESTful API(ATS6-DEV08) Integrating Contur ELN with other systems using a RESTful API
(ATS6-DEV08) Integrating Contur ELN with other systems using a RESTful API
 
(ATS6-DEV07) Building widgets for ELN home page
(ATS6-DEV07) Building widgets for ELN home page(ATS6-DEV07) Building widgets for ELN home page
(ATS6-DEV07) Building widgets for ELN home page
 
(ATS6-DEV06) Using Packages for Protocol, Component, and Application Delivery
(ATS6-DEV06) Using Packages for Protocol, Component, and Application Delivery(ATS6-DEV06) Using Packages for Protocol, Component, and Application Delivery
(ATS6-DEV06) Using Packages for Protocol, Component, and Application Delivery
 
(ATS6-DEV05) Building Interactive Web Applications with the Reporting Collection
(ATS6-DEV05) Building Interactive Web Applications with the Reporting Collection(ATS6-DEV05) Building Interactive Web Applications with the Reporting Collection
(ATS6-DEV05) Building Interactive Web Applications with the Reporting Collection
 
(ATS6-DEV04) Building Web MashUp applications that include Accelrys Applicati...
(ATS6-DEV04) Building Web MashUp applications that include Accelrys Applicati...(ATS6-DEV04) Building Web MashUp applications that include Accelrys Applicati...
(ATS6-DEV04) Building Web MashUp applications that include Accelrys Applicati...
 
(ATS6-DEV03) Building an Enterprise Web Solution with AEP
(ATS6-DEV03) Building an Enterprise Web Solution with AEP(ATS6-DEV03) Building an Enterprise Web Solution with AEP
(ATS6-DEV03) Building an Enterprise Web Solution with AEP
 
(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies
 

Recently uploaded

Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
ViralQR
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 

Recently uploaded (20)

Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 

(ATS4-PLAT07) Interactive Charts Revamped

  • 1. (ATS04-PLAT07) Interactive Charts Revamped Olga Ignatova Senior Manager, Platform R&D Olga.Ignatova@accelrys.com
  • 2. The information on the roadmap and future software development efforts are intended to outline general product direction and should not be relied on in making a purchasing decision.
  • 3. Agenda • Interactive charts in 8.5 • Requirements for new charts • How we got there – Charting data caching – Server-side operations – Charting service in Tomcat – Binning in XY chart • Performance comparison of charts in 9.0 vs. 8.5 • XY Chart enhancements • Going forward
  • 4. Interactive Charts in 8.5 • 8.5 charts are Flash-based – Fail with large volumes of data – Poor rendering and interactivity with 10K+ data points – Not supported on iOS devices
  • 5. New Charting Requirements • Handle 100K+ data points • Really interactive, even with large data volumes • iOS-ready
  • 6. Charting Data Caching • In 8.5 – Charts create heavy nodes on data records. Writers read data from data records and generate images • In 9.0 – Charts write data to cache. Writers read data from cache and generate chart images – Minimizes Java/C++ data passing – More efficient cache serialization – Performance improvement affects all chart types
  • 7. Demo • Data caching in 9.0 charts
  • 8. Server-side Operations • In 8.5 – Interactive charts are Flash-based - data stored on the server, processing done on the client • In 9.0 – Interactive charts are images + JavaScript – JavaScript translates user actions to web service calls – Web service re-generates chart image or returns point information (tooltip, link, HTML attributes)
  • 9. Charting Service in Tomcat • Initially, charting service was a protocol • However… – AEP server was overload with unnecessary scisvr processes – Tomcat is part of standard AEP deployment – Charting code is Java-based – Java classes remain in Tomcat – Response time and throughput of charting operations in Tomcat meet requirements • Decision: move charting service to Tomcat
  • 10. Response Time of Charting Operations in Tomcat 1400 1200 1000 Response time (ms) 800 600 400 200 0 1 5 10 20 50 1 5 10 20 50 1 5 10 20 50 100 10000 100000 Fetch Tooltip 5.46 17.1 37.44 84.24 265.195 5.616 17.16 37.44 96.72 233.995 5.93 16.38 43.679 102.96 241.8 Select 29.177 63.97 135.74 268.36 725.44 33.23 79.56 162.248 355.687 904.76 47.73 121.67 246 475 1302.54
  • 11. Throughput of Charting Operations in Tomcat 350 300 Throughput (req/sec) 250 200 150 100 50 0 1 5 10 20 50 1 5 10 20 50 1 5 10 20 50 100 10000 100000 Fetch Tooltip 183.15 291.38 267.1 237.42 188.54 178.07 291.38 267.1 206.79 213.68 168.69 305.26 228.94 194.25 206.79 Select 34.27 78.16 73.67 74.53 68.92 30.09 62.84 61.63 56.23 55.26 20.95 41.09 40.57 36.63 38.38
  • 12. Interactive Charting Architecture scisvr Web Browser User 2. Generate initial chart 3. User action 5. Authenticate 6. Read 7. Regenerate chart Charting Cache Tomcat Apache
  • 13. Binning in XY Chart • Binning only with large number of data points • Binning on initial chart generation and on zoom – Chart area is a grid of 3x3 pixel bins – Bins filled with data points – Two caches - all points and top points • Top points cache used with most operations • Only top points are drawn • On zoom data is re-binned
  • 14. Performance of XY Charts in 9.0 vs. 8.5 18 16 14 Response time (sec) 12 10 8 6 4 Failed Failed Failed 2 0 100 10000 100000 100 10000 100000 100 10000 100000 100 10000 100000 Protocol Run Browser Load Single Click Selection Multiple Selection Response time in 8.5 0.05 1.5 16 0.5 10 0.5 0.5 0.5 13 Response time in 9.0 0.05 1 9 0.01 0.01 0.01 0.02 0.03 0.03 0.03 0.035 0.05
  • 15. Other XY Chart Enhancements • New toolbar – Select – Zoom – Pan – Reset • Keyboard shortcuts • Extended Scriptable Chart API
  • 16. Demo • Charts in 8.5 vs. 9.0 • New XY Chart features
  • 17. Charts Using New Architecture • XY Chart • XY Chart (Categorical) – new! • Histograms (Numerical and Categorical) • Bar Chart • Pie Chart • Line Chart • ...
  • 18. Going Forward • Convert remaining charts to new architecture • Further optimizations • HTML5
  • 19. Summary • Many charts in 9.0 use new charting architecture • Converted charts handle 100K+ data points • Related Tech Summit Sessions: – (ATS4-PLAT01) Core Architecture Changes in AEP 9.0 and their Impact on Administrators