More Related Content Similar to Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration (20) Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration1. 1 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.
2. 2 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.
Real World ADF Design & Architecture Principles
Architecting for ADF Mobile Integration
15th Feb 2013 v1.0
3. 3 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.
Learning Objectives
• At the end of this module you should be able to:
– Understand where ADF Mobile fits into the ADF ecosphere
– Describe ADF Mobile's capabilities and its platform
– Identify challenges of integrating mobile into the enterprise
– Consider if ADF BC web services SDOs are suitable for the ADF
Mobile platform and how they can be integrated
Image: imagerymajestic/ FreeDigitalPhotos.net
4. 4 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.
Program Agenda
• Introduction to ADF Mobile
• ADF Mobile Framework
• Application Design Considerations
• Mobile 2 Enterprise Integration Challenges
• Reusing ADF Business Components & SDOs
5. 5 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.
ADF Mobile Benefits
• Mobile-enables Oracle Fusion Middleware and applications
– Without complexity and expense of integrating separate "mobile
platform"
• Build-once, deploy to multiple platforms
– Common metadata-based application definition
– Device specific deployment packages generating native application files
• Tight device services integration
– Call to on device services such as GPS, camera, contacts and more
– Leverages open-sourced PhoneGap in the native application container
6. 6 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.
ADF Mobile Benefits
• Native device user experience
– Delivered through HTML5 UI components
– Full support for animations, gestures, and touch interaction
– Interactive data visualization components
• Enterprise-grade Mobile application security
– SSO and OAM/OID integration
– End-to-end encryption, for local database, communication
channels, and cached credentials
– Access control for application features
7. 7 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.
ADF Mobile Benefits
• Leverage existing skills
– In Java and Web technologies
– Same development paradigm as ADF for server/Java EE
applications
– Lowers TCO and learning curve
8. 8 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.
Oracle’s Mobile Approach
§ Deliver one common platform
for both desktop-based and
mobile enterprise apps
§ Reuse your development skills
and tools – Java and Web-
based Development Skills
§ Minimize development cycle
and cost
§ Extend enterprise apps
and data to mobile clients
§ Support multiple channels
and platforms
ORACLE
MOBILE
APPS
ORACLE
APPLICATION
DEVELOPMENT
FRAMEWORK
ISV
/
CUSTOM
APPS
9. 9 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.
Description Benefits Scenario
ADF Faces
Rich Client
Components
For desktop browser
apps that are fully
functional in iPad and
Android tablet browsers
• Single codebase
• Simplest rollout, maintenance,
portability
Laptop/Desktop
Replacement
ADF Mobile
Browser
For web pages that
adapt to the mobile
browser where they are
viewed
Supports broad range of mobile
browsers (smartphones and feature
phones)
Mobile Approval and
Search
ADF Mobile
For mobile apps that
install and run on iOS
and Android devices
• Access to local storage and
device services (camera,
contacts, etc.)
• Offline Access
• Highly interactive and native look
& feel
Mobile Worker
Mobile Approval and
Search
Mobile Development with Oracle ADF
10. 10 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.
Java HTML5
Use Existing Skills Set
Built On Standards
Use
Exis:ng
Skills
Set
Built
On
Standards
Oracle
ADF Mobile
Simplify Development
Write Once, Deploy to Many
11. 11 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.
Integrated Development Environment
§ Declarative and visual
development
§ Integration with Apple Xcode and
Android SDK
§ Consistent tooling
§ Task Flows
§ Data Controls
§ Packaging
§ Deployment
§ Debugging
12. 12 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.12 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Given we’ve now ADF Mobile,
does this mean we can go
without ADF server-based
applications altogether?
Could this be the replacement
for ADF Swing?
Exercise
Image: imagerymajestic/ FreeDigitalPhotos.net
13. 13 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.
ADF Mobile Suitability
• Not designed to replace native development platforms (eg. XCode)
– Extremely unlikely that somebody will build ADF Angry Birds
– Its cross platform nature makes it a generalized development platform, not an
optimized one
• Ideal for small mobile applications
– Unlikely to replace full blown enterprise
applications
– But may provide many small apps that interface
remotely
• Mobile UI is not suitable for extensive data
entry applications
14. 14 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.
Program Agenda
• Introduction to ADF Mobile
• ADF Mobile Framework
• Application Design Considerations
• Mobile 2 Enterprise Integration Challenges
• Reusing ADF Business Components & SDOs
15. 15 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.
Framework Overview
• Thin Native container on each
platform, allows for
– Native application install
– Device interaction via PhoneGap
• HTML5/JavaScript Frontend
• Java Backend
– Embeds a light headless JVM
• Content packaged as reusable
modules
– Implemented as local or remote
content
16. 16 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.
UI Content options
• Local AMX File
– JSF-like file built visually in JDeveloper
– Converted at RT HTML/JS on device
• Remote URL
– ADF Trinidad for Smartphones
– ADF Faces on Tablets
– Any third-party site
• Local HTML File
– Supports third-party HTML5 frameworks
17. 17 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.
Access and Security
• Authentication:
– Out of the box integration with Oracle IDM
– Offline authentication
– Single login across Features
• Access Control:
– Role based access
• Encryption:
– Credential store
– Local data
– Communication channels
18. 18 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.
Device
Services
How It Works?
Phone Gap
Device Native Container
Web
View
Server
HTML
ADF Mobile
XML View
Java
Managed Beans
ADF Model
Third Party
Web Sites
ADF Faces RC
ADF Mobile
Browser
Mobile
Device
Web Services
(SOAP & REST)
Local
HTML
HTML5 & JavaScript
Configuration
Server
ADF Controller
Local
Data
CredentialManagement,
SSO&AccessControl
Application
Configuration
Server
19. 19 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.
Program Agenda
• Introduction to ADF Mobile
• ADF Mobile Framework
• Application Design Considerations
• Mobile 2 Enterprise Integration Challenges
• Reusing ADF Business Components & SDOs
20. 20 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.
Architecture “Within” ADF Mobile Apps
Image: fotographic1980/ FreeDigitalPhotos.net
21. 21 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.21 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
ADF Mobile is a relatively new
technology. Best practices and
architectures are still up for
discussion at this stage.
Image: Ambro / FreeDigitalPhotos.net
22. 22 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.
Program Agenda
• Introduction to ADF Mobile
• ADF Mobile Framework
• Application Design Considerations
• Mobile 2 Enterprise Integration Challenges
• Reusing ADF Business Components & SDOs
23. 23 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.
Mobile 2 Enterprise Integration
• Mobile 2 Enterprise
– Beyond the architecture within a
mobile application
– How does the mobile application
consume & communicate to remote
enterprise services?
– How does mobile fit into the larger
enterprise architecture?
Image: Pong / FreeDigitalPhotos.net
24. 24 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.
Mobile 2 Enterprise Integration
• Technically mobile’s can consume numerous technical protocols
– Within an enterprise domain this will typically include:
• Remote web pages
• Web services
– ADF Mobile v1.0 is capable of using both of these
• In built browser to access remote web pages
• Good support for SOAP based web service, reasonable support for REST
25. 25 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.
Mobile 2 Enterprise Integration Challenges
• The nature of mobile devices are they are
“mobile”
– Mobile devices cannot be easily maintained by the
enterprise
– Enterprise workers may be offsite for days/weeks/
months
– Some applications are designed to go “off-line” or
survive “wifi” and connection dead-spots
• If the enterprise services need to be
upgraded and APIs change
– Presents challenge as the mobile application may
not be easily upgraded
Image: posterize/ FreeDigitalPhotos.net
26. 26 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.
Providing Stable Enterprise Services
• Unless you can guarantee
– Ability to upgrade mobile applications on service
upgrades
– Or stable APIs of the enterprise services
• You must consider your strategy to
supporting multiple versions of these
services
– Not all changes will require supporting multiple
versions of your services
– But changes to APIs and protocols will
Image: Stuart Miles/ FreeDigitalPhotos.net
27. 27 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.
Versioned Web Pages
• The stability of web pages is not as important as web services
• Web pages are typically read by a human, not the mobile application
• Exceptions
– The page requires URL parameters and the API changes
– The application is scrapping the returned HTML and the structure changes
• Your options are different deployments with different URLs
• Through different servers
• Or versioned URLs
28. 28 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.
Versioned Web Services
• Options:
– Different deployments with different URLs
• Potentially different servers
• Or versioned URLs
– A variable xsl:anyType payload structure with the disadvantage the payload can
no longer be validated at runtime via the XSD
• Not supported by the ADF web service data control
– Regardless of the technology you may need to provide stable protocol versions
too (e.g. HTTP v1.1, SOAP v1.2)
– Typical solution for web services is an Enterprise Service Buses (ESBs)
– Alternatively you may require to maintain multiple running environments
• Be wary of the license costs
29. 29 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.
Web Service Auxiliary Services – Use-By-Date
• While you can’t necessarily control
mobile application upgrades
– Helpful to push users to new versions when
they connect
– So you can eventually disable older services
– Solutions:
• Build-in a use-by-date disable function into
your mobile app
• Or provide a mechanism for the mobile
application to determine a new version is
available
Image: Salvatore Vuono/ FreeDigitalPhotos.net
30. 30 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.
Web Service Auxiliary Services – Heartbeat
• For debugging and service sanity point of view
• Useful to have a web service that reports “we’re up!”
• Exercises the complete stack of software behind the web service
Image: jscreationzs / FreeDigitalPhotos.net
31. 31 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.
Program Agenda
• Introduction to ADF Mobile
• ADF Mobile Framework
• Application Design Considerations
• Mobile 2 Enterprise Integration Challenges
• Reusing ADF Business Components & SDOs
32. 32 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.
Reusing ADF Business Component & SDOs
• Existing ADF web-server systems may have considerable investment in
ADF BC and the embedded logic
– It would be advantageous to reuse this
• While ADF Mobile & other mobile technologies can’t reuse ADF BC directly
• ADF BC can be published on servers to reuse externally as SDOs
– 11g – SOAP based, 12c+ will also support REST
33. 33 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.33 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Exercise
Image: imagerymajestic/ FreeDigitalPhotos.net
While we can reuse ADF BC,
questionably what should we
reuse and how should the
ADF BC project be structured
for reuse?
34. 34 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.34 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Exercise
Image: imagerymajestic/ FreeDigitalPhotos.net
Given what we've learned, if
we want to support both a
web application and a native
mobile application, do we
need to change our
application architecture?
35. 35 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.
Conclusion
• ADF Mobile presents an excellent opportunity to leverage existing
skills and solutions to deliver mobile solutions for the enterprise
• However even though the scale of mobile applications is small, they
present there own challenges beyond the mobile itself, enterprises
need to form and document a working mobile strategy
36. 36 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.
Further Reading
• ADF Mobile Website http://bit.ly/adfmobile
• ADF Mobile Developer's Guide http://bit.ly/adfmobguide111230
• ADF Mobile UX Guidelines http://bit.ly/adfmobileuxguidelines
37. 37 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.