Introducing OpenEdge Mobile
Shelley Chase, Senior Architect, Progress
schase@progress.com
November 2014
Introducing OpenEdge Rollbase
Mobile
Shelley Chase, Senior Architect, Progress
schase@progress.com
November 2014
Introducing OpenEdge Mobile and
Rollbase Mobile
Shelley Chase, Senior Architect, Progress
schase@progress.com
November 2014
Mobile Apps are Essential for Businesses Today
Forrester on Enterprise Mobility
Enterprise mobility is the manifestation of a
much broader shift to new systems of
engagement.
These new systems help firms empower
their customers, partners, and employees
with context-aware apps and smart
products.
4
© 2013 Progress Software Corporation. All rights reserved.
Gartner Recommends a Hybrid Approach for
Business-to-Employee Mobile Apps
HTML5-based web apps and native apps, will be
used in more than 50 percent of mobile apps by
2016
"Predicts 2013: Portal and Web Technologies."
Mobile App Development – General Challenges
 OS fragmentation on devices
• Different development environments
Windows
5%
Others
2%
• Different programming languages
• Duplicate codebase
iOS
41%
 Accelerated market demand
• Rapid App Development (RAD) imperative
• Critical offering in today's pressing competition
• Frequent updates; short shelf life
 Integration with disparate backend systems
• Access existing systems and data sources
• Manage changes to backend systems
6
© 2013 Progress Software Corporation. All rights reserved.
Android
52%
iOS
Android
Windows
Others
Expectation for Enterprise Mobile Apps
• Expand interaction with more customers/users/devices
• Deliver mobile apps for new use-cases/roles/users
• Move to mobile in days, not months
• Interconnect products
• Access to more data sources
• Integration with supporting business applications
• Experiment and Learn
• Iterative design, build and test
• Model/meta-data driven or UI first models
8
© 2013 Progress Software Corporation. All rights reserved.
OpenEdge Mobile
and Rollbase Mobile
9
© 2013 Progress Software Corporation. All rights reserved.
Mobile in OpenEdge and Rollbase
 Value Proposition
• Write Once, Run Anywhere Portability with the Benefits of Native Applications. The
Easiest Way to Build an Application Supporting Mobile Devices, End-to-end
 Benefits
• A comprehensive and integrated tool set with support for a wide variety of devices
• Mobile UI development is cloud-based, so collaboration among the development team,
business analysts and with end users is fully supported
• Leverage existing business logic and data models on the OpenEdge AppServer and
Rollbase Server (hosted and private)
10
© 2013 Progress Software Corporation. All rights reserved.
Leverage existing Assets
 Leverage existing OpenEdge and Rollbase capabilities for
a more powerful customer experience
 Extend the Power and Reliability of an OpenEdge
Application
• Bring Business Entities from your “System of
Engagement“ application
• Surround your existing OpenEdge Application with
mobile applications to address gaps/expand the power
of customer engagement
 Bring Rollbase Web App functionality as a native mobile
App to popular devices
11
© 2013 Progress Software Corporation. All rights reserved.
Specialized Integration with OpenEdge and Rollbase
 OpenEdge
12
 Rollbase
• Mobile projects in PDSOE – Apps and Services
• Mobile Apps in Rollbase
• Test mobile web apps directly from PDSOE
• Test mobile web apps directly from Rollbase
• User management done in MAB tool
• User management done in Rollbase
© 2013 Progress Software Corporation. All rights reserved.
Mobile Platform
Device Runtime
WYSIWYG Editor and
Emulator
Session Management
with Offline Detection
HTML5, JavaScript, CSS
Native Device Integration
Third-party Plug-in
Support
Integrated Data
Sources: OpenEdge,
Rollbase, D2C
Code Generation and
App Build
App Designer
JSDO Services
Native Device SDK
Encrypted Local Storage
Disconnect Launch
Runtime Skins
Device –specifc
Tester App
Application Logic
Web Server (PaaS)
Gray = future
13
Hosted
Push
Mobile Web/ Notification
Web Apps
Server
© 2013 Progress Software Corporation. All rights reserved.
App
Version
Mgmt
OpenEdge
REST
Services
Rollbase
Server
Types of Mobile Apps
14
© 2013 Progress Software Corporation. All rights reserved.
OpenEdge Mobile Apps = “The Best Of Both Worlds”
Hybrid App (Native Wrapper + Web App)
• Standards-based solution
• Write the UI code once, deploy to multiple devices
• Native container provides support for App Store and
HTML5 limitations
By 2015, 80% of all mobile
web applications developed
will be hybrid or mobile web.
Gartner 2012: Magic Quadrant for Mobile
Consumer Application Platforms
17
© 2013 Progress Software Corporation. All rights reserved.
• Flexible deployment options of both Web App and
Hybrid App
• No need to learn device-specific languages or
development environments
OpenEdge Mobile in Action
18
© 2013 Progress Software Corporation. All rights reserved.
Mobile Applications in OpenEdge: Dual Approach
 OpenEdge REST Adapter
• Loosely-coupled architecture
• Any client
• Define Service Interface using annotations
• HTTP/JSON
 OpenEdge Mobile
• Tightly-coupled architecture - prescriptive
• Mobile App Builder using jQuery Mobile and Cordova
• Business Entity support as well as service interface annotations
• HTTP/JSON but prescriptive content
19
© 2013 Progress Software Corporation. All rights reserved.
Development: Integrated Development Environment
 Developer Studio for OE
• Define and build Mobile services
• JavaScript Data Object (JSDO) catalog
• Build native mobile apps
• Deploy Mobile services, Mobile web apps
• Run in emulator
21
© 2013 Progress Software Corporation. All rights reserved.
 Mobile App Builder
• Drag-n-drop UI designer
• Tight data binding to OE data using JSDO
• Build and export native mobile apps for
deployment
• Integrated emulator
Quick Start - Express Mobile App
 Select a database table
 Automatic check of system configuration
 Wait while App is built and deployed (~3 minutes)
• Fully functional CRUD Mobile App with login screen
22
© 2013 Progress Software Corporation. All rights reserved.
Developing a Custom Mobile App
Step 1
Define OE
services
1.
2.
3.
4.
23
Step 2
Build UI
Step 3
Step 4
Bind data
and UI
Define OE services (Business Entities) in Progress Developer Studio for OpenEdge
Build UI in cloud-based Mobile App Builder
Import OE services to Mobile App Builder and map data to UI
Finally build and deploy as native or mobile web app
© 2013 Progress Software Corporation. All rights reserved.
Build and
deploy
Step 1: Define Mobile Service
 CRUD operations
 Invoke operations
 Mobile Resources
• Create Business Entity
classes
• or annotate existing
code
 Deploy/ publish
24
© 2013 Progress Software Corporation. All rights reserved.
Create Mobile Project
25
© 2013 Progress Software Corporation. All rights reserved.
Business Entity
26
© 2013 Progress Software Corporation. All rights reserved.
Business Entity
27
© 2013 Progress Software Corporation. All rights reserved.
Build and Deploy Mobile Service
28
© 2013 Progress Software Corporation. All rights reserved.
Deployed Mobile Service
29
© 2013 Progress Software Corporation. All rights reserved.
Step 2: Build the UI
30
© 2013 Progress Software Corporation. All rights reserved.
“WYSIWYG” Designer
31
© 2013 Progress Software Corporation. All rights reserved.
Add Events for UI Logic
32
© 2013 Progress Software Corporation. All rights reserved.
Emulator
33
© 2013 Progress Software Corporation. All rights reserved.
Step 3: Bind Data and UI
 JavaScript Data Object (JSDO)
• Simplifies interaction with REST Services
• Client-side data set
• Support for CRUD and invoke operations
• Handles connection and communication
• Session management built-in
JSDO
Customer
Order
34
© 2013 Progress Software Corporation. All rights reserved.
Use JSDO Service for Visual Data Mapping
35
© 2013 Progress Software Corporation. All rights reserved.
Create JSDO Service from Catalog
36
© 2013 Progress Software Corporation. All rights reserved.
Add JSDO Services to UI
37
© 2013 Progress Software Corporation. All rights reserved.
Drag-n-drop Data mapping
38
© 2013 Progress Software Corporation. All rights reserved.
Step 4: Build and Deploy
Step 1: Generate Mobile
Web App (HTML, CSS, JS)
Step 2: Wrap code in
Phonegap
Step 3: Build native app
using SDKs
39
© 2013 Progress Software Corporation. All rights reserved.
Build and Deploy – Mobile Web App

Generates files for App

Test in cloud or copy files local
to PDSOE
•
40
Deploy Mobile Web App
to OE Web Server
© 2013 Progress Software Corporation. All rights reserved.
Build and Deploy– Native App

Generates files for App

Creates PhoneGap project

41
Uses Mac farm for iOS

Builds binary file; downloaded
to local machine

Test on local device or
deploy to App Store
© 2013 Progress Software Corporation. All rights reserved.
Deployment
42
© 2013 Progress Software Corporation. All rights reserved.
Rollbase Mobile
43
© 2013 Progress Software Corporation. All rights reserved.
Development: Integrated Development Environment
 Rollbase
• Define Objects
• Define and build Mobile services
• JavaScript Data Object (JSDO)
catalog
• Deploy Mobile Web Apps
• Run in emulator
44
© 2013 Progress Software Corporation. All rights reserved.
 Mobile App Builder
• Drag-n-drop UI designer
• Tight data binding to OE data using
JSDO
• Export mobile apps for deployment
• Integrated emulator
Create Mobile App From Scratch
45
© 2013 Progress Software Corporation. All rights reserved.
Define Rollbase Objects for Mobile App
46
© 2013 Progress Software Corporation. All rights reserved.
Object, Fields and Relationships
47
© 2013 Progress Software Corporation. All rights reserved.
Create Mobile App Based on Existing Web App (Share Objects)
48
© 2013 Progress Software Corporation. All rights reserved.
Design UI in Mobile App Builder (Same Designer as OpenEdge Mobile)
49
© 2013 Progress Software Corporation. All rights reserved.
Inside the JSDO
50
© 2013 Progress Software Corporation. All rights reserved.
JSDO – Progress JavaScript Data Object
 CRUD + Invoke + Submit
•
•
•
•
•
•
add( )
fill( )
assign( )
remove( )
method( )
saveChanges( )
(CREATE)
(READ)
(UPDATE)
(DELETE)
(INVOKE)
(SUBMIT)

Methods
• addRecords( )
• acceptChanges( ), rejectChanges( )
• find( )
• findById( )
• foreach( )
• getData( )
 Properties
•
•
•
•
•
•
51
autoSort
autoApplyChanges
caseSensitive
name
record
useRelationships
© 2013 Progress Software Corporation. All rights reserved.
• getId( )
• getSchema( )
• sort( )
• subscribe( )
• unsubscribe( )
JSDO Catalog – Generated from Business Entity Definition
52
© 2013 Progress Software Corporation. All rights reserved.
JSDO Services – Drag and drop programming
Session identified using configuration settings
Add Service as datasource for the page
53
© 2013 Progress Software Corporation. All rights reserved.
Mobile at Runtime
54
© 2013 Progress Software Corporation. All rights reserved.
Runtime Architecture: Native
Mobile App
OE AppServer
Web Server
(could share RB Server)
JSDO catalog
AppServer
UI / JSDO
Business
Entity
Rollbase Server
 Native Apps are downloaded on mobile device before the app is run
• UI and JSDO adapter included in executable
• OE Web Server provides access to OE AppServer
55
© 2013 Progress Software Corporation. All rights reserved.
ABL
Runtime Architecture: Web App
Mobile App
OE AppServer
Web Server
(could share RB Server)
JSDO catalog
AppServer
UI / JSDO
Business
Entity
Rollbase Server
ABL
 Mobile Web Apps are hosted on web server and accessed using a URL
• OE Web Server hosts HTML/CSS/JS files - UI and JSDO adapter need to be downloaded at runtime
• OE Web Server provides access to OE AppServer
56
© 2013 Progress Software Corporation. All rights reserved.
Devices Supported and Pricing Considerations
 Supported Devices
• iPhone – iOS 5 or later
• iPad – iOS 5 or later
• Android 4.0 or later (Ice Cream Sandwich, Jelly Bean)
• Web browser (HTML5/CSS3/JavaScipt) – latest versions
 Pricing Highlights:
• OpenEdge Development licenses for Mobile App Builder: Annual Subscription per Developer
• Rollbase Professional license includes Mobile App Builder
• Runtime license fee for JSDO Adapter for OpenEdge (being re-evaluated)
59
© 2013 Progress Software Corporation. All rights reserved.
Summary
 OpenEdge Mobile / Rollbase Mobile
• A Complete End-to-end Solution for Supporting Mobile Devices with OpenEdge Applications
• Develop with the premier OpenEdge development environment, Progress Developer Studio
for OpenEdge
• Mobile App Builder in the cloud
 Ease-of-use features to simplify interaction with existing OpenEdge applications
• Express setup provides One-click Mobile App
• JavaScript Data Objects easily connect UI screens to the supporting data
• REST Manager to make it easy to execute OpenEdge business logic and access data on the
AppServer from other clients
60
© 2013 Progress Software Corporation. All rights reserved.
Questions
61
© 2013 Progress Software Corporation. All rights reserved.