SenchaCon Roadshow Irvine 2017

Post on 13-Apr-2017

32 views 1 download

Transcript of SenchaCon Roadshow Irvine 2017

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

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

100 ms 1 s 3 s 10 s

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

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

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

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

You will learn how to:

• Get rid of progress bars

• Make the back end development process faster

9

About Ext JS and Ext Speeder

One End

Front end

Back endOne end

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

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

Accelerating Back End Development

Web ServerApp

Client

Data in Ext JS Apps

Server

UI Components

Data Manager

Local data

Pages, Assets, etc.

Data Services

REST

SOAP

etc.

Database

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

Web Server

Client

Data in Ext Speeder

Server

Complete REST API

In-memoryObject Store(entire db)

Database

Automatic Refresh Logic

Introspection

Data Services

Web ServerApp

Client

Data in Ext JS + Ext Speeder Apps

Server

UI Components

Data Manager

Local data

Pages, Assets, etc.

REST

Obj Store Database

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

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.

Ext Speeder Back End Development Process

1. Connect

2. Generate

3. Use

Ext Speeder Acceleration• Convert large databases into

In-memory Objects

• Extreme Performance, real time Big Data

• 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

Deployment Scenarios

• Stand Alone Java SE 8

• Java EE Application Server- Oracle WebLogic

- Tomcat / TomEE

- Glassfish / Payara

- Wildfly / JBoss

- Jetty

IDEs

Databases

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)

Accelerating Run-Time Performance

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

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

Demo Ext Speeder

Case Study : Portfolio IQ by xh.io

Try the demo on AWS:Link: https://piq.xh.ioUsername: piq@xh.ioPassword: piqdemo!

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

How to get Ext Speeder

What’s included

Kickstart package 8hTraining voucher 4hProfessional Support Tickets

Need Custom Features Tailored for Your Project?

Contact Usinfo@extspeeder.com

Additional Database Connectors

Scale-Out Over Multiple Nodes

Aggregating Operators

Create, Update, Delete...

Connect Several Databases

Reactive WebSockets

If You Only Remember One Thing Today:

100 ms 1 s 3 s 10 s

Thank You!minborg@speedment.comwww.extspeeder.com

Ext Speeder Example

• ~25 million rows

• User Interaction “scrollbar”- Sort by price

- Skip to row 15,342,132

- Show 50 following rows

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