At SenchaCon 2016, I had the privilege of working with the Speedment team on a presentation about accelerating data access in data-centric applications – Turbocharge Your Ext JS App Performance. I’ve spoken in the past about accelerating data access in Ext JS grids, and how the Ext Speeder product from Speedment provides a robust solution that not only accelerates data access but streamlines the creation of the back-end REST API. For SenchaCon, I wanted to take things a step further and focus on multi-faceted scenarios including Business Intelligence (BI), visualization, and data exploration.
Table of Contents
Turbocharge Data-Intensive Ext JS App Performance
January 25, 2017
10:00am San Francisco PST | 1:00pm New York EST | 6:00pm London GMT
Ext Speeder works great for accelerating grid operations, especially with extremely large datasets. Through sophisticated in-memory technology, response times for data requests are often reduced by a factor of 10 or more. Because all data is available in memory, requests can be fulfilled immediately – leading to a more fluid and responsive user experience.
The GUI API generator examines your existing database to understand the structure of your data as well as the relationships between different types of information. This enables any developer to easily control what is exposed in the API, even front-end developers that may not be familiar with the database schema. The generator emits complete API source code, which automatically handles requests from the Ext JS proxy, including support for request options such as filters, sorting, and paging – with no extra development effort.
The only challenge? Exploration of large datasets often requires slicing and dicing the data across different dimensions, including server-side aggregation defined on the fly. This exploration is often performed in tabular form using the Ext JS Pivot Grid, or in graphical form using some sort of visualization. While Ext Speeder does a great job of exposing data, it does not handle aggregation tasks out of the box. Customizing the back end to add this capability is complicated by the fact that it needs to be able to handle arbitrary user requests. It’s technically possible for users to do this on their own with Ext Speeder, but it’s unlikely many would try.
Ext Speeder Pivot
Solving this problem in a general way is extremely difficult, without first understanding the data, relationships, and application objectives. Unlike standard Ext Speeder, the Ext Speeder Pivot solution includes services and some custom development or tuning performed by the experts at Speedment.
Our demo at SenchaCon used a customized build of Ext Speeder that basically adds the aggregation capabilities while preserving the benefits of the earlier releases. To reduce development effort for end users, Ext Speeder Pivot understands the request format used by Ext.pivot.matrix.Remote – meaning that the pivot grid matrix can be pointed directly at the Ext Speeder back end. Ext Speeder easily aggregates millions of rows on the server in record time and sends the aggregated data back to the front end in a format that the matrix understands.
Because Ext Speeder natively understands Ext JS requests, you only need to change the URL of your Ext.pivot.matrix.Remote instance. No other application changes are needed to use Ext Speeder.
Because it uses standard Ext JS interfaces, any components that work with an Ext.pivot.matrix will benefit from the accelerated back end. It even works with the Ext.pivot.plugin.Configurator control, which enables users to easily slice and dice the data in different ways.
Preparing this demo was a lot of fun, and I’m excited to see what you’re able to do with it. It’s amazingly easy to drop Ext Speeder into an Ext JS app and see significant performance improvements.
Register for our upcoming webinar on January 25, 2017 to see Ext Speeder Pivot in action and participate in our Q&A session.
If you’d like more information or to start a free trial of the non-pivot Ext Speeder product, please visit http://www.extspeeder.com/.
If you’d like to know more about Ext Speeder Pivot, please contact [email protected] to discuss how they can help you address your data access needs.