Download presentation
Presentation is loading. Please wait.
Published byPreston Carroll Modified over 9 years ago
1
Mobile Application Framework (MAF) Introduction
2
Agenda Mobile is Eating the World Enterprise Mobility
Mobile Application Types Oracle’s Mobile Strategy Mobile Application Framework (MAF) SPEAKER NOTES Let me begin my presentation by discussing the information management challenges facing organizations today.
3
Mobile is Eating the World
BY THE END OF 2013 THERE WILL BE MORE MOBILE DEVICES ON EARTH THAN PEOPLE Source: APPVERTISING, 2013, STEPHEN MOLLOY (LOMAH Studios and The Inspiration Room founder) 3
4
MOBILE DEVICES NOW OUTNUMBER HUMANS
Mobile is Eating the World MOBILE DEVICES NOW OUTNUMBER HUMANS (OCT 2014) 4
5
Statistics show that sales of mobile device outperform PC sales …
Mobile is Eating the World Statistics show that sales of mobile device outperform PC sales … 5
6
… and that sales of smart-phones and tablets are growing constantly
Mobile is Eating the World … and that sales of smart-phones and tablets are growing constantly 6
7
Mobile is Eating the World
The Consumer Market for Mobile Quick uptake of new trends and technologies – Mobile everywhere anytime – Home is where my phone is Mobile as the "external brain" and memory – Information, Notes, Reminders, Addresses, Pictures Omnipotent order-entry device for private business – Shopping, theatre and restaurant reservations, travel booking etc. Trend setter for enterprise applications – Demanding as for what applications should do and look like 7
8
Agenda Mobile is Eating the World Enterprise Mobility
Mobile Application Types Oracle’s Mobile Strategy Mobile Application Framework (MAF) SPEAKER NOTES Let me begin my presentation by discussing the information management challenges facing organizations today.
9
Enterprise Mobility TWO THIRDS OF THE WORKFORCE WILL OWN A SMARTPHONE BY 2016, AND 40% OF THE WORKFORCE WILL BE MOBILE SOURCE: GARTNER 2013 (Technology Research)
10
GSMA Mobile World Congress 2014
Enterprise Mobility GSMA Mobile World Congress 2014 More than 85,000 attendees More than 46,000 C-Level leaders More than 4,500 CEOs in attendance More than 1,800 exhibitors 3,900+ press members representing 84 countries
11
Enterprise Mobility
12
Challenges – Administration and Maintenance
Enterprise Mobility Challenges – Administration and Maintenance Rate of Change Diversity of mobile devices to support Deployment Application-, Device-, and Data Security How-to measure mobile application success Determine if budget is well spent Mobile users don't know of office hours and weekends The new meaning of "24x7 availability" Varying user load
13
Challenges – Development
Enterprise Mobility Challenges – Development How-to reuse existing business services Mobile offline operation Synchronizing data between the mobile device and the server Ensuring data consistency User preferences and profile How to maintain a single user profile across devices and applications Definition of "application" Logical application vs. physical applications Architecture choices Real-time context awareness Location based queries
14
Challenges – Performance
Enterprise Mobility Challenges – Performance Load from large number of mobile devices may require New balancing/caching techniques Batch queries and updates Business data needs Tailoring Filtering Web applications usually remain active Mobile is not a replacement of the web Mobile is an access channel A single user may produce load on two system
15
Challenges – Usability
Enterprise Mobility Challenges – Usability Look & feel Navigation paths Hub & Spoke vs. Navigation Trees Flat navigation models Virtual keyboard vs. physical keyboards Visualization on small displays Data entry = Submit = Commit ? Integration of media: social, images, videos, audio
16
Enterprise Mobility is an Imperative, not a Choice.
17
Agenda Mobile is Eating the World Enterprise Mobility
Mobile Application Types Oracle’s Mobile Strategy Mobile Application Framework (MAF) SPEAKER NOTES Let me begin my presentation by discussing the information management challenges facing organizations today.
18
Mobile Application Types
Traditional Web Sites
19
Mobile Application Types
Mobile Browser – Pages as they are Usable?
20
Mobile Application Types
Mobile Browser - Mobile Web Characteristics aka. Adaptive & Responsive Design Adaptive: Sites designed for mobile only Responsive: Sites rearrange themselves to utilize (limited) screen real estate Online access via mobile device browser Browser provides access to device features (eg. camera, GPS, etc.)
21
Mobile Application Types
Mobile Browser - Mobile Web Disadvantages Is not native May not feel or operate like a native application Duplicate code Cannot call native optimized APIs (directly) Cannot disconnect or go offline
22
Mobile Application Types
Native Applications Characteristics Application installed & runs on device Uses native code and APIs Optimized for mobile platform and form factor Direct access to local storage and device services Offline support
23
Mobile Application Types
Native Applications Disadvantages Solution only deploys to one platform, it cannot be run across iOS & Android Code reuse can be complex Portability requires work You’ll need both iOS (Objective-C) & Android developers (Java)
24
Mobile Application Types
Hybrid Applications Characteristics Application installed on device HTML5, CSS3, JS Runs within a native web container Inherently cross platform Utilize existing skillsets Direct access to local storage and device services Code reuse and portability simplified
25
Mobile Application Types
Hybrid Applications – Business Reasoning 41% CIOS CITED MOBILITY IS EXPENSIVE AND A CRITICAL CHALLENGE! “It takes us months, no, years to release updates” “Our IT budgets are shrinking, not growing” “We can’t hire new iOS & Android developers” “We need cross platform support to reduce costs” “We want offline support with maximum security” “We don’t want to change our existing architectures” SOURCE: MCKINSEY, 2012: MOBILITY DISRUPTION: A CIO PERSPECTIVE
26
Mobile Application Types
Hybrid Applications – The way to go for Enterprise ENTEPRISE MOBILE APP DEVELOPMENT WILL BE 10% NATIVE, 60% HYBRID, 30% MOBILE WEB" SOURCE: GARTNER, 2013
27
Agenda Mobile is Eating the World Enterprise Mobility
Mobile Application Types Oracle’s Mobile Strategy Mobile Application Framework (MAF) SPEAKER NOTES Let me begin my presentation by discussing the information management challenges facing organizations today.
28
Oracle’s Mobile Strategy
29
Oracle’s Mobile Strategy
30
Oracle’s Mobile Strategy
31
Oracle’s Mobile Strategy
32
Agenda Mobile is Eating the World Enterprise Mobility
Mobile Application Types Oracle’s Mobile Strategy Mobile Application Framework (MAF) SPEAKER NOTES Let me begin my presentation by discussing the information management challenges facing organizations today.
33
Mobile Application Framework (MAF)
Mobile Application Framework (MAF) Overview Formerly named ADF Mobile Build Once, Run on Multiple-Platforms Phones, Tablets, iOS, Android, … HTML5/JavaScript user interface Java for business logic! Disconnected: SQLite with encryption Full access to native device features Modular, reusable application components JDeveloper and Eclipse
34
Mobile Application Framework (MAF)
Mobile Application Framework (MAF) Overview Device Native Mobile User Experience Spring board and tab bar for feature navigation Advanced HTML5-based UI - Full animation, gesture, and touch interaction support Interactive Data Visualization Components Device Interaction using Cordova
35
Mobile Application Framework (MAF)
MAF Architecture
36
Mobile Application Framework (MAF)
Development Environment IDE JDeveloper with the MAF extension Eclipse with the Oracle Enterprise Pack for Eclipse (OEPE) with Oracle Mobile Application Framework (MAF) Mobile development SDKs Used to compile device native binaries Devices or simulators to test Direct deploy Mobile developer program membership needed to deploy to an actual device
37
Mobile Application Framework (MAF)
MAF Application Structure “The content of a MAF application is comprised of one or more embedded applications known as application features, which are represented as icons within the application's springboard or navigation bar” Springboard Is the landing screen where all of the apps/features are displayed (desktop of the phone/application) Features are essentially the building blocks of a mobile application perform a specific set of tasks like managing customer contacts or listing the product inventory are independent of one another, each application feature has its own class loader and web view
38
Mobile Application Framework (MAF)
Creating a MAF Application Choose File, then New, and then Application, and choose the Mobile Application Framework Application template This generates an application with 2 projects ApplicationController Project – houses application implementation files like definitions of skins or application lifecycle listener (ALCL) ViewController Project - houses resources and implementation for the application features Application Resources – application level configuration files for defining application name, content, springboard, database connections, web-service policies, JVM startup settings, etc.
39
Mobile Application Framework (MAF)
Creating Features ViewController -> adfmf-feature.xml – the configuration file for declaring features
40
Mobile Application Framework (MAF)
Referencing Features Application Resources -> maf-application.xml – is the application configuration file Feature References – used for adding features used in the application Select one of the defined feature Configure if it will be shown in the default navigation bar Configure if it will be shown in the default springboard
41
Mobile Application Framework (MAF)
Configuring the Springboard Application Resources -> maf-application.xml – is the application configuration file Application – application configuration Application Name Lifecycle Event Listener Class Navigation Bar configuration Springboard configuration (none, default, custom)
42
Mobile Application Framework (MAF)
UI - Web View Web View - Uses a mobile device's web engine to display and process web-based content. In a MAF application, the web view delivers the user interface by rendering the application mark-up as HTML 5.
43
Mobile Application Framework (MAF)
UI - Web View – Feature Content Types MAF AMX JSF-like file / page flow, built visually in JDeveloper Generated into HTML/JS on device at RT Based on HTML5 Local HTML Hand-coded HTML5 pages Remote URL
44
Mobile Application Framework (MAF)
Building AMX Pages JSF-Like implementation using components JDeveloper: Components wizard - Drag and drop functionality Property Inspector Preview panel
45
Mobile Application Framework (MAF)
Accessing Device Features Cordova - The Apache Cordova JavaScript APIs integrate the device's native features and services into a mobile application. You can access these APIs programmatically from Java/Javascript code or you can add device integration declaratively when you create MAF AMX pages because MAF packages these APIs as data controls.
46
Mobile Application Framework (MAF)
Accessing Device Features Evaluating device properties / information – using the Expression Builder wizard
47
Mobile Application Framework (MAF)
Accessing Device Features Using Device Features Data Control – drag and drop
48
Mobile Application Framework (MAF)
Accessing Device Features – Configuring Access Application Resources -> maf-application.xml – is the application configuration file
49
Mobile Application Framework (MAF)
Business Logic and Data Business Logic and Data – MAF comes with a set of features suited for implementing business logic, data definition and data access, by the means of a JVM, APIs for DB and Web Service access and an own Encrypted SQLite DB
50
Mobile Application Framework (MAF)
Business Logic and Data Java Virtual Machine - Java provides a Java runtime environment for a MAF application. This JVM is implemented in device-native code, and is embedded (or compiled) into each instance of the MAF application as part of the native application binary. Business Logic - Java enables the business logic in MAF applications trough Managed Beans (similar to JSF Managed Beans) Model - Contains the binding layer that connects the business logic components with the user interface. In addition, the binding layer provides the execution logic to invoke REST or SOAP-based web services. JDBC - The JDBC API enables the model layer to access the data in the encrypted SQLite database through CRUD (Create, Read, Update and Delete) operations. Encrypted SQLite Database - the MAF application generates this lightweight, cross-platform relational database. Because this database is encrypted, it secures data if the device is lost or stolen. Only users who enter the correct user name and password can access the data in the local database
51
Mobile Application Framework (MAF)
Push Notifications Push Handler - Enables the MAF application to receive events from the iOS or Android notification servers. The Java layer handles the notification processing.
52
Mobile Application Framework (MAF)
Push Notifications – How do they work?
53
Mobile Application Framework (MAF)
Push Notifications – Implementation Registering the ApplicationLifeCycleListener … Where? Remember? … Application Resources -> maf-application.xml – is the application configuration file … so that on start of the application to register a new PushNotificationListener How? – Implement Java code in the start() method of the LifeCycleListener
54
Mobile Application Framework (MAF)
Push Notifications – Implementation … with the PushNotificationListener being a concrete EventListener … which onOpen() receives the token and stores it as the deviceToken How? – Implement Java code in the onOpen() method of the PushNotificationListener
55
Mobile Application Framework (MAF)
Push Notifications – Implementation … and onMessage() does the propper job How? – Implement Java code in the onMessage() method of the PushNotificationListener
56
Question and Answers
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.