SlideShare a Scribd company logo
Copyright © 2018, eProseed and/or its affiliates. All rights reserved.
DELIVERING MOBILE APPS TO THE FIELD
USING ORACLE
Simon Haslam
Luigi Banzato
6th September 2018
1
Development, Middleware & Integration
Combined SIG
Copyright © 2018, eProseed and/or its affiliates. All rights reserved.
Simon Haslam
Technical Director and Partner
Oracle technology since 1994
UKOUG volunteer & speaker since 2001
Oracle ACE Director (Middleware & SOA)
2
ABOUT US
Luigi Banzato
Senior R&D Architect
Working with Oracle SOA since 2008
Mostly SOA/OSB on cloud, e.g. integrating
Oracle HCM, Salesforce, etc with on-prem
22 Oracle Specializations… and counting.
Copyright © 2018, eProseed and/or its affiliates. All rights reserved.
AGENDA
• Real-world ‘field’ environments
• Oracle technologies for mobile apps
• Typical integration challenges
• Retail case study
• Learning points & summary
3
Copyright © 2018, eProseed and/or its affiliates. All rights reserved.
BUT FIRSTLY: HOW RETAIL “APPS” HAVE EVOLVED
5
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
App to support the
car sales process
2018
Customer starts car selection
and customisation before
visiting dealer
Example
Copyright © 2018, eProseed and/or its affiliates. All rights reserved.
HOW RETAIL “APPS” HAVE EVOLVED: TECHNOLOGY
6
• Apple Newton MessagePad
• NewtonScript (proprietary OO language)
• Updates via direct connection to Mac/PC,
modem if you were lucky!
IT to assist salesperson
in a car showroom
1997
App to support the
car sales process
2018
• Phone/tablets (wide compatibility)
• Lots of developer choice
• Mostly to cloud
• Device services:
• Location
• Camera
• Highly connected:
• Social media, e.g. auth
• Stock & pricing
• 3rd party services
• Experience is heavily tailored
to customer Example
Copyright © 2018, eProseed and/or its affiliates. All rights reserved.
WHY 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)
– 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
7
Photo from
https://www.pexels.com
Copyright © 2018, eProseed and/or its affiliates. All rights reserved.
AGENDA
• Real-world ‘field’ environments
• Oracle technologies for mobile apps
• Typical integration challenges
• Retail case study
• Learning points & summary
8
Copyright © 2018, eProseed and/or its affiliates. All rights reserved.
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.
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
MAFPersist.
Toolkit
DevCSAPI
Platform
Copyright © 2018, eProseed and/or its affiliates. All rights reserved.
MINIMUM “IN THE FIELD” REQUIREMENTS
• App dev tools (unless you already have COTS apps)
• Data services
• Identity services
• Mobile Device Management (if not BYOD)
11
Copyright © 2018, eProseed and/or its affiliates. All rights reserved.
ASIDE: NATIVE VS HYBRID APPS
• Native
– Compiled for the OS
• E.g. Objective-C or Swift for iOS
Java or Kotlin for Android
– Best performance and access to device features
– So not cross-platform…
• unless you look at abstraction tool, e.g. Xamarin or React Native, which then may not perform so well
• Hybrid
– Web view… like a mini webserver displaying your HTML5/CSS app
– Cross-platform
– Uses mapping layer such as Cordova to access OS APIs
12
Copyright © 2018, eProseed and/or its affiliates. All rights reserved.
ORACLE TOOLS FOR MOBILE APP DEV
• Mobile Application Framework (MAF)
– Java-based framework, similar to ADF
– JDeveloper IDE
– Some nice integration with ADF BC,
“describe” API to set up client data model
– Mature offline framework (originated as
AMPA from A-Team)
– Apache Cordova is used to access device
features via JavaScript
– Deployment to iOS, Android, UWP
13
• 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 (open source)
– 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
Note: VBCS can produce hybrid
mobile… (worth investigating)
Copyright © 2018, eProseed and/or its affiliates. All rights reserved.
AGENDA
• Real-world ‘field’ environments
• Oracle technologies for mobile apps
• Typical integration challenges
• Retail case study
• Learning points & summary
15
Copyright © 2018, eProseed and/or its affiliates. All rights reserved.
TYPICAL INTEGRATION CHALLENGES FOR MOBILE APPS
• Mobile-friendly APIs
– Shape existing services to be lighter & mobile-friendly (SOAP  ReST, XML  JSON)
– Be mindful of the (possibly bad) performance of existing services
• Security
– How will users be authenticated and authorised?
– How will authentication with backend services work?
• Infrastructure/Connectivity
– How will the app access the APIs (LAN, VPN, Internet)?
16
Copyright © 2018, eProseed and/or its affiliates. All rights reserved.
TYPICAL INTEGRATION CHALLENGES FOR MOBILE APPS
• Architectural Recommendation:
Create a centralised layer to mediate
communication between the mobile app and the
backend services
– Enables a single point of contact and facilitates
both security and connectivity
– This layer can then work out security for each
internal service, decoupled from the mobile app
17
Integrationlayer
ADF BC
SOA Suite
Other Legacy
Services
This layer could be:
Mobile Cloud Service (MCS),
Oracle Service Bus,
Oracle Integration Cloud (formerly ICS)
…or a combination
Copyright © 2018, eProseed and/or its affiliates. All rights reserved.
OSB & REST
18
• Exposing REST services in OSB can be done by:
1. Using a WSDL Pipeline + Native Format Translation (JSON <> XML)
• This was the only option up to version 12.1.*
• More structured, but demands more time to setup/maintain
• Good for exposing existing SOAP services as ReST
2. Using REST Pipelines (a.k.a. End to End REST)
• From version 12.2 of OSB it is possible to create REST pipelines
• A good option when SOAP is not required at all
Copyright © 2018, eProseed and/or its affiliates. All rights reserved.
OSB & REST
19
• WSDL Pipelines
– Backend SOAP services can be
exposed as REST using OSB’s
“Expose as REST” feature
– OSB’s Native Format
Translation can easily convert
XML <> JSON
Copyright © 2018, eProseed and/or its affiliates. All rights reserved.
OSB & REST
20
• OSB End-to-end ReST
Support
– Since version 12.2 OSB supports
end to end REST pipelines
– This makes it much quicker to
proxy calls through OSB when no
transformation is required!
Copyright © 2018, eProseed and/or its affiliates. All rights reserved.
OSB & REST – TIP!
21
• OSB & the PATCH HTTP verb
– When creating a REST Business
Service the REST definition
Wizard the PATCH operation is
not listed as an HTTP Verb
– However, if after creating the
operation in the wizard the
method name in the WADL is
changed to PATCH, it will use
that when invoking the end
service!
Copyright © 2018, eProseed and/or its affiliates. All rights reserved.
CASE STUDY: MOBILE APPLICATION ARCHITECTURE
22
Service Bus
12c
SOA
11g / 12c
ADF BC
12c
REST
REST
SOAP
WAN
Copyright © 2018, eProseed and/or its affiliates. All rights reserved.
AGENDA
• Real-world ‘field’ environments
• Oracle technologies for mobile apps
• Typical integration challenges
• Retail case study
• Learning points & summary
23
Copyright © 2018, eProseed and/or its affiliates. All rights reserved.
HERE’S A REAL-WORLD MOBILE PROJECT!
• Retail environment
• Employee usage “in the field”
• A relatively simple problem space (order tracking)
• Oracle-centric
24
Use case is half-way between previous examples:
➢ Dedicated devices
➢ Used by employees only
➢ Online/offline data
➢ Customer personal data
➢ Wide portfolio of apps
Obligatory
GDPR
logo
Copyright © 2018, eProseed and/or its affiliates. All rights reserved.
DEMO
27
Copyright © 2018, eProseed and/or its affiliates. All rights reserved.
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
28
➢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.
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 parts29
Copyright © 2018, eProseed and/or its affiliates. All rights reserved.
AGENDA
• Real-world ‘field’ environments
• Oracle technologies for mobile apps
• Typical integration challenges
• Retail case study
• Learning points & summary
31
Copyright © 2018, eProseed and/or its affiliates. All rights reserved.
LESSONS LEARNED (GENERAL)
• Do mock-ups early and carefully
– If you have a vision for the whole app do them before dev user stories begin
– We can debate fidelity ☺
– Consider the effect of on-screen keyboard
– The usual difference in perspective for end-user from designer/developer
• Provide real devices to developers early in project
– Standardise emulator build
– Emulators only help testing to a degree
• Load test early & often (ideally part of CI?)
– Volume of data & number of REST calls
– Use emulator to see effect of network latency/bandwidth
32
Copyright © 2018, eProseed and/or its affiliates. All rights reserved.
OUTCOMES
• Sprints/SIT/UAT
• Pilot was longer than expected:
– WAN issues
– some unrecognised business processes
• After pilot of 1,2,3 stores the rollout was fast (20+ per week)
• No further changes/fixes needed since end of pilot
• eProseed has just delivered an enhanced version of this app
with broader scope – in pilot now
33
Copyright © 2018, eProseed and/or its affiliates. All rights reserved.
SUMMARY
• Plenty of scenarios where employees need to access IT through
mobile devices
• Oracle has mobile app development tools from traditional
declarative/Java to modern code-based JavaScript
• Hybrid mobile apps offer good compromise between
development flexibility and cost
• 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
34
Copyright © 2018, eProseed and/or its affiliates. All rights reserved.
THANKS FOR LISTENING!
Any questions?
35
Delivering Mobile Apps to the field using Oracle

More Related Content

PPTX
Adf mobile overview
PPTX
Future of Oracle Forms AUSOUG 2013
PDF
B3 mobile development and deployment platform enabled by oracle fusion midd...
PPTX
Oracle Mobile Field Service App: Usability and Productivity Realized for E-Bu...
PPTX
235811181 2014-mobile-field-service-solutions
PDF
Oracle 360
DOC
IMITHIYAZ
DOC
Ora_Case_Study_Oracle Application Development Framework
Adf mobile overview
Future of Oracle Forms AUSOUG 2013
B3 mobile development and deployment platform enabled by oracle fusion midd...
Oracle Mobile Field Service App: Usability and Productivity Realized for E-Bu...
235811181 2014-mobile-field-service-solutions
Oracle 360
IMITHIYAZ
Ora_Case_Study_Oracle Application Development Framework

What's hot (20)

PDF
Evolving the enterprise - IT legacy to SOA
DOCX
David_Walaski_Resume
PDF
Informatica to ODI Migration – What, Why and How | Informatica to Oracle Dat...
PDF
8iliteds
PPTX
Con8834 bring your own identity - final
PPT
Oracle fusion middleware 11g build applications with adf
PDF
Smart and Highly Scalable Lifecycle Management for Embedded Devices - Thomas ...
DOC
CV_Diwakar_Kumar
PDF
Responsive Web Design in Oracle Application Express
PDF
Partner Webcast – Oracle Public Cloud for ISVs: Migrating Java EE and ADF app...
PDF
Powering Dynamic M2M Event Processing with OSGi - W Bowers
PDF
In sync10 nadiabendjedou-10things-final
PDF
Emmbedding Oracle
PDF
How Oracle Mobile Cloud and Oracle MAF can Acccelerate Mobile Application Dev...
PPT
Oracle Embedded
PDF
Mahmoud Sabri CV
PPTX
PITSS General Presentation - Dec, 2012
PPTX
Transform Your Data Integration Platform From Informatica To ODI
PDF
OSGi in Telematics - Volker Braun
Evolving the enterprise - IT legacy to SOA
David_Walaski_Resume
Informatica to ODI Migration – What, Why and How | Informatica to Oracle Dat...
8iliteds
Con8834 bring your own identity - final
Oracle fusion middleware 11g build applications with adf
Smart and Highly Scalable Lifecycle Management for Embedded Devices - Thomas ...
CV_Diwakar_Kumar
Responsive Web Design in Oracle Application Express
Partner Webcast – Oracle Public Cloud for ISVs: Migrating Java EE and ADF app...
Powering Dynamic M2M Event Processing with OSGi - W Bowers
In sync10 nadiabendjedou-10things-final
Emmbedding Oracle
How Oracle Mobile Cloud and Oracle MAF can Acccelerate Mobile Application Dev...
Oracle Embedded
Mahmoud Sabri CV
PITSS General Presentation - Dec, 2012
Transform Your Data Integration Platform From Informatica To ODI
OSGi in Telematics - Volker Braun
Ad

Similar to Delivering Mobile Apps to the field using Oracle (20)

PDF
Delivering Mobile Apps to the Field with Oracle
PDF
Delivering Mobile Apps to the Field with Oracle JET
PDF
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
PDF
Oracle ADF Architecture TV - Design - ADF Service Architectures
PDF
Extending Enterprise Applications to mobile interfaces-Final
PPTX
AMIS Oracle OpenWorld & CodeOne Review - Pillar 2 - SaaS and Standard Applica...
PPTX
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: SaaS
PDF
MySQL day Dublin - OCI & Application Development
PPTX
Why citizen developers should be your new best friend - Oracle APEX
PDF
AJAX for Mobile Devices - 04/2009
PDF
OOW15 - Oracle E-Business Suite Technology: Latest Features and Roadmap
PPTX
Ruben rodriguez best practices implementing oracle mobile cloud service
PDF
Mobile-Enabling Enterprise APIs: A Case Study with MasterCard
PDF
Database@Home : Data Driven Apps : Core-dev or Low Code UI
PDF
B3 getting started_with_cloud_native_development
PPTX
IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for I...
PPTX
apidays LIVE Paris - Break up Monoliths and lay them to REST! by Arun Narayan...
PDF
APEX – jak vytvořit jednoduše aplikaci
PPTX
Gartner pace and bi-modal models
PDF
Oracle Mobile Solution Overview
Delivering Mobile Apps to the Field with Oracle
Delivering Mobile Apps to the Field with Oracle JET
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Oracle ADF Architecture TV - Design - ADF Service Architectures
Extending Enterprise Applications to mobile interfaces-Final
AMIS Oracle OpenWorld & CodeOne Review - Pillar 2 - SaaS and Standard Applica...
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: SaaS
MySQL day Dublin - OCI & Application Development
Why citizen developers should be your new best friend - Oracle APEX
AJAX for Mobile Devices - 04/2009
OOW15 - Oracle E-Business Suite Technology: Latest Features and Roadmap
Ruben rodriguez best practices implementing oracle mobile cloud service
Mobile-Enabling Enterprise APIs: A Case Study with MasterCard
Database@Home : Data Driven Apps : Core-dev or Low Code UI
B3 getting started_with_cloud_native_development
IBM ConnectED SPOT104: Lightning-Fast Development of Native Mobile Apps for I...
apidays LIVE Paris - Break up Monoliths and lay them to REST! by Arun Narayan...
APEX – jak vytvořit jednoduše aplikaci
Gartner pace and bi-modal models
Oracle Mobile Solution Overview
Ad

More from Simon Haslam (20)

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

Recently uploaded (20)

PPTX
1. Introduction to Computer Programming.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
A Presentation on Artificial Intelligence
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Spectroscopy.pptx food analysis technology
PDF
Machine learning based COVID-19 study performance prediction
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Encapsulation theory and applications.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Empathic Computing: Creating Shared Understanding
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
1. Introduction to Computer Programming.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
A Presentation on Artificial Intelligence
Digital-Transformation-Roadmap-for-Companies.pptx
Spectroscopy.pptx food analysis technology
Machine learning based COVID-19 study performance prediction
Network Security Unit 5.pdf for BCA BBA.
Mobile App Security Testing_ A Comprehensive Guide.pdf
Encapsulation theory and applications.pdf
Encapsulation_ Review paper, used for researhc scholars
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Empathic Computing: Creating Shared Understanding
A comparative analysis of optical character recognition models for extracting...
Reach Out and Touch Someone: Haptics and Empathic Computing
Spectral efficient network and resource selection model in 5G networks
Advanced methodologies resolving dimensionality complications for autism neur...
Diabetes mellitus diagnosis method based random forest with bat algorithm
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?

Delivering Mobile Apps to the field using Oracle

  • 1. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. DELIVERING MOBILE APPS TO THE FIELD USING ORACLE Simon Haslam Luigi Banzato 6th September 2018 1 Development, Middleware & Integration Combined SIG
  • 2. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. Simon Haslam Technical Director and Partner Oracle technology since 1994 UKOUG volunteer & speaker since 2001 Oracle ACE Director (Middleware & SOA) 2 ABOUT US Luigi Banzato Senior R&D Architect Working with Oracle SOA since 2008 Mostly SOA/OSB on cloud, e.g. integrating Oracle HCM, Salesforce, etc with on-prem 22 Oracle Specializations… and counting.
  • 3. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. AGENDA • Real-world ‘field’ environments • Oracle technologies for mobile apps • Typical integration challenges • Retail case study • Learning points & summary 3
  • 4. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. BUT FIRSTLY: HOW RETAIL “APPS” HAVE EVOLVED 5 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 App to support the car sales process 2018 Customer starts car selection and customisation before visiting dealer Example
  • 5. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. HOW RETAIL “APPS” HAVE EVOLVED: TECHNOLOGY 6 • Apple Newton MessagePad • NewtonScript (proprietary OO language) • Updates via direct connection to Mac/PC, modem if you were lucky! IT to assist salesperson in a car showroom 1997 App to support the car sales process 2018 • Phone/tablets (wide compatibility) • Lots of developer choice • Mostly to cloud • Device services: • Location • Camera • Highly connected: • Social media, e.g. auth • Stock & pricing • 3rd party services • Experience is heavily tailored to customer Example
  • 6. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. WHY 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) – 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 7 Photo from https://www.pexels.com
  • 7. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. AGENDA • Real-world ‘field’ environments • Oracle technologies for mobile apps • Typical integration challenges • Retail case study • Learning points & summary 8
  • 8. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. 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!
  • 9. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. 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 MAFPersist. Toolkit DevCSAPI Platform
  • 10. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. MINIMUM “IN THE FIELD” REQUIREMENTS • App dev tools (unless you already have COTS apps) • Data services • Identity services • Mobile Device Management (if not BYOD) 11
  • 11. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. ASIDE: NATIVE VS HYBRID APPS • Native – Compiled for the OS • E.g. Objective-C or Swift for iOS Java or Kotlin for Android – Best performance and access to device features – So not cross-platform… • unless you look at abstraction tool, e.g. Xamarin or React Native, which then may not perform so well • Hybrid – Web view… like a mini webserver displaying your HTML5/CSS app – Cross-platform – Uses mapping layer such as Cordova to access OS APIs 12
  • 12. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. ORACLE TOOLS FOR MOBILE APP DEV • Mobile Application Framework (MAF) – Java-based framework, similar to ADF – JDeveloper IDE – Some nice integration with ADF BC, “describe” API to set up client data model – Mature offline framework (originated as AMPA from A-Team) – Apache Cordova is used to access device features via JavaScript – Deployment to iOS, Android, UWP 13 • 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 (open source) – 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 Note: VBCS can produce hybrid mobile… (worth investigating)
  • 13. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. AGENDA • Real-world ‘field’ environments • Oracle technologies for mobile apps • Typical integration challenges • Retail case study • Learning points & summary 15
  • 14. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. TYPICAL INTEGRATION CHALLENGES FOR MOBILE APPS • Mobile-friendly APIs – Shape existing services to be lighter & mobile-friendly (SOAP  ReST, XML  JSON) – Be mindful of the (possibly bad) performance of existing services • Security – How will users be authenticated and authorised? – How will authentication with backend services work? • Infrastructure/Connectivity – How will the app access the APIs (LAN, VPN, Internet)? 16
  • 15. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. TYPICAL INTEGRATION CHALLENGES FOR MOBILE APPS • Architectural Recommendation: Create a centralised layer to mediate communication between the mobile app and the backend services – Enables a single point of contact and facilitates both security and connectivity – This layer can then work out security for each internal service, decoupled from the mobile app 17 Integrationlayer ADF BC SOA Suite Other Legacy Services This layer could be: Mobile Cloud Service (MCS), Oracle Service Bus, Oracle Integration Cloud (formerly ICS) …or a combination
  • 16. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. OSB & REST 18 • Exposing REST services in OSB can be done by: 1. Using a WSDL Pipeline + Native Format Translation (JSON <> XML) • This was the only option up to version 12.1.* • More structured, but demands more time to setup/maintain • Good for exposing existing SOAP services as ReST 2. Using REST Pipelines (a.k.a. End to End REST) • From version 12.2 of OSB it is possible to create REST pipelines • A good option when SOAP is not required at all
  • 17. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. OSB & REST 19 • WSDL Pipelines – Backend SOAP services can be exposed as REST using OSB’s “Expose as REST” feature – OSB’s Native Format Translation can easily convert XML <> JSON
  • 18. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. OSB & REST 20 • OSB End-to-end ReST Support – Since version 12.2 OSB supports end to end REST pipelines – This makes it much quicker to proxy calls through OSB when no transformation is required!
  • 19. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. OSB & REST – TIP! 21 • OSB & the PATCH HTTP verb – When creating a REST Business Service the REST definition Wizard the PATCH operation is not listed as an HTTP Verb – However, if after creating the operation in the wizard the method name in the WADL is changed to PATCH, it will use that when invoking the end service!
  • 20. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. CASE STUDY: MOBILE APPLICATION ARCHITECTURE 22 Service Bus 12c SOA 11g / 12c ADF BC 12c REST REST SOAP WAN
  • 21. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. AGENDA • Real-world ‘field’ environments • Oracle technologies for mobile apps • Typical integration challenges • Retail case study • Learning points & summary 23
  • 22. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. HERE’S A REAL-WORLD MOBILE PROJECT! • Retail environment • Employee usage “in the field” • A relatively simple problem space (order tracking) • Oracle-centric 24 Use case is half-way between previous examples: ➢ Dedicated devices ➢ Used by employees only ➢ Online/offline data ➢ Customer personal data ➢ Wide portfolio of apps Obligatory GDPR logo
  • 23. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. DEMO 27
  • 24. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. 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 28 ➢Importance of Business Sponsor & Product Owner ➢Mobile app usage means lots of opinions! ➢Management of expectations
  • 25. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. 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 parts29
  • 26. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. AGENDA • Real-world ‘field’ environments • Oracle technologies for mobile apps • Typical integration challenges • Retail case study • Learning points & summary 31
  • 27. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. LESSONS LEARNED (GENERAL) • Do mock-ups early and carefully – If you have a vision for the whole app do them before dev user stories begin – We can debate fidelity ☺ – Consider the effect of on-screen keyboard – The usual difference in perspective for end-user from designer/developer • Provide real devices to developers early in project – Standardise emulator build – Emulators only help testing to a degree • Load test early & often (ideally part of CI?) – Volume of data & number of REST calls – Use emulator to see effect of network latency/bandwidth 32
  • 28. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. OUTCOMES • Sprints/SIT/UAT • Pilot was longer than expected: – WAN issues – some unrecognised business processes • After pilot of 1,2,3 stores the rollout was fast (20+ per week) • No further changes/fixes needed since end of pilot • eProseed has just delivered an enhanced version of this app with broader scope – in pilot now 33
  • 29. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. SUMMARY • Plenty of scenarios where employees need to access IT through mobile devices • Oracle has mobile app development tools from traditional declarative/Java to modern code-based JavaScript • Hybrid mobile apps offer good compromise between development flexibility and cost • 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 34
  • 30. Copyright © 2018, eProseed and/or its affiliates. All rights reserved. THANKS FOR LISTENING! Any questions? 35