Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
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