Más contenido relacionado
La actualidad más candente (20)
Similar a Delivering Mobile Apps to the Field with Oracle (20)
Delivering Mobile Apps to the Field with Oracle
- 1. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential
DELIVERING MOBILE APPS
TO THE FIELD WITH ORACLE
Simon Haslam
- 2. 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/2017
JET project from 7/2018
@simon_haslam
- 3. 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
- 4. 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
oracle-ace_ww@oracle.com
- 5. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential
5
• Real-world ‘field’ environments & Oracle technologies
• Oracle MAF
• Apache Cordova
• Oracle JET for mobile apps
• User experience
• Learning points & summary
- 6. 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 from
https://www.pexels.com
- 7. 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 terms
for a customer, e.g. at end of test drive
IT to assist salesperson
in a car showroom
1997
- 8. 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
- 9. 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
Offline
persistence
App dev
tools
Mobile
Device
Management
SDLC
tools
Security
tools
Notification
services
Tracking &
analytics
Operating
System inc app
packaging
Device-specific
features
Identity services
A
P
I
….and this is before you consider microservices!
- 10. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential
ORACLE PRODUCTS TO MEET THESE NEEDS
10
Data services
‘Functional’ services
Offline
persistence
App dev
tools
Mobile
Device
Management
SDLC
tools
Security
tools
Notification
services
Tracking &
analytics
Operating
System inc app
packaging
Device-specific
features
Identity services
Mobile Cloud Service
Mobile
Cloud
Service
Integration
Cloud
SOA
Suite Service Bus
Identity
Cloud
Service
ADF
ERP
JET
MAF
MAF
(CDM)
Persist.
Toolkit
DevCSAPI
Platform
- 11. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential
TYPES OF MOBILE APP
11
Native Hybrid
Progressive
Web Apps
Platform-specific
(multiple teams
for different platforms)
Cross-platform Cross-platform
Ultimate performance
Usually acceptable
performance
Expected to be acceptable
performance
Native APIs Cordova Cordova(?)
This presentation
PLATFORMSSPEED
DEVICE/OS
FEATURES
- 12. 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
MAF
or
* Oracle tools - other tools are available!
- 13. 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 toolkit
https://github.com/oracle/offline-
persistence-toolkit
- 14. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential
14
• Real-world ‘field’ environments & Oracle technologies
• Oracle MAF
• Apache Cordova
• Oracle JET for mobile apps
• User experience
• Learning points & summary
- 15. 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:
- 16. 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
- 17. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential
MAF DEMO
18
- 18. 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 needed
19
- 19. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential
20
• Real-world ‘field’ environments & Oracle technologies
• Oracle MAF
• Apache Cordova
• Oracle JET for mobile apps
• User experience
• Learning points & summary
- 20. 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
Physical
connection
to hardware
- 21. 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
- 22. 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 feels
like a step back in time!
23
- 23. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential
24
• Real-world ‘field’ environments & Oracle technologies
• Oracle MAF
• Apache Cordova
• Oracle JET for mobile apps
• User experience
• Learning points & summary
- 24. 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
- 25. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential
JET DEMO
26
- 26. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential
30
• Real-world ‘field’ environments & Oracle technologies
• Oracle MAF
• Apache Cordova
• Oracle JET for mobile apps
• User experience
• Learning points & summary
- 27. 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
- 28. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential
MOCK-UPS
32
- 29. 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
- 30. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential
35
• Real-world ‘field’ environments & Oracle technologies
• Oracle MAF
• Apache Cordova
• Oracle JET for mobile apps
• User experience
• Learning points & summary
- 31. 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
- 32. 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
- 33. 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!