Mobile Application Framework (MAF) Introduction

Slides:



Advertisements
Similar presentations
Developing downloadable mobile apps using HTML5 and PhoneGap Apache Callback Ron Perry, CTO, Worklight Inc.
Advertisements

Mia Urman, Take Your Oracle Forms on the Road Using ADF Mobile Mia
New Release Announcements and Product Roadmap Chris DiPierro, Director of Software Development April 9-11, 2014
Mobile App Development Using: Presented by Tyler Richey Images from
1 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Got a minute to spare?
Android architecture overview
Building Mobile Apps in the Cloud – Comparing Approaches.
UNDERSTANDING JAVA APIS FOR MOBILE DEVICES v0.01.
Delivering the multiagent technology to end-users through the web D. Mitrović 1, M. Ivanović 1, C. Bădică 2 1 University of Novi Sad, Serbia 2 University.
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
Integrating SOA and the Application Development Framework Shaun O’Brien Principal Product Manager – Oracle JDeveloper / ADF.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Mobile Application Development
V1.00 © 2009 Research In Motion Limited Introduction to Mobile Device Web Development Trainer name Date.
Development of mobile applications using PhoneGap and HTML 5
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
Creation of hybrid portlet application for file download using IBM Worklight and IBM Rational Application Developer v9 Gaurav Bhattacharjee Lakshmi Priya.
Sharing Geographic Content
Cross Platform Mobile Backend with Mobile Services James
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Title slide to be used at the start of a module. Developing Mobile Apps Roland Guijt
Mia Urman, Bring Your Legacy Applications to the Mobile World.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
iphone / Mobile Application Development using Oracle ADF Jon Gooding – Solutions Architect.
Introduction CIS 136 Building Mobile Apps 1. What is a mobile app? 2  Computer program  Designed for small devices  Smartphones  Tablets  Other handhelds.
1 Copyright © 2004, Oracle. All rights reserved. Introduction to Oracle Forms Developer and Oracle Forms Services.
Moving from Web-based Collaboration to the Mobile Arena Nimrod Geva Product Group Manager, KWizCom
Developing Enterprise Mobile Apps with Xamarin Loren Horsager CEO, Mobile Composer.
Tutorial 121 Creating a New Web Forms Page You will find that creating Web Forms is similar to creating traditional Windows applications in Visual Basic.
Extending ArcGIS for Server
Strategies for Building Mobile Apps Using ArcGIS API for JavaScript Andy Gup, Lloyd Heberlie.
Folio3 IPhone Training Session 1 Presenter: Imam Raza.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Mobile web Sebastian Lopienski IT Technical Forum 29 June 2012.
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
Trunica Inc. 500 East Kennedy Blvd #300 Tampa, FL Cross Platform Mobile Apps With Cordova and Visual Studio 2015 © Copyright 2015.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 1.
The way of hybrid mobile development Hybrid Mobile Applications Telerik Software Academy
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
1 Copyright © 2004, Oracle. All rights reserved. Oracle Application Development Framework.
UNDERSTANDING YOUR OPTIONS FOR CLIENT-SIDE DEVELOPMENT IN OFFICE 365 Mark Rackley
François Briard GS-AIS-HR Database Developers Forum, APEX 6th May 2014 APEX Mobile Application Development 101.
Live Mobile and Cloud Hacking by ACEs OGh | Fusion Middleware Experience (FME) 16-feb :45 – 16:45.
1 Android Workshop Platform Overview. 2 What is Android?  Android is a software stack for mobile devices that includes an operating system, middleware.
 Can access all API’s made available by OS vendor.  SDK’s are platform-specific.  Each mobile OS comes with its own unique tools and GUI toolkit.
Mobile Application Development Kevin Payne & Andi Saputra JWH Group.
If you are thinking about developing mobile application for your customer, this is an important aspect to consider the platform.
By Adam Reimel. Outline Introduction Platform Architecture Future Conclusion.
丁建文 國立高雄應用科大資管系副教授 兼任計網中心軟體發展組組長 跨平台行動應用軟體開發技術 : HTML5 & Mobile JavaScript Framework 暨南大學.
1 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
INTRODUCING HYBRID APP KAU with MICT PARK IT COMPANIES Supported by KOICA
APP DESIGN AND DEVELOPMENT WITH THE IONIC FRAMEWORK Chuck Leone
Build Cross-Platform Mobile Apps Using Visual Studio A Telerik webinar by Jeffrey T. Fritz March 27, 2014 AND.
Mobilizing Your SAS® Business Analytic Reports Falko Schulz Sr. Systems Engineer SAS Australia & New Zealand.
Build Hybrid Mobile Apps with Ionic, Angular, & Cordova Brian
Introduction to Oracle Forms Developer and Oracle Forms Services
ORACLE ADF ONLINE TRAINING COURSE
TECHLEADS IT Oracle Apps ADF R12
Introduction to Oracle Forms Developer and Oracle Forms Services
Introduction to Oracle Forms Developer and Oracle Forms Services
CMPE419 Mobile Application Development
Survey Paper & Manuscript
Myth Busting: Hosted Web Apps
Lecture 1: Multi-tier Architecture Overview
Office 365 Development.
Salesforce.com Salesforce.com is the world leader in on-demand customer relationship management (CRM) services Manages sales, marketing, customer service,
CMPE419 Mobile Application Development
Presentation transcript:

Mobile Application Framework (MAF) Introduction

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.

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

MOBILE DEVICES NOW OUTNUMBER HUMANS Mobile is Eating the World MOBILE DEVICES NOW OUTNUMBER HUMANS (OCT 2014) http://www.mediabistro.com/prnewser/mobile-devices-now-outnumber-humans_b100988 http://www.independent.co.uk/life-style/gadgets-and-tech/news/there-are-officially-more-mobile-devices-than-people-in-the-world-9780518.html http://www.techtimes.com/articles/17431/20141008/mobile-devices-now-outnumber-humans-report.htm 4

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

… 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

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

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.

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)

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

Enterprise Mobility

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

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

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

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

Enterprise Mobility is an Imperative, not a Choice.

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.

Mobile Application Types Traditional Web Sites

Mobile Application Types Mobile Browser – Pages as they are Usable?

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.)

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

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

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)

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

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

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

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.

Oracle’s Mobile Strategy

Oracle’s Mobile Strategy

Oracle’s Mobile Strategy

Oracle’s Mobile Strategy

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.

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

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

Mobile Application Framework (MAF) MAF Architecture

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

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

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.

Mobile Application Framework (MAF) Creating Features ViewController -> adfmf-feature.xml – the configuration file for declaring features

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

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)

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.

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

Mobile Application Framework (MAF) Building AMX Pages JSF-Like implementation using components JDeveloper: Components wizard - Drag and drop functionality Property Inspector Preview panel

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.

Mobile Application Framework (MAF) Accessing Device Features Evaluating device properties / information – using the Expression Builder wizard

Mobile Application Framework (MAF) Accessing Device Features Using Device Features Data Control – drag and drop

Mobile Application Framework (MAF) Accessing Device Features – Configuring Access Application Resources -> maf-application.xml – is the application configuration file

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

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

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.

Mobile Application Framework (MAF) Push Notifications – How do they work?

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

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

Mobile Application Framework (MAF) Push Notifications – Implementation … and onMessage() does the propper job How? – Implement Java code in the onMessage() method of the PushNotificationListener

Question and Answers