SlideShare a Scribd company logo
1 of 19
Download to read offline
(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 FormulasForrest Kovach, MBA, PMP
 
MLflow at Company Scale
MLflow at Company ScaleMLflow at Company Scale
MLflow at Company ScaleDatabricks
 
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 PilotBIOVIA
 
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 MachinesCurelet 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 PentreathSpark 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 RubyAmazon 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_waitRicardo Bánffy
 
Capacity Planning for Linux Systems
Capacity Planning for Linux SystemsCapacity Planning for Linux Systems
Capacity Planning for Linux SystemsRodrigo 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 PARKTsuyoshi 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.0BIOVIA
 
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 TechnologiesFuturepoint13
 
Performance Oriented Design
Performance Oriented DesignPerformance Oriented Design
Performance Oriented DesignRodrigo 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 ServiceThe 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 ItRory 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 FrameworkNadeeshani 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&DBIOVIA
 
(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 environmentBIOVIA
 
(ATS6-PLAT06) Maximizing AEP Performance
(ATS6-PLAT06) Maximizing AEP Performance(ATS6-PLAT06) Maximizing AEP Performance
(ATS6-PLAT06) Maximizing AEP PerformanceBIOVIA
 
(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 9BIOVIA
 
(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 ValidationBIOVIA
 
(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 HEOSBIOVIA
 
(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 AuthorsBIOVIA
 
(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 APIBIOVIA
 
(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 pageBIOVIA
 
(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 DeliveryBIOVIA
 
(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 CollectionBIOVIA
 
(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 AEPBIOVIA
 
(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application StrategiesBIOVIA
 

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

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 

Recently uploaded (20)

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 

(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