Take Your Oracle Forms on the Road Using ADF Mobile Mia Urman, AuraPlayer @miaurman miaurman@auraplayer.com Who Am I Mia Urman CEO, 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 Evolving With Oracle Forms Client Server Evolving With Oracle Forms Mobile Client Server GLOBAL MOBILE 3G SUBSCRIBERS 6 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. What Device is Accessing Your Application? 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 3 Mobile Application Types Mobile Web Apps Native Mobile Apps Hybrid Mobile Apps Online application accessed through mobile device browser Application installed & runs on device Application installed & runs on device with HTML5 UI Browser governs access to local storage and device services (camera, GPS, etc.) Highly reusable code Highly portable Optimized for specific mobile platform and form factor Optimized for specific mobile platform & form factor Direct access to local storage and device services Direct access to local storage and device services Code reuse can be complex Code reuse simplified Portability requires work Portability simplified Mobile Web App Native App (Viewed in Safari) (iOS) Oracle ADF – Multi Channel Framework Database Legacy Systems Oracle ADF Web Web Services Oracle Applications Cloud Office Mobile Oracle ADF Mobile Unique Hybrid Mobile Framework Oracle ADF Mobile Java HTML5 Built On Standards Use Existing Skills Set ADF Mobile Overview • • • • Thin Native container on each platform HTML5/JavaScript Frontend Java Backend Encrypted SQLite Integrated Development Environment 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 Business Services • Code logic with Java • Lightweight JVM • Local Business Logic – Java Classes – SQLite DB - Portable, lightweight relational database • Easy access to Remote - Web service – SOAP – REST XML, REST JSON ADF Mobile XML Components (AMX) • XML format of JSF-like file built visually in JDeveloper • 50+ Components • Declarative data binding • Rendered into HTML5 on device at RT Basic Components ListView Charts Gauge T-Maps Carousel GeoMap Forms DVT Charts, Gauges, Maps Device Rich Features Do you still carry around one of these? Device Interaction / Gestures • Leverages Apache Cordova • Drag and drop to use – – – – – Email SMS Contacts GPS Camera • Configure components to react to the following gestures: – Swipe to the right, left, up, down – Tap-and-hold • • • 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 Data Caching Getting Started Oracle Forms Using ADF Mobile Development Today Web Desktop Database Web Services Mobile Legacy Systems Office Applications Unlimited Forms Services Architecture Client tier Middle tier: WebLogic Managed Server Database tier Forms Listener Servlet Forms Servlet Dynamically downloaded Forms Runtime User interface layer Application logic layer JRE Forms Client Data manager/ PL/SQL engine File containing application code Net Services DB Exposing Oracle Forms to ADF Web Desktop Web Services Mobile Office DO NOT run Forms on the mobile Run your BUSINESS on the mobile See Demo Exposing Forms to Mobile: The Process Understand Business Process Record & Deploy Scenario Generate WS with wizard Create ADF Mobile App Run Your Mobile App! Demo Understanding the Business Process • Choose the Oracle Forms business process to record • Select input / Output data to capture from Forms • Identify expected results – popups, messages, errors Record & Deploy Oracle Forms as WS • Record the Forms business process using the AuraPlayer Toolbar • Automatically Generate Webservices using the AuraPlayer Service Manager Webservice generation Demo Recording Demo Define TaskFlow with Validations 1. Define the navigation flow between the pages 2. Add validations (managed bean) that should occur upon success or failure of events Create ADF Mobile UI - Jdeveloper 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 Demo Time Demos AuraPlayer – Solution Architecture Native ADF Mobile app DMZ External Network Service Manager Oracle 11g DB FW Mobile Devices Oracle Forms 11g Server Secure Weblogic Server Runs Webservice Desktop AuraPlayer - Same Forms Business Logic Multiple UIs ADF Mobile What You Need • Development – Oracle JDeveloper 11.1.2.3 – Oracle ADF Mobile Extension (help->check for updates) – AuraPlayer 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 – AuraPlayer Server to run the Oracle Forms system as a webservice More Information • • Mia Urman - miaurman@auraplayer.com 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 info@auraplayer.com My ADF Mobile Blog www.ADFMobileInfo.com • • • • Tips and Tricks Common Bugs How to documents Presentations Join the ADF Mobile Community Oracle.com/mobile Twitter twitter.com/JDeveloper Facebook facebook.com/JDeveloper Oracle’s WebLogic blog blogs.oracle.com/mobile