delivering mobile apps to the field

34
Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential DELIVERING MOBILE APPS TO THE FIELD WITH ORACLE Simon Haslam

Upload: others

Post on 09-Jun-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Delivering Mobile Apps to the Field

Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential

DELIVERING MOBILE APPS TO THE FIELD WITH ORACLE

Simon Haslam

Page 2: Delivering Mobile Apps to the Field

Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential

ABOUT ME

Simon Haslam

• Platform / Infrastructure Architect

• Focus includes HA, DR, security, automation

Relevant to this session

• Worked on a mobile project before “mobile” and “app” where things ☺

• Technical lead on:MAF projects from 6/2017JET project from 7/2018

@simon_haslam

Page 3: Delivering Mobile Apps to the Field

Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential

ABOUT EPROSEED

• Focussed only on Oracle technology

• Globally distributed with centralised delivery management and local resources

• 5 active ACE Directors, 2 Dev Champions, 8 OCM

• 19 Oracle Excellence Awards in 8 years

25 Oracle Specializations… and counting.

Local offices in UK, NL, PT… & Head Office in Luxembourg

Page 4: Delivering Mobile Apps to the Field

Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential

3 Membership Tiers• Oracle ACE Director• Oracle ACE• Oracle ACE Associate

bit.ly/OracleACEProgram

500+ Technical Experts Helping Peers Globally

Connect:

Nominate yourself or someone you know: acenomination.oracle.com

@oracleace

Facebook.com/oracleaces

[email protected]

Page 5: Delivering Mobile Apps to the Field

Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential5

• Real-world ‘field’ environments & Oracle technologies

• Oracle MAF

• Apache Cordova

• Oracle JET for mobile apps

• User experience

• Learning points & summary

Page 6: Delivering Mobile Apps to the Field

Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential

WHY APPS FOR MOBILE DEVICES?

• Nature of work - desktop or laptop is not suitable for many job roles:

– Outside, materials handling, etc (e.g. warehouse)

– Highly mobile (e.g. sales rep, ticket collector/issuer)

– Hazardous or clinical conditions (e.g. doctor or electrician)

• Reduce barrier for customer interaction

• Bring your own device - extending corporate IT

• Tablet might simply be better means of interacting with IT

6

Photo fromhttps://www.pexels.com

Page 7: Delivering Mobile Apps to the Field

Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential

BUT FIRSTLY: HOW RETAIL “APPS” HAVE EVOLVED

7

UK car importer/distributor

App calculates personalised finance termsfor a customer, e.g. at end of test drive

IT to assist salesperson in a car showroom

1997

Page 8: Delivering Mobile Apps to the Field

Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential

AGENDA

• Real-world ‘field’ environments

• Oracle JET for mobile apps

• Typical integration challenges

• User experience

• Learning points & summary

8

Page 9: Delivering Mobile Apps to the Field

Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential

WHAT DO YOU NEED FOR A MOBILE ENTERPRISE APP?

9

Data services

‘Functional’ services

Offlinepersistence

App devtools

MobileDevice

Management

SDLCtools

Securitytools

Notificationservices

Tracking & analytics

Operating System inc app

packagingDevice-specific

features

Identity services

API

….and this is before you consider microservices!

Page 10: Delivering Mobile Apps to the Field

Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential

ORACLE PRODUCTS TO MEET THESE NEEDS

10

Data services

‘Functional’ services

Offlinepersistence

App devtools

MobileDevice

Management

SDLCtools

Securitytools

Notificationservices

Tracking & analytics

Operating System inc app

packagingDevice-specific

features

Identity services

Mobile Cloud Service

Mobile Cloud

Service

Integration Cloud

SOASuite Service Bus

Identity Cloud

Service

ADF

ERP

JET

MAF

MAF(CDM)

Persist. Toolkit

DevCSAPIPlatform

Page 11: Delivering Mobile Apps to the Field

Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential

TYPES OF MOBILE APP

11

Native HybridProgressive

Web Apps

Platform-specific(multiple teams

for different platforms) Cross-platform Cross-platform

Ultimate performanceUsually acceptable

performanceExpected to be acceptable

performance

Native APIs Cordova Cordova(?)

This presentation

PL

AT

FO

RM

SS

PE

ED

DE

VIC

E /

OS

FE

AT

UR

ES

Page 12: Delivering Mobile Apps to the Field

Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential

WHAT DO YOU NEED* TO DEVELOP HYBRID MOBILE APP?

Cordova

JET

PackagingOffline

Phone photo by Terje Sollie from Pexels

MAFor

* Oracle tools - other tools are available!

Page 13: Delivering Mobile Apps to the Field

Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential

OFFLINE PERSISTENCE

• Offline is required in many/most mobile apps to either:

– give illusion of better performance

– provide application functionality under all network conditions (variable or none)

• Biggest challenge is cache coherency across devices

– May not be as bad as you think – perhaps first or last “wins”

• You may not need to provide offline capability for all functions

– Most functions may be read-only anyway; transactional ones may have to wait for connectivity if rare

13

MAF: Container Data Model (fka AMPA) built-in

JET: use Oracle’s offline persistence toolkithttps://github.com/oracle/offline-persistence-toolkit

Page 14: Delivering Mobile Apps to the Field

Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential14

• Real-world ‘field’ environments & Oracle technologies

• Oracle MAF

• Apache Cordova

• Oracle JET for mobile apps

• User experience

• Learning points & summary

Page 15: Delivering Mobile Apps to the Field

Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential

TRADITIONAL ORACLE TOOL FOR MOBILE APP DEV

Mobile Application Framework

• Declarative dev env, similar to ADF

• JDeveloper IDE (MAF extension)

• Java-based (mostly)

• Pre-integrated Cordova

• Built in navigation, security, login

• Model (binding) layer that integrates nicely with SOAP & REST

• Discovery feature when using ADF BC exposed as REST APIs

• Offline persistence built-in (uses encrypted SQLite database)

15

2014 / 4 years ago:

Page 16: Delivering Mobile Apps to the Field

Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential17

MAF: 02. An Introduction to Oracle Mobile Application Framework (Oracle MAF)https://www.youtube.com/watch?v=4rN1kQncy0E

2014

Page 17: Delivering Mobile Apps to the Field

Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential

MAF DEMO

18

Page 18: Delivering Mobile Apps to the Field

Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential

FIRST TWO APPS: MAF OUTCOMES

• Lots of new technologies for the team (ADF supported by MAF consultant):

– Android SDK, standard PC build

– Emulator, building, deploying to .apk / device

– Build server integration

– JavaScript (Cordova plus some fixes like the “enter” button on Android keyboard)

• App 1: Lots of Java bean & persistence layer debugging

– Sub-optimal REST APIs (following data model)

– A couple of bugs (fixed in MAF 2.5.1+)

• App 2: Much smoother

– Reworked both data model & APIs, simplifying app

• Once through pilot, rollout was fast & no bug fixes needed19

Page 19: Delivering Mobile Apps to the Field

Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential20

• Real-world ‘field’ environments & Oracle technologies

• Oracle MAF

• Apache Cordova

• Oracle JET for mobile apps

• User experience

• Learning points & summary

Page 20: Delivering Mobile Apps to the Field

Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential

CORDOVA ARCHITECTURE

Bluetooth Serial

Barcode Receiver

https://cordova.apache.org/docs/en/latest/guide/overview/index.html

JavaScript

JavaScript

Android: Java

Physicalconnection

to hardware

Page 21: Delivering Mobile Apps to the Field

Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential

THE LASER SCANNER

• Scanner is proprietary feature of the Honeywell hardware

– Including hardware buttons on both sides of device

• Honeywell-customised flavour of Android

– Android Intent (android.scan) for successful scan completed

• We used the cordova-plugin-battery-status as an example/starting point for our custom Cordova plug-in

https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-battery-status/

We could add more features of the Honeywell APIs/SDK to the plug-in, e.g. enable/disable scan button, multi-scan

22

Page 22: Delivering Mobile Apps to the Field

Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential

THE BLUETOOTH PRINTER

• Used BluetoothSerial plug in to communicate with printer

https://github.com/don/BluetoothSerial & in npm

• Bluetooth needs to be paired

• Error handling left a lot to be desired – we’ve made some improvements (PR imminent)

Printer control language feelslike a step back in time!

23

Page 23: Delivering Mobile Apps to the Field

Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential24

• Real-world ‘field’ environments & Oracle technologies

• Oracle MAF

• Apache Cordova

• Oracle JET for mobile apps

• User experience

• Learning points & summary

Page 24: Delivering Mobile Apps to the Field

Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential

MODERN ORACLE TOOLS FOR MOBILE APP DEV

25

• JavaScript Extension Toolkit (JET)

– Integrated & stable collection of open source frameworks

– Oracle contributions for visual elements

– Many IDEs available for JavaScript

– Oracle offline persistence toolkit

– Apache Cordova is used to access device features

– Deployment to iOS, Android as hybrid apps, but also regular web apps e.g. for desktop usage

• Visual Builder Cloud Service (VBCS)

– Low-code tool, highly graphical

– Runs in the cloud, has a runtime component

– Builds regular web apps, but can also build mobile apps to run from cloud

– Access to full range of JET components

– Export JavaScript code so you can use as JET if you need to go deeper

Page 25: Delivering Mobile Apps to the Field

Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential

JET DEMO

26

Page 26: Delivering Mobile Apps to the Field

Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential30

• Real-world ‘field’ environments & Oracle technologies

• Oracle MAF

• Apache Cordova

• Oracle JET for mobile apps

• User experience

• Learning points & summary

Page 27: Delivering Mobile Apps to the Field

Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential

BACK TO BASICS: OUR USERS

• Who are our users?

• How IT-literate are they?

• What is their working process?

– How much focus do they have on the app

– How does “happy path” compare to non-standard flows?

– Quick wins and process improvement

31

➢Importance of Business Sponsor & Product Owner ➢Mobile app usage means lots of opinions!➢Management of expectations

Page 28: Delivering Mobile Apps to the Field

Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential

MOCK-UPS

32

Page 29: Delivering Mobile Apps to the Field

Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential

THE DEVICE

Don't underestimate device requirements, even if you think app is simple!

Consider:

• Processor speed & memory

• Screen brightness

• Features, e.g. pen, scanning, bluetooth, NFC

• Battery life

– Replacement batteries

– Charging docks

• Physical resilience

– Drop resistance

– Water resistance (or even hygiene, e.g. for hospital use)

• Supported lifespan: service & spare parts34

Page 30: Delivering Mobile Apps to the Field

Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential35

• Real-world ‘field’ environments & Oracle technologies

• Oracle MAF

• Apache Cordova

• Oracle JET for mobile apps

• User experience

• Learning points & summary

Page 31: Delivering Mobile Apps to the Field

Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential

LEARNING POINTS

• Tool choice is very important, especially due to pace of change

• We love the JET cookbook & training, e.g. MOOC

• Do mock-ups early and carefully, ahead of dev sprints

• Cordova plug-in dev: create test harness to reduce debug scope/cycle time

• Give developers real devices – emulators only go so far

• CI, automated build & deployment

• Automated testing, especially WAN simulation if possible

36

Credit: https://gfycat.com/CompleteDimpledGoitered

Page 32: Delivering Mobile Apps to the Field

Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential

SUMMARY

• Plenty of quick win scenarios where employees need to access IT through mobile devices

• Oracle JET or MAF, coupled with Cordova, provides mature means to build mobile apps. JET re-uses of JavaScript & desktop skills

• Hybrid mobile apps offer good compromise between development flexibility and cost. Keep an eye out for Progressive Web Apps though

• Various integration options & cloud services – some overlap so consider carefully

• Positive user experience is central to success of your project – consider usage, device, convenience, etc

37

Page 33: Delivering Mobile Apps to the Field

Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential

IF YOU LIKED THIS YOU MIGHT LIKE…

38

In this room next:

HIGHLY RECOMMENDED!

Page 34: Delivering Mobile Apps to the Field