SlideShare a Scribd company logo
Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential
DELIVERING MOBILE APPS
TO THE FIELD WITH ORACLE
Simon Haslam
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
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
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
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
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
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
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
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!
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
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
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!
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
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
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:
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
Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential
MAF DEMO
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
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
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
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
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
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
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
Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential
JET DEMO
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
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
Copyright © 2018, eProseed and/or its affiliates. All rights reserved. | Confidential
MOCK-UPS
32
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
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
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
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
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!
Delivering Mobile Apps to the Field with Oracle

More Related Content

What's hot (20)

PDF
Oracle ADF Architecture TV - Design - Designing for Internationalization
Chris Muir
 
PDF
Oracle ADF Architecture TV - Development - Logging
Chris Muir
 
PDF
JavaFX - Bringing rich Internet applications ...
terrencebarr
 
PDF
Overview of Eclipse technologies
PT.JUG
 
PDF
Useful Design Patterns for Enterprise Applications with Java
PT.JUG
 
PDF
Apex atp customer_presentation_wwc march 2019
Oracle Developers
 
PDF
Oracle Solaris Overview
OTN Systems Hub
 
PDF
Servidores de Aplicação: por que ainda precisamos deles?
Bruno Borges
 
PDF
Oracle ADF Architecture TV - Planning & Getting Started - Team, Skills and D...
Chris Muir
 
PDF
Java Micro Edition (ME) 8 Deep Dive
terrencebarr
 
PDF
Building Cloud Native Applications with Oracle Autonomous Database.
Oracle Developers
 
PDF
Oracle Java ME Embedded 8.1 Devloper Preview: Introduction
terrencebarr
 
PDF
OOW16 - Migrating and Managing Customizations for Oracle E-Business Suite 12....
vasuballa
 
PPTX
AMIS Oracle OpenWorld & CodeOne Review - Pillar 2 - SaaS and Standard Applica...
Lucas Jellema
 
PDF
What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...
Eduardo Pelegri-Llopart
 
PDF
OOD Principles and Patterns
Nguyen Tung
 
PDF
Integrando Oracle BPM com Java EE e WebSockets
Bruno Borges
 
PDF
[Oracle Webcast] Discover the Oracle Blockchain Platform through the eyes of ...
Sanae BEKKAR
 
PPTX
Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...
Lucas Jellema
 
PDF
Découvrons Oracle Cloud Platform for Integration - Oracle Integration Cloud
Sanae BEKKAR
 
Oracle ADF Architecture TV - Design - Designing for Internationalization
Chris Muir
 
Oracle ADF Architecture TV - Development - Logging
Chris Muir
 
JavaFX - Bringing rich Internet applications ...
terrencebarr
 
Overview of Eclipse technologies
PT.JUG
 
Useful Design Patterns for Enterprise Applications with Java
PT.JUG
 
Apex atp customer_presentation_wwc march 2019
Oracle Developers
 
Oracle Solaris Overview
OTN Systems Hub
 
Servidores de Aplicação: por que ainda precisamos deles?
Bruno Borges
 
Oracle ADF Architecture TV - Planning & Getting Started - Team, Skills and D...
Chris Muir
 
Java Micro Edition (ME) 8 Deep Dive
terrencebarr
 
Building Cloud Native Applications with Oracle Autonomous Database.
Oracle Developers
 
Oracle Java ME Embedded 8.1 Devloper Preview: Introduction
terrencebarr
 
OOW16 - Migrating and Managing Customizations for Oracle E-Business Suite 12....
vasuballa
 
AMIS Oracle OpenWorld & CodeOne Review - Pillar 2 - SaaS and Standard Applica...
Lucas Jellema
 
What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...
Eduardo Pelegri-Llopart
 
OOD Principles and Patterns
Nguyen Tung
 
Integrando Oracle BPM com Java EE e WebSockets
Bruno Borges
 
[Oracle Webcast] Discover the Oracle Blockchain Platform through the eyes of ...
Sanae BEKKAR
 
Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...
Lucas Jellema
 
Découvrons Oracle Cloud Platform for Integration - Oracle Integration Cloud
Sanae BEKKAR
 

Similar to Delivering Mobile Apps to the Field with Oracle (20)

PPTX
Why citizen developers should be your new best friend - Oracle APEX
DavidPeake15
 
PPTX
Functions and DevOps
Shaun Smith
 
PDF
APEX – jak vytvořit jednoduše aplikaci
MarketingArrowECS_CZ
 
PPTX
Serverless Kotlin
David Delabassee
 
PDF
Oracle Modern AppDev Approach to Cloud & Container Native App
Paulo Alberto Simoes ∴
 
PDF
Oracle APEX 18.1 New Features
msewtz
 
PDF
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Chris Muir
 
PDF
B3 getting started_with_cloud_native_development
Dr. Wilfred Lin (Ph.D.)
 
PPTX
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Chris Muir
 
PDF
Coding from Application Container Cloud to Oracle JET
Geertjan Wielenga
 
PDF
Database@Home : Data Driven Apps : Core-dev or Low Code UI
Tammy Bednar
 
PDF
Managing Complexity in Mobile Application Deployment Using the OSGi Service P...
mfrancis
 
PDF
Extending Enterprise Applications to mobile interfaces-Final
Rohit Dhamija
 
PDF
Development Workshop on ET1, Android and Motorola RhoElements
Romin Irani
 
PDF
OOW15 - Oracle E-Business Suite Technology: Latest Features and Roadmap
vasuballa
 
PDF
Plataforma Java Embedded & Internet of Things (IoT)
Marco Antonio Maciel
 
PDF
Introduction to Java Micro Edition (ME) 8
terrencebarr
 
PDF
Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...
Codemotion
 
PDF
Oracle mobile cloud service
shravan kumar chelika
 
PPTX
Adf mobile overview
Oracle Corporation
 
Why citizen developers should be your new best friend - Oracle APEX
DavidPeake15
 
Functions and DevOps
Shaun Smith
 
APEX – jak vytvořit jednoduše aplikaci
MarketingArrowECS_CZ
 
Serverless Kotlin
David Delabassee
 
Oracle Modern AppDev Approach to Cloud & Container Native App
Paulo Alberto Simoes ∴
 
Oracle APEX 18.1 New Features
msewtz
 
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Chris Muir
 
B3 getting started_with_cloud_native_development
Dr. Wilfred Lin (Ph.D.)
 
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Chris Muir
 
Coding from Application Container Cloud to Oracle JET
Geertjan Wielenga
 
Database@Home : Data Driven Apps : Core-dev or Low Code UI
Tammy Bednar
 
Managing Complexity in Mobile Application Deployment Using the OSGi Service P...
mfrancis
 
Extending Enterprise Applications to mobile interfaces-Final
Rohit Dhamija
 
Development Workshop on ET1, Android and Motorola RhoElements
Romin Irani
 
OOW15 - Oracle E-Business Suite Technology: Latest Features and Roadmap
vasuballa
 
Plataforma Java Embedded & Internet of Things (IoT)
Marco Antonio Maciel
 
Introduction to Java Micro Edition (ME) 8
terrencebarr
 
Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...
Codemotion
 
Oracle mobile cloud service
shravan kumar chelika
 
Adf mobile overview
Oracle Corporation
 
Ad

More from Simon Haslam (20)

PDF
Platform Engineering for the Modern Oracle World
Simon Haslam
 
PDF
Better Practices when Using Terraform to Manage Oracle Cloud Infrastructure
Simon Haslam
 
PDF
The Kubernetes WebLogic revival (part 2)
Simon Haslam
 
PDF
The Kubernetes WebLogic revival (part 1)
Simon Haslam
 
PDF
What You Need to Know about Oracle Cloud Connectivity
Simon Haslam
 
PDF
Tips & Tricks for Oracle PaaS Admins
Simon Haslam
 
PDF
Platform Provisioning Automation for Oracle Cloud
Simon Haslam
 
PDF
Terrraform meet Oracle Cloud: Platform Provisioning Automation
Simon Haslam
 
PDF
Provisioning with Oracle Cloud Stack Manager
Simon Haslam
 
PDF
Oracle SOA Cloud - Skanska Customer Journey
Simon Haslam
 
PDF
Tips & Tricks for Oracle PaaS Admins
Simon Haslam
 
PDF
JET Hybrid Mobile Apps - taster for Oracle CodeOne
Simon Haslam
 
PDF
Provisioning with Oracle Cloud Stack Manager
Simon Haslam
 
PDF
Connecting Oracle Cloud to your Data Centre (Part A)
Simon Haslam
 
PDF
Running SOA in the Cloud: SOA CS for SOA Suite Customers
Simon Haslam
 
PDF
Tips & Tricks for Java & SOA Cloud Service
Simon Haslam
 
PDF
SOA & WebLogic - Lift & Shift to the Cloud
Simon Haslam
 
PDF
Driving DevOps for Oracle with the orawls Puppet Modules
Simon Haslam
 
PDF
Experiences of SOACS
Simon Haslam
 
PDF
3 Ways to Connect to the Oracle Cloud
Simon Haslam
 
Platform Engineering for the Modern Oracle World
Simon Haslam
 
Better Practices when Using Terraform to Manage Oracle Cloud Infrastructure
Simon Haslam
 
The Kubernetes WebLogic revival (part 2)
Simon Haslam
 
The Kubernetes WebLogic revival (part 1)
Simon Haslam
 
What You Need to Know about Oracle Cloud Connectivity
Simon Haslam
 
Tips & Tricks for Oracle PaaS Admins
Simon Haslam
 
Platform Provisioning Automation for Oracle Cloud
Simon Haslam
 
Terrraform meet Oracle Cloud: Platform Provisioning Automation
Simon Haslam
 
Provisioning with Oracle Cloud Stack Manager
Simon Haslam
 
Oracle SOA Cloud - Skanska Customer Journey
Simon Haslam
 
Tips & Tricks for Oracle PaaS Admins
Simon Haslam
 
JET Hybrid Mobile Apps - taster for Oracle CodeOne
Simon Haslam
 
Provisioning with Oracle Cloud Stack Manager
Simon Haslam
 
Connecting Oracle Cloud to your Data Centre (Part A)
Simon Haslam
 
Running SOA in the Cloud: SOA CS for SOA Suite Customers
Simon Haslam
 
Tips & Tricks for Java & SOA Cloud Service
Simon Haslam
 
SOA & WebLogic - Lift & Shift to the Cloud
Simon Haslam
 
Driving DevOps for Oracle with the orawls Puppet Modules
Simon Haslam
 
Experiences of SOACS
Simon Haslam
 
3 Ways to Connect to the Oracle Cloud
Simon Haslam
 
Ad

Recently uploaded (20)

PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
Biography of Daniel Podor.pdf
Daniel Podor
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
July Patch Tuesday
Ivanti
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
Biography of Daniel Podor.pdf
Daniel Podor
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
July Patch Tuesday
Ivanti
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 

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 [email protected]
  • 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!