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.