More Related Content Similar to Delivering Mobile Apps to the field using Oracle (20) More from Simon Haslam (20) Delivering Mobile Apps to the field using Oracle1. 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
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