Inside the JSDO: Mobile and Web -...

46
Inside the JSDO: Mobile and Web Edsel Garcia Principal Software Engineer Progress Software [email protected]

Transcript of Inside the JSDO: Mobile and Web -...

Page 1: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

Inside the JSDO: Mobile and Web

Edsel Garcia Principal Software Engineer Progress Software [email protected]

Page 2: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

© 2014 Progress Software Corporation. All rights reserved. 2

1

2

3 4

5

JSDO

JSDO Services

Templates

Deployment

Other Web UI Frameworks

Page 3: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

© 2014 Progress Software Corporation. All rights reserved. 3

1 JSDO

Page 4: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

© 2014 Progress Software Corporation. All rights reserved. 4

JSDO – Progress JavaScript Data Object

Access to OpenEdge Database

Access to the OpenEdge AppServer

Business Entities

XMLHttpRequest

ProDataSet

CRUD + Invoke

Page 5: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

© 2014 Progress Software Corporation. All rights reserved. 5

JSDO – Progress JavaScript Data Object

Access to Rollbase backend

CRUD + Invoke + Submit

• JSON Before-Image support

Offline/Online events in the Session object

Page 6: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

© 2014 Progress Software Corporation. All rights reserved. 6

Runtime Architecture for Rollbase Mobile

Client-side App resides on

device

*.html *.js

Internet

HTTP (REST / JSON)

Business Entity

JSDO-BE Mapping

JSDO

ABL Header

Data

Detail Data

Other Data

Header Data

Detail Data

Other Data

Mobile Device Web Server OpenEdge AppServer

PO ProDataSet

Server-side n-tier architecture with

Business Logic and data

Page 7: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

© 2014 Progress Software Corporation. All rights reserved. 7

Business Entity

Progress Developer Studio

Express Project Wizard

Business Entity Wizard

Types

Read-only

CRUD

CRUD + Submit

JSON Before-Image support

Page 8: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

© 2014 Progress Software Corporation. All rights reserved. 8

Business Entity

Page 9: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

© 2014 Progress Software Corporation. All rights reserved. 9

Business Entity

Page 10: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

© 2014 Progress Software Corporation. All rights reserved. 10

Business Entity

Page 11: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

© 2014 Progress Software Corporation. All rights reserved. 11

Business Entity

Page 12: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

© 2014 Progress Software Corporation. All rights reserved. 12

Business Entity

Page 13: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

© 2014 Progress Software Corporation. All rights reserved. 13

Create, Read, Update, Delete + INVOKE + SUBMIT

CRUD + I + S

POST GET PUT DELETE PUT PUT

Array [ ]

Temp-Table { ttCustomer: [ ] }

DataSet { dsCustomer: { ttCustomer: [ ] } DataSet (Complex) { dsCustomer: { ttCustomer: [ ], … ttOrder: [ ] }

/method /method path: “”

Page 14: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

© 2014 Progress Software Corporation. All rights reserved. 14

JSDO Catalog

Page 15: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

© 2014 Progress Software Corporation. All rights reserved. 15

JSDO – Progress JavaScript Data Object

CRUD + Invoke • add() (CREATE)

• fill() (READ)

• assign() (UPDATE)

• remove() (DELETE)

• method() (INVOKE)

Properties • autoSort

• autoApplyChanges

• caseSensitive

• name

• record

• useRelationships

Methods • addRecords()

• acceptChanges(), rejectChanges()

• find()

• findById()

• foreach()

• getData()

• getId()

• getSchema()

• saveChanges()

• sort()

• subscribe()

• unsubscribe()

Page 16: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

© 2014 Progress Software Corporation. All rights reserved. 16

JSDO – Progress JavaScript Data Object

JSDO – progress.jsdo.3.0.js

Session – progress.jsdo.3.0.js

Included in Mobile App Builder projects

Page 17: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

© 2014 Progress Software Corporation. All rights reserved. 17

JSDO – Using the JSDO

session = new progress.data.Session(); session.login(<url-to-service>, "", ""); session.addCatalog(<url-to-jsdo-catalog>); jsdo = new progress.data.JSDO({ name: 'dsCustomer' }); jsdo.subscribe('AfterFill', onAfterFillCustomers, this); jsdo.fill();

Page 18: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

JSDO

Page 19: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

© 2014 Progress Software Corporation. All rights reserved. 19

1 JSDO

Benefits Leverage Existing

Business Logic

Page 20: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

© 2014 Progress Software Corporation. All rights reserved. 20

1

2

JSDO

JSDO Services

Page 21: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

© 2014 Progress Software Corporation. All rights reserved. 21

JSDO Services

Access to the JSDO from the Mobile App Builder JSDO Catalog CRUD:

• Create

• Read

• Update

• Delete

Row Invoke Submit

Page 22: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

JSDO Services

Page 23: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

© 2014 Progress Software Corporation. All rights reserved. 23

1

2

JSDO

JSDO Services

Benefits Leverage Existing

Business Logic

Visual Mapping

Page 24: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

© 2014 Progress Software Corporation. All rights reserved. 24

1

2

3

JSDO

JSDO Services

Templates

Page 25: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

© 2014 Progress Software Corporation. All rights reserved. 25

Templates

Project Templates • Phone App / Tablet App

• Session-enabled templates

• Express Project

– UIHelper (dynamic)

– JSDO Services (generated)

Templates

Screen Templates

Custom Components

Page 26: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

Templates

Page 27: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

© 2014 Progress Software Corporation. All rights reserved. 29

1

2

3

JSDO

JSDO Services

Templates

Benefits Leverage Existing

Business Logic

Visual Mapping

Increase Productivity, Quicker Time to Market

Page 28: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

© 2014 Progress Software Corporation. All rights reserved. 30

1

2

3 4

JSDO

JSDO Services

Templates Other Web UI Frameworks

Page 29: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

© 2014 Progress Software Corporation. All rights reserved. 31

Other Web UI Frameworks

Web

Angular.js

Sencha Touch

Kendo UI

Knockout.js

Qooxdoo

Dojo Toolkit

Page 30: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

© 2014 Progress Software Corporation. All rights reserved. 32

Other Web Frameworks

Node.js

XMLHttpRequest = require("./XMLHttpRequest.js").XMLHttpRequest; require("./progress.jsdo.3.0.js"); session = new progress.data.Session(); session.login(<url-to-service>, "", ""); session.addCatalog(<url-to-jsdo-catalog>); jsdo = new progress.data.JSDO({ name: 'dsCustomer' }); jsdo.subscribe('AfterFill', onAfterFillCustomers, this); jsdo.fill(); function onAfterFillCustomers(jsdo, success, request) { jsdo.eCustomer.foreach(function(customer) { console.log(jsdo.eCustomer.Name); }); }

Page 31: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

Other Web Frameworks

Page 32: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

© 2014 Progress Software Corporation. All rights reserved. 34

1

2

3 4

JSDO

JSDO Services

Templates Other Web UI Frameworks

Benefits Leverage Existing

Business Logic

Visual Mapping

Increase Productivity, Quicker Time to Market

Flexible

Page 33: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

© 2014 Progress Software Corporation. All rights reserved. 35

1

2

3 4

5

JSDO

JSDO Services

Templates

Deployment

Other Web UI Frameworks

Page 34: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

© 2014 Progress Software Corporation. All rights reserved. 36

Deployment

Build native app for iOS and Android using PhoneGap Cloud based build Distribution certificate and provisioning profile needed for iOS Auto-generated key/certificate for Android

• Install from Unknown Sources allows install on device

Install options: • Over the Air Install (iOS) • iTunes sync (iOS) • Download from web site (Android)

Rollbase Mobile Native Tester

Page 35: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

Deployment

Page 36: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

© 2014 Progress Software Corporation. All rights reserved. 38

Deployment

Page 37: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

© 2014 Progress Software Corporation. All rights reserved. 39

Deployment

Page 38: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

© 2014 Progress Software Corporation. All rights reserved. 40

Deployment

Page 39: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

© 2014 Progress Software Corporation. All rights reserved. 41

Deployment

Page 40: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

© 2014 Progress Software Corporation. All rights reserved. 42

Deployment

Page 41: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

© 2014 Progress Software Corporation. All rights reserved. 43

1

2

3 4

5

JSDO

JSDO Services

Templates

Deployment

Other Web UI Frameworks

Benefits Leverage Existing

Business Logic

Visual Mapping

Increase Productivity, Quicker Time to Market

Flexible

Write Once, Deploy Everywhere

Page 42: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

© 2014 Progress Software Corporation. All rights reserved. 44

Leverage Existing Business Logic

Visual Mapping

Increase Productivity, Quicker Time to Market

Flexible

Write Once, Deploy Everywhere

Benefits

1

2

3 4

5

JSDO

JSDO Services

Templates

Deployment

Other Web UI Frameworks

Page 43: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

Write Once, Run Anywhere Portability with the Benefits of Native Applications and Web The Easiest Way to Build an OpenEdge and Rollbase Applications Supporting Mobile Devices, End-to-end

Page 44: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

Extra Resources

Search Rollbase documentation: http://documentation.progress.com/output/Rollbase/index.html

Search the Community: OpenEdge 11.4 Production Documentation

Mobile App Builder documentation: http://docs.mobile.rollbase.com/

JSDO Examples:

• http://oemobiledemo.progress.com/jsdo/example001.html

• http://oemobiledemo.progress.com/jsdo/example007.html

Page 45: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL

Get session details & presentation downloads Complete a survey Access the latest Progress product literature

www.progress.com/exchange2014

Visit the Resource Portal

Page 46: Inside the JSDO: Mobile and Web - Progress.commedia.progress.com/exchange/2014/slides/track4_inside...js *. html Internet HTTP (REST / JSON) Business Entity JSDO-BE Mapping JSDO ABL