Developing a Real World Mobile App with OpenEdge Mobile



Similar documents
Debugging Mobile Apps

Ricardo Perdigao, Solutions Architect Edsel Garcia, Principal Software Engineer Jean Munro, Senior Systems Engineer Dan Mitchell, Principal Systems

Business Applications for a Mobile World

How Simple Is It To Develop a Mobile App? Uma Sudhan OpenEdge Developer 7 th Oct 2013

Adobe Summit 2015 Lab 712: Building Mobile Apps: A PhoneGap Enterprise Introduction for Developers

OpenEdge and Mobile Applications

Mobile Security Jump Start. Wayne Henshaw & Mike Jacobs Progress OpenEdge October 8, 2013

Introduction to Oracle Mobile Application Framework Raghu Srinivasan, Director Development Mobile and Cloud Development Tools Oracle

The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code.

Retool your HTML/JavaScript to go Mobile

Telerik: Develop Experiences

Build a Mobile App in 60 Minutes with MAF

Developing ASP.NET MVC 4 Web Applications MOC 20486

Customize Mobile Apps with MicroStrategy SDK: Custom Security, Plugins, and Extensions

How To Use Titanium Studio

Building native mobile apps for Digital Factory

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

Extending Oracle Applications on Mobile Using Oracle MAF and Oracle Mobile Security

XenMobile Logs Collection Guide

MyanPay API Integration with Magento CMS

Mobile application testing is a process by which application software developed for hand held mobile devices is tested for its functionality,

ios SDK possibilities & limitations

Developing ASP.NET MVC 4 Web Applications

NotePad No More: - A Personal Survey of HTML5 Developer Toolsets. Stewart Christie - Tizen and HTML5 Community Manager.

Progress OpenEdge REST

Uniface Road Map and Product Update Michael Taylor Product Manager

Build Transactions Into Your Apps and Mobilize Your Enterprise with MicroStrategy 10

unisys ClearPath eportal Developer 6.1 Unisys Multi-Device App Developer s Guide March

Porting Existing PhoneGap Apps to Tizen OS - Development Story

Using Microsoft Visual Studio API Reference

MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER

Designing for the Mobile Web Lesson 3: HTML5 Web Apps

IIS, FTP Server and Windows

Xuan (The STACK Box) Application Development. Xuan (The STACK Box) Application Development

Microsoft Expression Web

ANDROID RECOVERY STICK QUICK START GUIDE

Mobile App Design and Development

CinePlay User Manual

Board also Supports MicroBridge

Pcounter Mobile Guide

Develop a Native App (ios and Android) for a Drupal Website without Learning Objective-C or Java. Drupaldelphia 2014 By Joe Roberts

BASIC COMPONENTS. There are 3 basic components in every Apache Cordova project:

Developing multidevice-apps using Apache Cordova and HTML5. Guadalajara Java User Group Guillermo Muñoz Java Developer

Certified PHP/MySQL Web Developer Course

Introduction: The Xcode templates are not available in Cordova or above, so we'll use the previous version, for this recipe.

Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led

Cross-Platform Development: Target More Platforms and Devices with a Minimal Amount of Source Code

Android Programming: Installation, Setup, and Getting Started

Title: Appium Automation for Mac OS X. Created By: Prithivirajan M. Abstract. Introduction

Visual Studio.NET Database Projects

MicroStrategy Desktop MicroStrategy 10.2: New features overview. microstrategy.com 1

Fingerprint Identity User Manual for the Griaule Biometric Framework Rev 1.00

NiceLabel Control Center 6.5. Release Notes. Rev-1504

Viewing LogicalCHOICE ebook/epub Files

Citrix Desktop for Home Computers Apple ios Instructions

The safer, easier way to help you pass any IT exams. Exam : 9L OS X Server Essentials 10.8 Exam. Title : Version : Demo 1 / 6

Michigan State University. Team Meijer. Tablet-Based Point-of-Sale System. Project Plan. Fall 2011

Configuring an ios App Store application

Wireless Presentation Gateway. User Guide

Design ï Development ï Digital Marketing ï Content

Cross-Platform Tools

Using Firefly Media Server with Roku SoundBridge. For Mac OS X and 10.4.x

Building HTML5 and hybrid mobile apps using cloud services. Andrei Glazunov

SysPatrol - Server Security Monitor

Wireless Network Guide

Issues of Hybrid Mobile Application Development with PhoneGap: a Case Study of Insurance Mobile Application

How to Install Applications (APK Files) on Your Android Phone

QUT PRINTING SERVICES. Printing from your laptop. Connect your laptop to the student print queue

Android Setup Phase 2

Lab 0 (Setting up your Development Environment) Week 1

Building Mobile Applications Creating ios applications with jquery Mobile, PhoneGap, and Drupal 7

Apple Newsstand. v 1.2 1/22

Introduction to ios Testing

Mobile Device Management Version 8. Last updated:

DIEGO PINEDO ESCRIBANO ANALYSIS OF THE DEVELOPMENT OF CROSS-PLATFORM MOBILE APPLICATIONS Master of Science Thesis

Adobe Summit 2015 Lab 718: Managing Mobile Apps: A PhoneGap Enterprise Introduction for Marketers

How To Run A Hello World On Android (Jdk) On A Microsoft Ds.Io (Windows) Or Android Or Android On A Pc Or Android 4 (

ANDROID APP DEVELOPMENT: AN INTRODUCTION CSCI /19/14 HANNAH MILLER

Anchor End-User Guide

Getting Started with VMware Horizon View (Remote Desktop Access)

Scientific m-learning. 4-7 June Mobile Application Development using App Inventor for Android Devices

Monitor Print Popup for Mac. Product Manual.

Google Drive: Access and organize your files

Sophos Mobile Control Startup guide. Product version: 3

50 shades of Siebel mobile

Microsoft Dynamics AX Windows 8 App Starter Kit. App Development Guide Version 1.0

Waspmote IDE. User Guide

System Administration Training Guide. S100 Installation and Site Management

Using Authorize.net for Credit Card Processing in YogaReg

Development for Mobile Devices Tools from Intel, Platform of Your Choice!

Sophos Mobile Control Administrator guide. Product version: 3.6

Getting Started with the Ed-Fi ODS and Ed-Fi ODS API

Access Tropical Cloud Desktop from Any Device

Developing Native JavaScript Mobile Apps Using Apache Cordova. Hazem Saleh

Transcription:

Developing a Real World Mobile App with OpenEdge Mobile Brian Preece Business Computer Projects Ltd

Who are BCP? Major supplier in Europe of Food Wholesale, Retail and Cash and Carry systems Users: Spar, NISA, Pets at Home, BWG, Musgrave, ADM, Morrisons, etc Area: currently UK and EU, keen to expand! 1st Extranet - Late 1970s Telspar 1st Scanning in convenience stores in UK Early adopter of SonicMQ with our AIMS wholesale/ retail messaging hub Continuous innovators 1

Agenda The Target Application - Self Scanning Demo OpenEdge Mobile the bad news and the good news Code view Lessons Deploying on devices Conclusion 2

Agenda The Target Application - Self Scanning Demo OpenEdge Mobile the bad news and the good news Code view Lessons Deploying on devices Conclusion 3

Self Scanning Customer scans their shopping as they go, using a dedicated device or mobile app They pack their bags as they go They check out through a dedicated checkout, avoiding the queues At random intervals, baskets are rescanned to discourage pilfering 4

A win-win for both store and customer Benefit Customer Store Less queuing at checkouts Eliminates packing at checkouts Privacy of purchases Can see the total cost of their basket Alerted to offers Track customer s purchases? 5

Why a mobile app? Saves cost for the store The ultimate BYOD! Can add extra functionality not possible with in-store app e.g. shopping list

Agenda The Target Application - Self Scanning Demo OpenEdge Mobile the bad news and the good news Code view Lessons Deploying on devices Conclusion 6

Demo 7

Agenda The Target Application - Self Scanning Demo OpenEdge Mobile the bad news and the good news Code view Lessons Deploying on devices Conclusion 8

Bad news first! Complex technology stack HTML5/ CSS/ JavaScript/ Jquery Mobile/ Appery.io/ PhoneGap JavaScript is the worst language ever! Not proper OO No type checking No syntax checking Primitive debugging It s all Steve Jobs fault! 9

Now the good news! Going with the mainstream Industry standard skills Generally available Easy to outsource Front end/ Back end integration excellent Visual designer easy Best environment for this technology stack 10

Agenda The Target Application - Self Scanning Demo OpenEdge Mobile the bad news and the good news Code view Lessons Deploying on devices Conclusion 11

Code view 12

Agenda The Target Application - Self Scanning Demo OpenEdge Mobile the bad news and the good news Code view Lessons Deploying on devices Conclusion 13

Lessons learnt so far Most crucial number 1 lesson: Services are invoked asynchronously, so may return after other actions linked to the same event Next most crucial lesson: On a mobile device, the Load event only occurs when the application is freshly loaded. Need to attach initialisation logic to Resume event as well 14

Things to remember Some things only work on the physical device: Obviously things like camera and scanner Less obviously, PhoneGap functions like navigator.notification.beep(1) Although a service returns a dataset, it is the temp-table that should be mapped to multiple UI elements like grids The Appery API is not intuitive. Sometimes it returns a UI element, others a DOM object e.g. Appery( RegisterSound ).get(0).play(); Need to restart OE Web Server after changing the services in a REST service as well as uploading the new JSDO to the MAB. Need to invoke JSDO before calling any services in a BE, even the Invoke ones To access local storage, the syntax is localstorage.getitem( variablename )/setitem( variablename, val). 15

More things to remember Transfer REST services from development environment to a deployment server by copying.war file from development environment to production environment and publish using restman command line tool or OE Explorer. REST services use state-free AppServer mode, so no context is guaranteed, but instances are not initialised before reuse, so you need to initialise variables and empty temp tables Ensure you put the correct URI in the annotation part of new Invoke methods there is a wizard to do this, but make sure you add the schema file on the first tab Default REST AppServer propath is \wrk folder beware having two BE with the same name 16

Bugs Only create one Mobile Service containing all REST classes and only put login information in one service, otherwise app crashes haven t tested in 11.3 Don t change Nav Bar button labels format screwed up Invoke method output parameters have to be added to the service mapping screen manually 17

Agenda The Target Application - Self Scanning Demo OpenEdge Mobile the bad news and the good news Code view Lessons Deploying on devices Conclusion 18

Android - easy Deploying on devices - Android Tick Application/ properties/ Mobile App Builder/ export local/ Android Install Android SDK Connect your device Ensure it is recognised by ADB If not, ensure you have correct driver loaded Deploy with command line: Adb install full path/filename for.apk file 19

Deploying on devices - ios ios an obstacle course Get an Apple Developer Account Register your device as a test device Create developer credentials using this guide: http:// community.phonegap.com/nitobi/topics/detailed_gui de_for_setting_up_building_ios_apps_without_a_mac (assuming you don t have a Mac) Load the project into the Mobile App Builder Put the credentials into App Settings/iOS binary Tick build for ios in mobile app preferences More 20

Plug in device Deploying on devices ios (ctd) Drop.ipa into itunes apps list Select device/ apps Click on install button next to app Click on Apply App should load! Need to create app credentials for each app 21

Agenda The Target Application - Self Scanning Demo OpenEdge Mobile the bad news and the good news Code view Lessons Deploying on devices Conclusion 22

Conclusions OE Mobile is a very effective way to create hybrid mobile business-quality apps In particular, the integration between UI and back end services is excellent You need training in at least CSS and JavaScript, maybe also JQuery Mobile Support on OEMobile via SupportLink has been outstanding 23

Questions? 24

Thank you for your time See more at www.bcpsoftware.com Technical questions: brian@bcpsoftware.com 25