Upload
chris-muir
View
177
Download
1
Tags:
Embed Size (px)
DESCRIPTION
Slides from Oracle's ADF Architecture TV series covering the Design phase of ADF projects, a broad overview of integrating ADF Mobile into your ADF landscape. Like to know more? Check out: - Subscribe to the YouTube channel - http://bit.ly/adftvsub - Design Playlist - http://www.youtube.com/playlist?list=PLJz3HAsCPVaSemIjFk4lfokNynzp5Euet - Read the episode index on the ADF Architecture Square - http://bit.ly/adfarchsquare
Citation preview
1 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
Credential M
anagement,
SSO &
Access C
ontrol
Application
Configuration
Server
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 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.
Architecture “Within” ADF Mobile Apps
Image: fotographic1980/ FreeDigitalPhotos.net
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.