Top Banner
Turbo-Charge Your Ext JS App Per Minborg & Emil Forslund, Speedment, Inc
42

SenchaCon Roadshow Irvine 2017

Apr 13, 2017

Download

Technology

Speedment, Inc.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SenchaCon Roadshow Irvine 2017

Turbo-Charge Your Ext JS AppPer Minborg & Emil Forslund, Speedment, Inc

Page 2: SenchaCon Roadshow Irvine 2017
Page 3: SenchaCon Roadshow Irvine 2017

Why is a Progress Bar a Problem?

• 100 milliseconds is a direct response

• > 1 second you will experience a delay

• > 3 seconds, 57% leave the site

• > 10 seconds, 100% tired

3

User Experience is Destroyed

Page 4: SenchaCon Roadshow Irvine 2017

100 ms 1 s 3 s 10 s

Page 5: SenchaCon Roadshow Irvine 2017

Why is a Progress Bar a Problem?

• Google lost 20% of traffic when they became 0,5 seconds slower

• Less simultaneous visitors

5

Less Pageviews

Page 6: SenchaCon Roadshow Irvine 2017

Why is a Progress Bar a Problem?

• Amazon: Every 100 ms delay costs 1% of sales (1,4 Billion $)

• Research in Aberdeen: 1 second cost 9% of sales

6

Less income

Higher Overhead• Unnecessary hardware, licenses cost

Page 7: SenchaCon Roadshow Irvine 2017

Why is a Progress Bar a Problem?

Destroys the Brand• 44% worried when paying transactions take too long

• They tell their friends

Disappointed Cellphone and Tablet Surfers• 58% expect faster response on a cellphone than on a computer

Lower Rankings in Search engines

7

Page 8: SenchaCon Roadshow Irvine 2017

Why is a Progress Bar a Problem?

100 ms 1 s 3 s 10 s Destroyed User

Exp. Less Pageviews Less Income

Higher Overhead Sad Mobile

Surfers Lower Rankings

Destroyed Brand

Page 9: SenchaCon Roadshow Irvine 2017

You will learn how to:

• Get rid of progress bars

• Make the back end development process faster

9

Page 10: SenchaCon Roadshow Irvine 2017

About Ext JS and Ext Speeder

Page 11: SenchaCon Roadshow Irvine 2017

One End

Front end

Back endOne end

Page 12: SenchaCon Roadshow Irvine 2017

Ext Speeder

• Database back end tool for applications

• In-memory acceleration

• Simplifies development of database applications

• Quickly design, develop and deploy Ext JS applications

• Automatic generation of code, no need to worry about the back end

EXT JS Application

Page 13: SenchaCon Roadshow Irvine 2017

Sencha Ext JSRapidly build feature-rich, data intensive cross-platform enterprise applications

• High performance, customizable widgets

• Backend agnostic data package

• Responsive layout manager

• Advanced charting package

• Easily customizable themes

• ARIA / 508 Compliance

Page 14: SenchaCon Roadshow Irvine 2017

Accelerating Back End Development

Page 15: SenchaCon Roadshow Irvine 2017

Web ServerApp

Client

Data in Ext JS Apps

Server

UI Components

Data Manager

Local data

Pages, Assets, etc.

Data Services

REST

SOAP

etc.

Database

Page 16: SenchaCon Roadshow Irvine 2017

Traditional Back End Development Process

• Model the database 5h

• Secure Connection 1h

• Parse http command 1h

• Deserialize parameters 1h

• Manage database connections 1h

• Convert into SQL 2h

• Optimize queries 3h

• Parse database response 2h• Format into JSON 1h• Send back to Client 1h• Write XML config 1h• Deploy in Java EE 1h• Fix bugs 4h• Run Application 0.1 h

24 h

Page 17: SenchaCon Roadshow Irvine 2017

Web Server

Client

Data in Ext Speeder

Server

Complete REST API

In-memoryObject Store(entire db)

Database

Automatic Refresh Logic

Introspection

Data Services

Page 18: SenchaCon Roadshow Irvine 2017

Web ServerApp

Client

Data in Ext JS + Ext Speeder Apps

Server

UI Components

Data Manager

Local data

Pages, Assets, etc.

REST

Obj Store Database

Page 19: SenchaCon Roadshow Irvine 2017

Ext Speeder Back End Development Process • Install Ext Speeder 0.4 h

• Connect to database 0.1h

• Select tables and columns 0.3 h

• Press ”Generate” 0.0 h

• Deploy in Java EE 0.1h

• Run application 0.1h

1 h

Page 20: SenchaCon Roadshow Irvine 2017

Ext Speeder

• REST API automatically generated

• In-Memory Technology for High Perfor-mance

• Deployment stand-alone or in Java EE server like Oracle WebLogic or Tomcat.

Page 21: SenchaCon Roadshow Irvine 2017

Ext Speeder Back End Development Process

1. Connect

2. Generate

3. Use

Page 22: SenchaCon Roadshow Irvine 2017

Ext Speeder Acceleration• Convert large databases into

In-memory Objects

• Extreme Performance, real time Big Data

Page 23: SenchaCon Roadshow Irvine 2017

• Downloads a copy of the most recent database state in the background

• Seamlessly switches over to the copy

• Configurable in-memory reload time-Default reload each hour-Configurable per second, minute or hour

• Multi-versioning concurrent control (MVCC)

Automatic Data Reload

Page 24: SenchaCon Roadshow Irvine 2017

Deployment Scenarios

• Stand Alone Java SE 8

• Java EE Application Server- Oracle WebLogic

- Tomcat / TomEE

- Glassfish / Payara

- Wildfly / JBoss

- Jetty

Page 25: SenchaCon Roadshow Irvine 2017

IDEs

Page 26: SenchaCon Roadshow Irvine 2017

Databases

Page 27: SenchaCon Roadshow Irvine 2017

Ext JS Versions

• No change in Ext Speeder - Works for these versions:  -Ext JS 6 (BufferedStore) -Ext JS 5 (BufferedStore) -Ext JS 4 (Use regular Store with buffered = true)

Page 28: SenchaCon Roadshow Irvine 2017

Accelerating Run-Time Performance

Page 29: SenchaCon Roadshow Irvine 2017

How Ext Speeder Improves your Performance

• Data Database objects are stored in-memory

• Sort A sorted view of every column resides in-memory

• Filter Resolved without querying the database. In-memory filtering lookup.

• Skip In-memory dictionaries improve skip performance

• Total Number of results are cached for each set of parameters

Page 30: SenchaCon Roadshow Irvine 2017

Performance Test : Open database

• Open database with US doctors

• 40 million objects

• Comparison with and without Ext Speeder

See full video on www.extspeeder.com

Page 31: SenchaCon Roadshow Irvine 2017

Demo Ext Speeder

Page 32: SenchaCon Roadshow Irvine 2017

Case Study : Portfolio IQ by xh.io

Page 33: SenchaCon Roadshow Irvine 2017

Try the demo on AWS:Link: https://piq.xh.ioUsername: [email protected]: piqdemo!

Page 34: SenchaCon Roadshow Irvine 2017

Ext Speeder: Summary

• Improved User Experience with apps accessing large amounts of data

• Data-driven apps developed faster with less effort

• Seamless integration with Ext JS Grid

• Lower effort to create and maintain comprehensive REST APIs

Page 35: SenchaCon Roadshow Irvine 2017

How to get Ext Speeder

Page 36: SenchaCon Roadshow Irvine 2017

What’s included

Kickstart package 8hTraining voucher 4hProfessional Support Tickets

Page 37: SenchaCon Roadshow Irvine 2017

Need Custom Features Tailored for Your Project?

Contact [email protected]

Additional Database Connectors

Scale-Out Over Multiple Nodes

Aggregating Operators

Create, Update, Delete...

Connect Several Databases

Reactive WebSockets

Page 38: SenchaCon Roadshow Irvine 2017

If You Only Remember One Thing Today:

100 ms 1 s 3 s 10 s

Page 39: SenchaCon Roadshow Irvine 2017

Thank [email protected]

Page 40: SenchaCon Roadshow Irvine 2017
Page 41: SenchaCon Roadshow Irvine 2017

Ext Speeder Example

• ~25 million rows

• User Interaction “scrollbar”- Sort by price

- Skip to row 15,342,132

- Show 50 following rows

Page 42: SenchaCon Roadshow Irvine 2017

Ext Speeder Example

• Use the sorted view “price” in descending order (instant)

• Use the dictionary to find the closest token for 15,342,132 (instant)- Closest token might be $30.23 at 15,342,102

• Find that token (instant)

• Skip (15,342,132 – 15,342,102 = 30 rows) (30 operations)

• Retrieve the following 50 rows directly from memory

• Convert to JSON