Mia Urman, AuraPlayer
@miaurman
Take Your Oracle Forms on the Road
Using ADF Mobile
Mia UrmanCEO, AuraPlayer
Oracle ACE and Oracle Forms Evangelist
• 15 years supporting, training and consulting Oracle Tools
• 7 years at Oracle as a senior support analyst and local product manager of Forms and ADF.
• Founder of AuraPlayer - Oracle Forms modernization solutions to unlock Forms systems and fast-track to a Mobile / SOA architecture / Cloud
• ODTUG board member , international speaker at Kscope, OOW, UKOUG
Session Agenda• Why Go Mobile?
• Oracle ADF Mobile Overview
• Components of ADF Mobile
– The Data Layer
– The UI Presentation Layer - AMX Components
– Integrating Device Features
• Running Oracle Forms on the Mobile
• Getting Started
GLOBAL MOBILE
3G SUBSCRIBERS
5 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
What Device is Accessing Your
Application?
Client Server
Evolving With Oracle Forms
Client Server
Mobile
Evolving With Oracle Forms
Understanding Mobile Requirements
• Application Functionality - No mouse, Touch gestures
• Device Type – Phone / Tablet
• Screen size
• Network type – Security , Speed
• Device features integration
• Types of Users – Occasional, Internal/external
• Type of Applications – Browser Based / Hybrid
Mobile Web App(Viewed in Safari)
3 Mobile Application Types
Mobile WebApps
Online application accessed through mobile device browser
Browser governs access to local storage and device services (camera, GPS, etc.)
Highly reusable code
Highly portable
Native MobileApps
Application installed & runs on device
Optimized for specific mobile platform and form factor
Direct access to local storage and device services
Code reuse can be complex
Portability requires work
Hybrid MobileApps
Application installed & runs on device with HTML5 UI
Optimized for specific mobile platform & form factor
Direct access to local storage and device services
Code reuse simplified
Portability simplified
Native App(iOS)
Oracle ADF – Multi Channel Framework
OracleADF
Database
Web Services
CloudWeb
MobileOffice
Legacy Systems
Oracle
Applications
Java HTML5
Use Existing Skills Set
Built On Standards
Use Existing Skills Set
Built On Standards
Oracle
ADF Mobile
Oracle ADF MobileUnique Hybrid Mobile Framework
ADF Mobile Overview
• Thin Native container on each platform
– Allows for device interaction
– Push notification support
• HTML5/JavaScript Frontend
• Java Backend
• Encrypted SQLite
Focused on Productivity
•Oracle JDeveloper Extension
•Declarative and visual development
•Integration with Apple Xcode and Android SDK
Component based UI construction
Task Flows
Data Controls
Packaging
Deployment
Debugging
Integrated Development
Environment
Business Services Development
• Code logic with Java
• Lightweight JVM
• Easy access to Remote - Web service
– SOAP
– REST XML, REST JSON
• Local Business Logic
– Java Classes
– SQLite DB - Portable, lightweight relational database
UI Content options• Device native user experience
• Local AMX File
– JSF-like file built visually in JDeveloper
– Generated into HTML/JS
on device at RT
• Remote URL
– Any server-side HTML
• Local HTML File
– Coded with any third-party HTML5
frameworks
ADF Mobile XML Components (AMX)
• XML format built visually in
JDeveloper
• 50+ Components
• Declarative data binding
• Rendered into HTML5
on device at RT
CarouselT-Maps
ListView
Gauge
Charts
GeoMap
Basic Components Forms
DVT Charts, Gauges, Maps
Device Rich Features
Do you still carry around
one of these?
Device Features Interaction
• Leverages Apache Cordova
• Drag and drop to use
– SMS
– Contacts
– GPS
– Camera
• Or access programmatically
Gesture Navigation Support
• Configure components to react to the following gestures:
– Swipe to the right, left, up, down
– Tap-and-hold
• Set the “Type” attribute when using the following
operations:– Set Property Listener (e.g. setting Scope Variables)
– Action Listener (e.g. invoking Backing Beans)
– Show Popup Behavior & Close Popup Behavior
– Navigating between Panel Items
Data Caching Challenges• Mobile devices can lose/turn off connectivity
• Offline access to data is a common requirement
• But it will increase the complexity of your application
• If you cache data locally you must consider
– When to cache the data
– How much data to cache
– When to synchronize updates
– Recording the order of updates
– How to deal with synchronization conflicts
– Security of the data if the device is lost
Security
Getting Started
Oracle Forms Using ADF Mobile
Exposing Oracle Forms to ADF Web Desktop Mobile Office
Database Web Services Legacy Systems Applications Unlimited
Exposing Oracle Forms to ADF Web Desktop Mobile Office
Web Services
• AuraPlayer wraps pre-recorded Forms scenarios as Webservices
• Runs native business logic on the existing Forms server from ADF Mobile/ ADF /
APEX / Java
• When the system evolves, the service can be easily replaced, with newer
redeveloped service/technology.
• No Java applet – Runs Form without UI
Creates native ADF datacontrols that runs
Oracle Forms silently in the background
• Allows you to develop, test
and maintain one core system.
ADF Integration Features
Exposing Forms to Mobile: The Process
Understand Business Process
Record & Deploy Scenario
Generate WS with wizard
Create ADF Mobile App
Run Your Mobile App!
• Choose the Oracle Forms business process to record
• Select input / Output data to capture from Forms
• Identify expected results – popups, messages, errors
Understanding the Business Process
• Record the Forms business process using the AuraPlayer Toolbar
• Automatically Generate Webservices using the AuraPlayer Service
Manager
Recording Demo
Webservice generation Demo
Deploy Oracle Forms as WS
Create ADF DataControls for AuraPlayer Webservice URL-URL is simply copied from the AuraPlayer service manager
Create AMX pages and design new mobile UI
DEMO
Create ADF Mobile UI - Jdeveloper
Define TaskFlow with Validations1. Define the navigation flow between the pages
2. Add validations (managed bean) that should occur upon
success or failure of events
Demo Time
Oracle
11g DB
Desktop
Mobile Devices
DMZ
External Network
Oracle
Forms
11g
Server
Secure Weblogic Server
Runs Webservice
FW
Service Manager
AuraPlayer – Solution Architecture
Native
ADF Mobile app
AuraPlayer - Same Forms Business Logic Multiple UIs
What You Need
• Development
– Oracle JDeveloper 11.1.2.3
– Oracle ADF Mobile Extension (help->check for updates)
– OraPlayer Recording Toolbar
• Deployment / testing / run-time
– iOS on Mac machine
• iOS SDK+Xcode 4.4.x - require iOS Developer Program Membership
– Free version (Xcode 4.5) is known to work but not certified
– Android
• Android SDK (API Level 9 Min, 16 recommended) + Android device
– OraPlayer Server to run Oracle Forms system
More Information
• Mia Urman - [email protected]
• ADF Mobile on OTN
– Datasheets,Tutorial,Demos
• ADF Mobile Blog – http://blogs.oracle.com/mobile/
• Oracle Forms Community Blog – http://www.Oracleformsinfo.com
• Twitter.com/Jdeveloper, Facebook.com/Jdeveloper
• Twitter.com/miaurman, Twitter.com/auraplayer
• AuraPlayer – www.auraplayer.com or [email protected]
My ADF Mobile Blog
• Tips and Tricks
• Common Bugs
• How to documents
• Presentations
www.ADFMobileInfo.com
Join the ADF Mobile Community
Twittertwitter.com/JDeveloper
Facebookfacebook.com/JDeveloper
Oracle’s WebLogic blogblogs.oracle.com/mobile
Oracle.com/mobile