SlideShare una empresa de Scribd logo
1 de 34
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

JavaFX - Bringing rich Internet applications ...
JavaFX - Bringing rich Internet applications ...JavaFX - Bringing rich Internet applications ...
JavaFX - Bringing rich Internet applications ...
terrencebarr
 

La actualidad más candente (20)

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

Similar a Delivering Mobile Apps to the Field with Oracle

Managing Complexity in Mobile Application Deployment Using the OSGi Service P...
Managing Complexity in Mobile Application Deployment Using the OSGi Service P...Managing Complexity in Mobile Application Deployment Using the OSGi Service P...
Managing Complexity in Mobile Application Deployment Using the OSGi Service P...
mfrancis
 
Extending Enterprise Applications to mobile interfaces-Final
Extending Enterprise Applications to mobile interfaces-FinalExtending Enterprise Applications to mobile interfaces-Final
Extending Enterprise Applications to mobile interfaces-Final
Rohit Dhamija
 

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

Why citizen developers should be your new best friend - Oracle APEX
Why citizen developers should be your new best friend - Oracle APEXWhy citizen developers should be your new best friend - Oracle APEX
Why citizen developers should be your new best friend - Oracle APEX
 
Functions and DevOps
Functions and DevOpsFunctions and DevOps
Functions and DevOps
 
Java and Serverless - A Match Made In Heaven, Part 1
Java and Serverless - A Match Made In Heaven, Part 1Java and Serverless - A Match Made In Heaven, Part 1
Java and Serverless - A Match Made In Heaven, Part 1
 
APEX – jak vytvořit jednoduše aplikaci
APEX – jak vytvořit jednoduše aplikaciAPEX – jak vytvořit jednoduše aplikaci
APEX – jak vytvořit jednoduše aplikaci
 
Serverless Kotlin
Serverless KotlinServerless Kotlin
Serverless Kotlin
 
Oracle Modern AppDev Approach to Cloud & Container Native App
Oracle Modern AppDev Approach to Cloud & Container Native AppOracle Modern AppDev Approach to Cloud & Container Native App
Oracle Modern AppDev Approach to Cloud & Container Native App
 
Oracle APEX 18.1 New Features
Oracle APEX 18.1 New FeaturesOracle APEX 18.1 New Features
Oracle APEX 18.1 New Features
 
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile IntegrationOracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
 
B3 getting started_with_cloud_native_development
B3 getting started_with_cloud_native_developmentB3 getting started_with_cloud_native_development
B3 getting started_with_cloud_native_development
 
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with OracleMobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
 
Coding from Application Container Cloud to Oracle JET
Coding from Application Container Cloud to Oracle JETCoding from Application Container Cloud to Oracle JET
Coding from Application Container Cloud to Oracle JET
 
Database@Home : Data Driven Apps : Core-dev or Low Code UI
Database@Home : Data Driven Apps : Core-dev or Low Code UIDatabase@Home : Data Driven Apps : Core-dev or Low Code UI
Database@Home : Data Driven Apps : Core-dev or Low Code UI
 
Managing Complexity in Mobile Application Deployment Using the OSGi Service P...
Managing Complexity in Mobile Application Deployment Using the OSGi Service P...Managing Complexity in Mobile Application Deployment Using the OSGi Service P...
Managing Complexity in Mobile Application Deployment Using the OSGi Service P...
 
Extending Enterprise Applications to mobile interfaces-Final
Extending Enterprise Applications to mobile interfaces-FinalExtending Enterprise Applications to mobile interfaces-Final
Extending Enterprise Applications to mobile interfaces-Final
 
Development Workshop on ET1, Android and Motorola RhoElements
Development Workshop on ET1, Android and Motorola RhoElementsDevelopment Workshop on ET1, Android and Motorola RhoElements
Development Workshop on ET1, Android and Motorola RhoElements
 
OOW15 - Oracle E-Business Suite Technology: Latest Features and Roadmap
OOW15 - Oracle E-Business Suite Technology: Latest Features and RoadmapOOW15 - Oracle E-Business Suite Technology: Latest Features and Roadmap
OOW15 - Oracle E-Business Suite Technology: Latest Features and Roadmap
 
Plataforma Java Embedded & Internet of Things (IoT)
Plataforma Java Embedded & Internet of Things (IoT)Plataforma Java Embedded & Internet of Things (IoT)
Plataforma Java Embedded & Internet of Things (IoT)
 
Introduction to Java Micro Edition (ME) 8
Introduction to Java Micro Edition (ME) 8Introduction to Java Micro Edition (ME) 8
Introduction to Java Micro Edition (ME) 8
 
Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...
Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...
Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...
 
Oracle mobile cloud service
Oracle mobile cloud serviceOracle mobile cloud service
Oracle mobile cloud service
 

Más de Simon Haslam

Más de Simon Haslam (20)

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

Último

Último (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 

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!