Thursday May 19, 2016

Free Mobile Training to Awake the Sleeping Giant - August 2016

For those of you who are embarking on mobile development initiatives, the Oracle Partner Community is running a fantastic week of mobile training in Portugal starting on the 29th August. For this event, Frank Nimphius and Mireille Duroussaud will be leading a mobile hands on workshop that focuses on integrating existing backend systems through Oracle MCS and exposing them through Oracle Mobile Accelerator (MAX).

What makes this event particularly interesting is the fact that these back end systems could include Oracle Forms. As many of you might know, Oracle Forms is the technology that underpins 10s of thousands of businesses and at one time was THE tool for building Oracle systems. The potential for exposing this "sleeping giant" to mobile consumers is huge and this is your chance to get trained by Oracle's mobile experts. Registrations are open now!

Who should attend. You should attend if you are an Oracle Forms customer or if you are busy with Oracle Forms project and look for the next big thing. If Forms to REST is not your primary interest, then still you should attend because learning about Oracle MAX and Oracle MCS becomes a key skill requirement for all Oracle customers and partners. 

Register now!

Monday May 02, 2016

MAF Released

MAF is a minor update that contains a couple of critical bug fixes related to application deployment. These deployment issues affected customers using iOS for development.

Fixes delivered in this patch:

  1. Intermittent failures when deploying application to iOS simulator.  Application deployment failed with CopyStringsFile errors in the log.
  2. Deployment errors when iOS Simulator target is changed in deployment profile

A new extension is now available in JDev update center with the above fixes. There is no migration impact of this patch on existing applications using MAF 2.3. If you are directly picking up this extension from earlier versions of MAF, please follow the migration instructions provided in MAF 2.3 migration guide and other important 2.3 uptake information available here.

This patch uptake should be seamless and customers should be able update the extension from JDev update center, restart JDev and get going. Of course, be sure to do clean all after the extension installation on all your existing applications.

Tuesday Apr 19, 2016

Secure Oracle MAF applications with MobileIron, AirWatch

Overview :

Oracle Mobile Applications Framework (MAF) 2.3 release offers a new feature which supports integration with 3rd party EMM vendors. This integration is focused on leveraging the native capabilities in mobile operating systems,to enable a more consistent, open, and simple way to configure and secure mobile applications. These native capabilities are commonly referred as App Configurations For Enterprise , and are supported by popular EMM vendors like AirWatch, and MobileIron. The supported vendors at this point are AirWatch, and MobileIron, but we expect the solutions from other EMM vendors, who are listed on App Config Community also to work with MAF 2.3. To learn more about the best practices around native MDM / MAM capabilities offered by iOS , and Android, visit the AppConfig Community . The App Config Community is supported and maintained by EMM vendors like AirWatch, MobileIron. It provides recommendations for enterprise mobile app developers to secure their applications in an EMM vendor neutral approach, by leveraging the native capabilities in the operating systems.

MAF’s integration with AirWatch, and MobileIron does not support their respective SDKs , or wrapping solutions. Instead, the integration is focussed around their ability to use a standard approach offered by iOS, and Android, to manage applications, and application configurations. 

From recent versions of iOS , and Android , Apple, and Google have rolled out a standard approach to manage applications, and application configurations, through native operating system capabilities. These native OS capabilities remove the need for containers, and dual workspaces, that frustrate users and hinder productivity.  Also, by leveraging the native OS capabilities, mobile developers can build applications which are EMM vendor neutral.

AirWatch, and MobileIron's support for standards based application management, and application configuration, offers various advantages for Oracle MAF developers, and enterprises.

  • Building enterprise-ready applications can now be faster, as the most common use cases do not require the need of an SDK, or a wrapping solution.
  • Developers can build applications which are EMM vendor neutral, as they are built on native standards supported by mobile operating systems.
  • Various organizations within an enterprise can provide a better on boarding experience to their users, by leveraging the native application level configurations.
  • Faster turn around time to build enterprise-ready mobile applications, provides an ability for the enterprises to rollout greater selection of business apps for their users.

MAF integration with AirWatch, and MobileIron, supports the following use cases on Apple iOS, and Google's Android for Work platforms.

1. Application Security :
  • Encryption : Offline content stored within the sandbox of a MAF application, can now be encrypted using the native device level encryption provided by the mobile operating system. This can be done by enforcing a passcode on the device. Encryption within MAF applications can be enabled by enforcing a device passcode by pushing down a policy through the EMM console. 
  • Managed Open-In : Control end-user’s ability to open managed documents stored offline within a MAF application, into unmanaged personal applications like, Dropbox .etc. 
  • Disable Screen Capture : Control end-user’s ability to take screen shots.
  • Remotely Wipe Application : Remotely wipe the application.
  • Disable Copy / Paste : Control end-user’s ability to copy and paste content between managed and unmanaged applications. Since iOS does not provide a native restriction to control this capability, leveraging this feature within an iOS app might involve some custom work in MAF application. There is no development work involved in leveraging this capability within Android apps which are published within in Android for Work environment.
  • Disable Camera :Control end-user’s ability to use camera within managed applications.

AirWatch Mobile Device Management Guide for iOS ,and MobileIron CORE Device Management Guide for iOS can provide you detailed information on how to create security restrictions on iOS.
AirWatch Integration with Android for Work Guide and MobileIron CORE Device Management for Android for Work can provide you detailed information on how to create security restrictions on Android for Work.

2. Application Tunneling : MAF applications which may require access to web services residing behind a corporate firewall, can leverage a secure app tunnel connection between the app on the device, and the backend services. This can be done by distributing, and enabling a Per-App VPN configuration on a device.

Per-App VPN configuration is a native capability provided by the mobile operating system to enable VPN on an application level . A Per-App VPN configuration comprises of information about the VPN server, or tunneling server , to which the network calls from the applications get routed. Per-App VPN configurations can be provisioned on devices through an Agent application, and can be applied to specific MAF applications. Once the Per-App VPN configurations are applied to specific MAF applications, all the network requests initiated from these applications are routed through the VPN server, or the tunneling / proxy server specified in the configuration. 

AirWatch, and MobileIron currently support a long list of commercial VPN providers like Cisco AnyConnect, Juniper ,Check Point , Palo Alto Networks, F5 Networks, Pulse Secure etc and more. To configure Per-App VPN, enterprises can either use one of the supported VPN providers , or they can use the tunneling server provided by the EMM vendors. AirWatch provides a tunneling server called AirWatch Tunnel, and MobileIron provides a tunneling server called MobileIron SENTRY.

You can find more details about the Per-App VPN support on the App Tunnel section on AppConfig Community. Also, for more details on AirWatch, and MobileIron tunneling setup, refer to AirWatch Tunneling Guide , and MobileIron SENTRY Guide respectively.

3. Single - Sign On:

The single sign-on capability documented by the AppConfig community specifies the best practice for how an app developer should invoke the IDP from the app in order to facilitate a single sign-on experience.  Most Single Sign-On scenarios will be handled by the MAF framework, and developers might not have to do much of changes to their application. The native OS capabilities on iOS, and Android, support certificate based authentication, and username / password based authentication. The Single Sign-On capabilities listed on AppConfig community are expected to work with MAF 2.3 release.

3rd Party EMM Certification :
From MAF 2.3 release onwards, all the future releases of MAF shall publish information on certified EMM vendors as part of the certification matrix.

 Product Certified & Supported OS Minimum OS Version Server Console
Certified on iOS
Supported with Android For Work
iOS 9
Android 5.0
AirWatch console
Certified on iOS
Supported with Android For Work
iOS 9
Android 5.0
Mobile Iron Core 

Following use cases are targeted for future releases of MAF, and are currently on the roadmap:

Managed Application Configuration :

Enterprise applications require users to enter URL, port, email address, and various configurations as part of a one time setup of an application. These manual configurations can impact the adoption and success of an organization’s mobile app initiatives, increase the burden on a help desk fielding calls from users, and add the burden of maintaining documentation that needs to be updated frequently as new updates to the application are made available.

By leveraging the native APIs recommended by the AppConfig Community, these configurations can be automatically set remotely by the EMM server. This simplifies the setup process for end users, and alleviates the help desk and documentation burden. Developers can define a set of configuration keys within their apps.  An IT administrator can simply set the same keys and values in the EMM provider’s management console and they will be pushed to the app.

Apps commonly implement the following types of configurations:
Backend service configuration: server URL, port, use SSL, group/tenant code
User configuration: username, email, domain

In future releases, MAF will provide an ability to read the configurations set by the IT administrators in the EMM console. MAF developers can then read these values, and leverage them within the application lifecycle to provide a better on boarding experience for the end-users.

Monday Apr 11, 2016

Cordova updates in MAF 2.3

MAF 2.3 introduced a number of new & exciting features, as described in this blog post.  In addition to these, the embedded Cordova engines for each platform were upgraded to the following versions: 

  • Android: 4.1.1
  • iOS: 4.0.1
  • Windows: 4.0.0

So what does this mean for you, the MAF app developer? 

Plugin updates

These are significant upgrades for both Android and iOS, with a number of deprecated APIs being removed.

The core plugins contained with the MAF 2.3 release have been updated accordingly, but if you are using any 3rd party plugins, you should verify that they are compatible with each of the Cordova platform versions listed above. You may need to update to a later version of some 3rd party plugins.

If you have developed your own Cordova plugin for use in your MAF apps, you should ensure that it is compatible with these Cordova platform versions. A list of API changes in v4.0.0 of Cordova for iOS can be found here.

Android security

The Cordova for Android update contains a number of security fixes.

When uploading your MAF 2.2.2 app to the Google Play Developer Console, you may have received emails with the subject “Google Play warning: You are using a vulnerable version of Apache Cordova” that state the following:

Your app(s) listed at the end of this email utilize a version of Apache Cordova, an open-source mobile development framework, that contains one or more security vulnerabilities. If you have more than 20 affected apps in your account, please check the Developer Console for a full list.

Please migrate your app(s) to Apache Cordova v.4.1.1 or higher as soon as possible and increment the version number of the upgraded APK. Beginning May 9, 2016, Google Play will block publishing of any new apps or updates that use pre-4.1.1 versions of Apache Cordova.

The vulnerabilities were addressed in Apache Cordova 4.1.1. If you’re using a 3rd party library that bundles Apache Cordova, you’ll need to upgrade it to a version that bundles Apache Cordova 4.1.1 or later.

This has been addressed in MAF 2.3 with the upgrade to Cordova for Android. If you migrate your app to MAF 2.3 and upload it to the Google Developer Console, you should not longer receive such emails.

Windows Universal Platform support

MAF 2.3 now supports deployment to Intel-based Windows 10 tablets, laptops and desktops. In this release, MAF apps must be side loaded onto Windows 10 devices, or deployed to the Windows 10 machine on which the MAF app is being developed.

Setup instructions can be found in the MAF 2.3 Installation Guide. Deployment instructions can be found in the MAF 2.3 Developer Guide.


These versions of Cordova use a new whitelisting mechanism. For iOS and Windows this is built in, but for Android you must include the cordova-plugin-whitelist plugin if you wish to maintain a whitelist.

The Cordova Whitelist Guide provides more information on the details of whitelist configuration and management.

MAF 2.3 no longer provides direct support for whitelisting, but if your MAF app makes use of a Remote URL that allows access to device services and you would like to use a whitelist, please refer to the MAF 2.3 Developer Guide for information on how to include and configure the required plugins.

Thursday Apr 07, 2016

MAF 2.3 Deprecates RestServiceAdapter ... and replaces it with RestServiceAdapter

 After migrating existing Oracle MAF applications to  MAF 2.3, your source code shows the following deprecation warning

RestServiceAdapter deprecation

This deprecation is not mentioned in the Release Notes for MAF 2.3 but in the Oracle MAF Developer Guide, which you may not re-read for each new release: thus this blog article.

 The deprecation warning above however does not mean that the RestServiceAdapter class is going away. Instead it is replaced with the RestServiceAdapter class. Confused? Well, as you probably guessed from the previous sentence, the change is in the package location of the class, which changes from to

But refactoring the "adfmf" string to the "maf" product identifier is not the only change that comes with this. The call you do to obtain an instance of RestServiceAdapter does change too.

RestServiceAdapterFactory import statement

Instead of calling Model.createRestServiceAdapter(), which you did prior to MAF 2.3, you now use the RestServiceAdapterFactory

RestServiceAdapter restServiceAdapter = RestServiceAdapterFactory.newFactory().createRestServiceAdapter();

Working with the RestServiceAdapter itself doesn't change much except for a few method having new names like setRequestMethod and getRequestMethod that replace setRequestType and getRequestType (which I think is a sensible change). 

So what now? Actually there is no need to do anything in the short term. However in the mid term we suggest to change the use of RestServiceAdapter to the new class so you are on the latest version of the supported API. 

Tuesday Mar 29, 2016

Oracle MAF 2.3 Release

Oracle MAF 2.3 release is now available on OTN. This is a major update of MAF coming less than 6 months after the last major release. This release has several new & exciting features, below are some key capabilities available in this release. 

Windows Platform Support

On popular demand, MAF 2.3 introduces support for Universal Windows Platform(UWP). Keeping with our promise of single code base for multiple platforms, customers can now deploy their existing MAF apps to Windows 10 desktops and tablets in addition to iOS and Android. Install and setup instructions for Windows platform are available here. Key elements of Windows support:

  • MAF apps can be deployed to any Windows devices based on x86 chipset
  • Support for UWP native look & feel and UX design patterns
  • Support for deployment to Windows tablets through side loading 

Enterprise Mobile Management (EMM) Support

Apps built with MAF now work with Enterprise Mobile Management solutions from Airwatch and MobileIron by following the best practices and guidelines provided by the AppConfig community. Customers can take advantage of their existing investments in EMM solutions to secure, configure and manage MAF apps using native capabilities in iOS and Android. MAF framework supports all the key capabilities specified by AppConfig community:

  • App Tunnel
  • Security Policies and Access Control
  • Single Sign On

Please refer to the certification documentation for specific versions of Airwatch and MobileIron supported by Oracle

ListView Enhancements

Support for animation effects for ListView component. Animations are available for:

  • listItem row insert 
  • listItem row delete
  • listItem divider group disclosure change 
The default animations provided as part of the component can be customized by overriding the css style classes. 

Disclosure Insert/Delete

Mobile Cloud Service(MCS) Analytics Integration

This release provides built-in support for generating MCS analytics events. When an MCS backend is used, application developers can easily generate events for the application usage and upload them to MCS Analytics service. Key capabilities of this feature:

  • Ability to generate analytics events for standard application lifecycle events such as startup, user login etc. through simple configuration. No coding necessary. 
  • API to generate custom application events
  • Analytic events are persisted locally on the device. They can be captured even when the device is offline
  • Events are uploaded in bulk to minimize the number of roundtrips   
 Please refer to the dev guide here for more details about this feature.

Security Enhancements

This release provides support for 2-way SSL during authentication. This feature allows customers to use certificate or soft PKI based authentication for MAF apps to support advanced security requirements. Client certificates can be installed using a MDM vendors or using MAF support for installing client certificates. Please refer to the developer guide for more details about this feature.

Data Visualization Features

This release has several enhancements to the DVT components.

1.  Range Charts: Range area and range bar charts help visualize datasets with varying low/high values

Range Area Chart Range Bar Chart

2.  Ability to individually style the categorical axis labels allows for emphasizing specific groups, which is a lot more useful than styling the labels as a whole. Tooltips are now also supported for categorical axis labels.

3.  Hierarchical labels can now be used to display hierarchical data on the categorical axis charts

4.  A number of enhancements are now supported in Gauge components:

  • Status Meter Gauge: Ability to specify border and color for plot area, string title, corner radius and border, displaying indicator wider than the plot area
  • Circular Status Meter Gauge: Ability to control the radius, start angle and angle extent
  • Vertical orientation for Rating Gauge
Circular Gauge Vertical Rating Gauge

JDeveloper 12.2.1 Integration

MAF 2.3 extension works with JDeveloper version 12.2.1. This brings all the new capabilities introduced in the IDE as part of latest release of JDev to MAF developers. You can use a single IDE for both your web app and mobile app development. One nice side benefit of this is that you no longer need JDK 1.7 on your dev machine as both JDev and MAF support the latest JDK 1.8 update.


This blog is is dedicated to announcements,tips and tricks and other items related to developing, integrating, securing, and managing mobile applications using Oracle's Mobile Platform. It is created and maintained by the Oracle Mobile product development team.

Archive of past entries

Even More Mobile Development Blogs

Oracle A-Team Site - Mobile Related Entries

Code samples from the Community

Fusion Middleware Blogs


« July 2016