senchacon roadshow irvine 2017

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

Upload: speedment-inc

Post on 13-Apr-2017

32 views

Category:

Technology


1 download

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