The component based development approach in MAF equips the developer with rich user interfaces across multiple platforms and devices.
The objective of this blog is to introduce the core design principles and various features of the Oracle Mobile Application Framework (MAF). We live in the world of smartphones and it’s no misnomer that the mobile world evolves at such a fast pace that the mobile technology has to keep up with the demands and expectations of the customers constantly.
MAF is one such application that allows building and deploying mobile applications to keep pace with these growing business requirements. MAF enables you to develop multiplatform applications based on a single code base. The component based development approach in MAF equips the developer with rich user interfaces across multiple platforms and devices.
Multiple platforms here implies that the operating systems that run on mobile devices such as iOS, Android, Symbian, BADA, Blackberry, Ubuntu, Sailfish etc. For MAF the platforms like iOS and Android are in great demand. MAF supports development of a hybrid application that can access a device’s native APIs when it is installed in those devices. However, an application can be accessed both online and offline through a web browser supported by the device's browser engine.
Development tools and technologies involved
JDeveloper is a primary tool to build MAF applications using the Oracle MAF extension. Eclipse is another option to utilize by using the Oracle Enterprise Pack.
Java: Basic java to develop application business logic.
HTML5: Designs the pages that are viewed by application users and are supported across all the platforms. It is capable to deliver rich contents like graphics, music, animations without any additional plugins.
CSS3: The most recent version of CSS is used to describe the look, feel and the format adjustments for applications. It also helps in loading the applications faster on the browsers.
Mobile Application Framework Runtime Architecture
We will now discuss a little bit about the MAF architecture. MAF follows a model-view-controller approach that separates the presentation layer from the business logic. Take a look at the image below:
(Image Source: Oracle Mobile Application Framework Developer's Guide)
The device native container allows the MAF application to function as a native application across the devices, an encrypted SQLite database enables applications to keep working offline. Once it is connected to the main source, the updated data is transferred. Apache Cordova has access to the device features e.g. GPS function, camera, e-mail etc. Cordova is a Java script API and functions like a bridge connecting device's native features with the mobile application.
Web View uses a mobile device's web engine to display and process web-based content. A developer can use any content type enlisted under a web view in the diagram to develop a user interface. MAF is comprised of one or more independent acting applications which is called as application features.
Java JVM is based on the Java ME Connected Device Configuration (CDC) and provides java run time environment for the mobile application.
Mobile Application Framework Features and MAF Leverage Building Blocks
A MAF application is comprised of one or more embedded applications known as Application Features and each of these application features governs a specific task. The features can be developed separately by different members of the development unit to be assembled together once the development is complete. The MAF application itself can be re used as the base for another application.
MAF application can be deployed in different development phases by appointing the credential signing options (debug or release). Developers can deploy application on mobile devices or simulator for testing, debugging and packaging it for production for the end users. The application can also be published using the Google Play or Apple App Store.
MAF applications are designed to serve as a highly secured feature which includes selecting a login server or any web page secured by the HTTP authentication devise and using the session management.
The SQLite database secures data that is stored locally in the device by encrypting the database and locking it by user name and password so the date can be protected in case of device theft or loss.
Developing a mobile application is a complex challenge due to the different OS platforms used in the mobile devices. Using a MAF hybrid approach and its ability to work across platforms enables developers to reuse the same code and business logics for the mobile devices. It further allows the OAF and ADF developers to use their existing knowledge of JAVA, JDeveloper and XML among others.
For any questions on the above please click below: