Inside Progress OpenEdge Mobile!€¦ · Build native app for iOS and Android using PhoneGap Cloud...

Post on 13-Jul-2020

2 views 0 download

Transcript of Inside Progress OpenEdge Mobile!€¦ · Build native app for iOS and Android using PhoneGap Cloud...

Inside Progress OpenEdge Mobile!

Edsel Garcia

OpenEdge Development

© 2013 Progress Software Corporation. All rights reserved. 2

Progress OpenEdge Mobile

1

2

3 4

5

JSDO

JSDO

Services

UIHelper

Deployment

Other Web UI

Frameworks

© 2013 Progress Software Corporation. All rights reserved. 3

Progress OpenEdge Mobile

1

JSDO

© 2013 Progress Software Corporation. All rights reserved. 4

JSDO – Progress JavaScript Data Object

Access to OpenEdge Database

Access to the OpenEdge AppServer

XMLHttpRequest

ProDataSet

CRUD + Invoke

© 2013 Progress Software Corporation. All rights reserved. 5

Runtime Architecture for OpenEdge Mobile

Client-side

App resides on

device

OE DB

*.html *.js

Internet

Server-side

n-tier architecture with

Business Logic and data

HTTP (REST / JSON)

Business

Entity JSDO-BE

Mapping

JSDO

ABL

© 2013 Progress Software Corporation. All rights reserved. 6

Business Entity

© 2013 Progress Software Corporation. All rights reserved. 7

Business Entity

© 2013 Progress Software Corporation. All rights reserved. 8

Business Entity

© 2013 Progress Software Corporation. All rights reserved. 9

Business Entity

© 2013 Progress Software Corporation. All rights reserved. 10

Business Entity

© 2013 Progress Software Corporation. All rights reserved. 11

JSDO Catalog

© 2013 Progress Software Corporation. All rights reserved. 12

JSDO – Progress Java Script Data Object

CRUD + Invoke

• add() (CREATE)

• fill() (READ)

• assign() (UPDATE)

• remove() (DELETE)

• method() (INVOKE)

Properties

• autoSort (11.3)

• caseSensitive (11.3)

• name

• record

• useRelationships

Methods

• addRecords()

• find()

• findById()

• Foreach()

• getData()

• getId()

• getSchema()

• saveChanges()

• sort() (11.3)

• subscribe()

• unsubscribe()

© 2013 Progress Software Corporation. All rights reserved. 13

JSDO – Progress JavaScript Data Object

JSDO – progress.js

Session – progress.session.js

DLC/mobile/client/js

Included in Mobile App Builder projects

© 2013 Progress Software Corporation. All rights reserved. 14

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();

© 2013 Progress Software Corporation. All rights reserved. 15

JSDO

© 2013 Progress Software Corporation. All rights reserved. 16

Progress OpenEdge Mobile

1

JSDO

Leverage Existing

Business Logic

Benefits

© 2013 Progress Software Corporation. All rights reserved. 17

Progress OpenEdge Mobile

1

2

JSDO

JSDO

Services

© 2013 Progress Software Corporation. All rights reserved. 18

JSDO Services

Access to the JSDO from the Mobile App Builder

JSDO Catalog

CRUD:

• Create

• Read

• Update

• Delete

Row

Invoke

© 2013 Progress Software Corporation. All rights reserved. 19

JSDO Services

© 2013 Progress Software Corporation. All rights reserved. 20

Progress OpenEdge Mobile

1

2

JSDO

JSDO

Services

Leverage Existing

Business Logic

Increase Productivity,

Quicker Time to Market

Benefits

© 2013 Progress Software Corporation. All rights reserved. 21

Progress OpenEdge Mobile

1

2

3

JSDO

JSDO

Services

UIHelper

© 2013 Progress Software Corporation. All rights reserved. 22

UIHelper

UI based on HTML (listviews built using <ul> + <li>)

jQuery Mobile

jQuery Mobile using the Mobile App Builder

JavaScript + HTML

© 2013 Progress Software Corporation. All rights reserved. 23

UIHelper – Using the UIHelper

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);

uihelper = new progress.ui.UIHelper({ jsdo: jsdo });

uihelper.setDetailPage({ name: "custdetail“ });

uihelper.setListView({ name: 'listview',

format: '{CustNum}<br>{Name}<br>{State}<br>{Country}',

autoLink: true

}

);

jsdo.fill();

© 2013 Progress Software Corporation. All rights reserved. 24

UIHelper

© 2013 Progress Software Corporation. All rights reserved. 25

Progress OpenEdge Mobile

1

2

3

JSDO

JSDO

Services

UIHelper

Leverage Existing

Business Logic

Increase Productivity,

Quicker Time to Market

Dynamic Model

Benefits

© 2013 Progress Software Corporation. All rights reserved. 26

Progress OpenEdge Mobile

1

2

3 4

JSDO

JSDO

Services

UIHelper Other Web UI

Frameworks

© 2013 Progress Software Corporation. All rights reserved. 27

Other Mobile Web UI Frameworks

Web

Sencha Touch

Knockout.js

Qooxdoo

Dojo Toolkit

© 2013 Progress Software Corporation. All rights reserved. 28

Progress OpenEdge Mobile

1

2

3 4

JSDO

JSDO

Services

UIHelper Other Web UI

Frameworks

Leverage Existing

Business Logic

Increase Productivity,

Quicker Time to Market

Dynamic Model

Flexible

Benefits

© 2013 Progress Software Corporation. All rights reserved. 29

Progress OpenEdge Mobile

1

2

3 4

5

JSDO

JSDO

Services

UIHelper

Deployment

Other Web UI

Frameworks

© 2013 Progress Software Corporation. All rights reserved. 30

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)

© 2013 Progress Software Corporation. All rights reserved. 31

Deployment

© 2013 Progress Software Corporation. All rights reserved. 32

Deployment

© 2013 Progress Software Corporation. All rights reserved. 33

Deployment

© 2013 Progress Software Corporation. All rights reserved. 34

Deployment

© 2013 Progress Software Corporation. All rights reserved. 35

Deployment

© 2013 Progress Software Corporation. All rights reserved. 36

Deployment

© 2013 Progress Software Corporation. All rights reserved. 37

Progress OpenEdge Mobile

1

2

3 4

5

JSDO

JSDO

Services

UIHelper

Deployment

Other Web UI

Frameworks

Leverage Existing

Business Logic

Increase Productivity,

Quicker Time to Market

Dynamic Model

Flexible

Write Once, Deploy

Everywhere

Benefits

© 2013 Progress Software Corporation. All rights reserved. 38

Progress OpenEdge Mobile

Leverage Existing

Business Logic

Increase Productivity,

Quicker Time to Market

Dynamic Model

Flexible

Write Once, Deploy

Everywhere

Benefits

1

2

3 4

5

JSDO

JSDO

Services

UIHelper

Deployment

Other Web UI

Frameworks

© 2013 Progress Software Corporation. All rights reserved. 39

Progress OpenEdge Mobile

Write Once, Run Anywhere Portability with the

Benefits of Native Applications

The Easiest Way to Build an OpenEdge Application

Supporting Mobile Devices, End-to-end