ORACLE DATA SHEET
Oracle Mobile Application
Framework
Oracle Mobile Application Framework (Oracle MAF) is a hybrid-mobile
development framework that enables development teams to rapidly develop
single-source applications and deploy to the Apple iOS, Google Android, and
Microsoft Windows 10 platforms. Oracle MAF provides a complete MVC
development framework - that leverages Java, HTML5 and JavaScript - with
declarative user interface definition, device services integration and built-in
security. Integrating with development tools, Oracle MAF maximizes code
reuse and results in faster development of engaging mobile applications.
KEYBUSINESS BENEFITS
Visual and declarative development
Single source for cross OS
application
Mobile optimized user experience
Simplified access to device services
Code in Java and run on multiple
mobile OSs
Offline support using encrypted
SQLite
Built-in security for authentication,
authorization and encryption support
KEY FEATURES
Develop once, deploy to iOS, Android
and Windows 10
Accelerate mobile development
Protect from technology shifts
Use industry standards
Leverage device services and offline
capabilities
Extend existing enterprise
applications to mobile
Leverage existing skillsets in Java
and HTML5
Cross Platform Mobile Development Framework
Based on a hybrid architecture, Oracle MAF lets you build application that are portable
across devices and operating systems while still leveraging the device specific
capabilities and delivering a rich user experience. Applications developed with Oracle
MAF can be designed for phone and tablet form factors, and packaged for either Apple
iOS, Google Android or Microsoft Windows 10 – from a single code base.
Oracle MAF leverages the power of Java, HTML5, and JavaScript and provides a visual
and declarative development approach to provide a faster way to build on-device mobile
applications. Oracle MAF applications install on-device, can work in both connected and
disconnected mode, and can access device services as well a local SQLite database.
Figure 1: An Oracle MAF Application Running on iOS, Android, Windows 10
2 | ORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET
ORACLE DATA SHEET
RELATED PRODUCTS
Oracle Mobile Cloud Service
Oracle JDeveloper
Oracle Enterprise Pack for Eclipse
Visual and Declarative Development
Oracle MAF focuses on increasing developers’ productivity by offering extensive out-of-
the-box capabilities along with a visual and declarative development approach provided
through integration with both the Oracle JDeveloper and Oracle Enterprise Pack for
Eclipse development tools.
Both Oracle JDeveloper and Oracle Enterprise Pack for Eclipse integrate with the iOS,
Android, and Windows 10 SDKs to provide direct deployment and test/debug
capabilities from inside the development tool to mobile devices and emulators.
Oracle JDeveloper and Oracle Enterprise for Eclipse offer visual and declarative
development capabilities for the framework. Beyond support for smart code editing with
code insight and helpful coding features, the IDEs provide an accelerated development
experience through features such as:
Visual page and flow editors
Component palettes supporting drag and drop into the page and flow editors
Data control palette for simplified access to services, backend logic and device
features
Interactive structure panel for manipulating the structure of pages
Property inspectors for easy manipulation of attributes and features
Figure 2: Visual and Declarative Mobile Application Development
3 | ORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET
ORACLE DATA SHEET
Leverage Java Skills
Oracle MAF enables coding of business logic in your mobile application with the Java
language, in addition to supporting coding in JavaScript and HTML5. Packaged Oracle
MAF application contains a lightweight Java virtual machine (JVM) delivered as a native
library for each platform. The JVM executes the business logic, data access and
controller layer logic. The JVM passes data to the HTML5 view, which renders the user
interface.
By leveraging Java, Oracle MAF offers a smooth transition of skills to millions of Java
developers, and enables them to become mobile developers. Developers leverage their
existing skills when building mobile applications. For example, access to the SQLite
database is coded through JDBC and support for web service requests are available
through REST interfaces.
Mobile Optimized User Experience
Oracle MAF includes a library of more than 80 professionally developed components
that can be used to create rich mobile application interfaces in a declarative way.
Components include layout components, data display components, input and selection
components, and operation components. Beyond the basic components - such as
checkbox, selection lists and buttons - Oracle MAF offers rich data visualization
components including charts, maps, gauges, timelines and more. These components
generate mobile optimized HTML5 and JavaScript based user interfaces, and shield
developers from the need to code in those low-level technologies.
Underlining the user interface (UI) layer is an advanced controller layer, part of a
complete model-view-controller (MVC) architecture, that supports the visual modeling of
complete process flows that navigate between pages, functions, and decision points
and enable easy creation of complex flows. Application page and process navigations
are defined using a task flow diagram that enables developers to visually design the
flows of the application.
Oracle MAF also supports the creation of custom declarative UI components by
developers. This capability lets developer extend the set of components provided for
them as well as encouraging the reusability of UI components across multiple pages.
Oracle MAF components were designed for mobile devices which means they include
support for touch and swipe gestures and are “skinned” to look great on mobile form
factors. Where appropriate, native component integration is enabled – for example
when entering date/time. Components can be further customization through CSS – an
industry standard.
An Oracle MAF application can be developed such that it works well on either a tablet or
a phone. When the application starts the appropriate form factor will automatically load.
Tablet views are often fewer in number, but more complex. Whereas phone views are
often greater in number but generally simpler due to smaller screen size. Defining both
sets of views within the same application promotes reuse for business logic, data
access, service integration, security and other artifacts of the application.
4 | ORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET
ORACLE DATA SHEET
In addition to component based UIs, Oracle MAF can incorporate local HTML pages into
the same application. This enables developers who prefer direct coding of the UI to
incorporate their expertise along with third-party components and code-libraries to
create features in the application. These local HTML pages can then leverage the
Oracle MAF container’s services such as access to device features.
The Oracle MAF container can also include features that display HTML content that is
generated and delivered from remote servers, integrating web applications into the
mobile application.
!
Figure 3: Engaging Mobile Optimized User Interface
Declarative User Interface to Data Binding
Oracle MAF provides a declarative binding layer that simplifies the connection of
business services and data services to user interfaces. Developers can expose local
Java classes as “data controls” which can then be visually dragged and dropped into the
user interface to create forms, lists, charts and other data display formats.
The binding layer can also be leveraged to simplify binding controller layer methods to
business services. This procedure accelerates development speed and provides a loose
coupling between the user interface and the business service layer.
The same declarative binding layer is used to simplify integration of device specific
features such as the camera, GPS, SMS etc.
!
!
!
!
!
5 | ORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET
ORACLE DATA SHEET
Simplified Device Feature and Services Access
Oracle Mobile Application Framework gives developers the ability to quickly and
declaratively integrate with local device services and features, such as camera, phone,
SMS, contacts and GPS, through the declarative binding layer. Instead of writing
multiple lines of device-specific code, developers simply drag-and-drop device service
integration methods and add them to their pages.
The access to the device features is provided through the open source Apache Cordova
platform that is integrated into the Oracle MAF container. Java and JavaScript APIs
enable developers to programmatically interact with device features from Oracle MAF
pages as well as local HTML and remote content that is incorporated as part of an
Oracle MAF application.
Developers can also add integration with device features that are not supported out-of-
the-box in Oracle MAF by leveraging the Cordova plug-in architecture.
Oracle MAF can leverage push notification events, allowing application to register,
receive, and react to notifications sent to the device from both the Apple and Google
push servers, as well as local device notifications.
Secure Mobile Applications
Security is a top priority for mobile application development given that mobile devices
have higher risks of loss or theft. Oracle Mobile Application Framework comes with built
in security that can limit access to your applications and ensure encryption of sensitive
data.
Oracle MAF supports authentication and access control for refined security at the
feature level in an application. The developer simply specifies the appropriate login
server, for example, a server running Oracle Identity Management and/or Oracle
WebLogic with basic authentication, or a server supporting OAuth (open standard for
authorization) protocols. At runtime users are presented with login screens and the
appropriate tokens are accessible for further web service calls. Developers can build
single user interfaces that meet the needs of users with different privileges (e.g.
show/hide components based on role or privilege) allowing the same application to
serve multiple roles in the organization.
Oracle Mobile Application Framework enforces encryption in the following areas:
Communication Encryption: Encrypted using SSL/TLS (HTTPS)
On-device Encryption: Credentials can be kept in an encrypted key store and used for
validation when supporting offline authentication.
SQLite Database Encryption: The SQLite Encryption Extension is included with
Oracle MAF.
Oracle MAF is certified with various enterprise mobile management solutions to provide
further security features such as application tunneling, security policies and access
control, and single sign on.
6 | ORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET
ORACLE DATA SHEET
Support for Offline Mode
Oracle MAF applications can work offline as well as online. Applications are self-
contained and can run on the mobile device in both connected and disconnected mode.
For data access and storage, applications can leverage a local encrypted SQLite
database.
Furthermore, applications can be built such that initial access to data is from remote
servers through web services, the data is then stored in the encrypted SQLite database
for offline access. The data can then be replicated and synchronized to the server when
connectivity is available again.
For offline usage scenarios, Oracle MAF provides encrypted storage of user credential
enabling offline authentication and authorization to secured applications.
!
! !
Figure 4: Oracle MAF Architecture
!
Conclusion
Oracle Mobile Application Framework addresses the needs of development teams
looking to deliver cross device mobile applications faster. Leveraging the power of Java,
HTML, and JavaScript standards and providing declarative and visual development
experience through integration with development tools, Oracle MAF accelerates the
creation of on-device mobile applications for phones and tablets.
ORACLE DATA SHEET
CONTACT US
For more information about Oracle Mobile Application Framework, visit oracle.com or call
+1.800.ORACLE1 to speak to an Oracle representative.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. This document is provided for information purposes only, and the
contents hereof are subject to change without notice. This document is not warranted to be error-free, nor subject to any other
warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or
fitness for a particular purpose. We specifically disclaim any liability with respect to this document, and no contractual obligations are
formed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any
means, electronic or mechanical, for any purpose, without our prior written permission.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and
are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are
trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group. 0116