Tuesday Mar 29, 2016

Webcast: Extending Oracle Forms to Mobile

With thousands of Oracle Form apps bound to desktop environments, the need for mobility is clear. Free your customers to be more productive - anywhere, anytime! Join this webinar to learn how Oracle Gold Partner, AuraPlayer, leverages the power of Oracle Mobile Cloud Service, to readily mobilize existing Oracle Forms Applications, without any code changes to their existing forms applications. 

Learn more by joining Suhas Uliyar, Oracle VP of Mobile Strategy and Mia Urman, CEO of AuraPlayer, at this live event, 1:30PM EST, March 31st. 

Follow @OracleMobile 

Thursday Mar 17, 2016

Mobilizing Oracle Forms - the Art of the Possible!

A couple of weeks ago I posted on LinkedIn about A New Interest in Oracle Forms which talked about the possibilities of building new mobile use cases on top of existing Oracle Forms business logic exposed through Oracle Mobile Cloud Serivce.

This really piqued interest because whilst Oracle Forms underpins so many business today, its not something that is viewed as modern or "dynamic". But the possibility to expose existing Forms logic out to new mobile clients really opens up limitless possibilities.

Because of the great response and to further explain the possibilities and the technology behind mobilizing Oracle Forms, I developed 4 videos on Forms Mobilization. which are published on our official Oracle Mobile Platform YouTube channel.

The videos I created are:

This should give you a better insight on the possibilities of mobilizing Oracle Forms, the architecture of the solution using Oracle MCS and the Auraplayer connector, how you expose Forms logic as web services without changing a single line of code, and a demo of the solution in action.

You can also check out our up and coming webinar on March 31st at 10:30 AM Pacific/1:30 PM Eastern

Co-hosted by Mia Urman, CEO Auraplayer and Suhas Uliyar, VP of Mobile Product Strategy, Oracle.

The technology is here, you just have to imagine the possibilities!

Image courtesy of adamr at FreeDigitalPhotos.net

Monday Feb 29, 2016

New videos: Learn to build Xamarin apps the MCS way!

Xamarin platform logo

I have the pleasure to announce that we just published a new playlist on the Oracle Mobile Platform channel. The six episodes will tell all you need to know about the MCS Software Development Kit for Xamarin applications, including such topics as:

Some of you probably find this announcement surprising, given the recent news that Microsoft has bought Xamarin. However, this transaction does not change the fact that Oracle wants MCS to be truly client-agnostic. All mobile developers are first-class citizens on MCS. Wish to go native? We offer SDKs for Android, iOS and Windows. Want to use a cross-platform mobile JavaScript toolkit like Sencha Touch or Oracle’s own JavaScript Extension Toolkit? You’re covered. Using Oracle MAF? You can leverage the MAF MCS Utility.

It was a pleasure for me to get back to my C# roots in order to record those videos. Whatever lies ahead, you can expect Oracle to do what is necessary to make Xamarin and Microsoft mobile developers right at home on MCS.

Tuesday Feb 23, 2016

Oracle’s Mobile Ecosystem Helps Customers Innovate & Accelerate their Digital Transformations

Partners Embrace Open Agnostic Architecture of Oracle Mobile Cloud Service

Oracle today announced an expanded Oracle PartnerNetwork (OPN) member ecosystem for Oracle Mobile Cloud Service, part of Oracle Cloud Platform. Through co-development, joint go-to-market and other partner initiatives, Oracle and its mobile partner ecosystem provide customers with the choice, flexibility and complete solutions that enable faster delivery of better and more engaging mobile apps. The latest partners to collaborate with Oracle include AirWatch (VMware), AuraPlayer, MobileIron, RapidValue, Sencha, Sofbang, and Syniverse.

Today, mobile users expect increased productivity, efficiency, simplicity and excellent customer service. Yet, delivering enterprise mobility is complex, with more than 80 percent of an organization’s time being spent on development, integration, security and maintenance of mobile apps. In defining an enterprise mobile strategy, organizations are looking at best of breed technologies in these key areas. With Oracle and its mobile partner ecosystem, organizations can quickly deliver innovative new services and securely connect, analyze, and integrate real-time data, at scale, between connected devices and enterprise systems.

“Oracle has clearly moved to the forefront of enterprise mobile platform providers,” said Sri Ramanathan, group vice president Mobile, Oracle. “In this increasingly mobile only world, Oracle is focused on delivering both task-specific, out-of-the-box enterprise mobile apps and providing a complete and open platform that allows enterprises to quickly build and deliver better, smarter mobile apps. Our focus has been to simplify enterprise mobility and now together with our mobile partner ecosystem, we are simplifying how customers build and deploy innovative mobile solutions.”

Oracle has been delivering enterprise mobile applications for more than four years and continues to help customers and partners bring mobility to the enterprise with Oracle Mobile Cloud Service. Oracle Mobile Cloud Service is an open and agnostic cloud offering that simplifies and secures the process of connecting mobile applications to enterprise systems and other cloud services. It allows developers to use the application development framework of their choice, or existing investment in third-party solutions, and securely connect to backend data sources, enabling them to create engaging mobile experiences in a simple, intuitive manner.

“To transform business processes, enterprise mobile apps must be secure without sacrificing user experience,” said Noah Wasmer, senior vice president of mobile products, End-User Computing, VMware. “VMware AirWatch EMM combined with Oracle Mobile Cloud Service delivers just that – a streamlined development and deployment process that enables our customers to change the way employees work with intuitive and insightful apps, built on the AirWatch foundation of strong management and security.”

“We are delighted to work with Oracle as part of the marketplace for Oracle Mobile Cloud Service, enabling us to serve a broader enterprise customer segment,” said Dave Murashige, general manager, Enterprise and Intelligence Solutions, Syniverse. “Working together, Syniverse and Oracle are committed to simplifying enterprise mobility.”

Examples of mobile enterprise solutions that leverage Oracle Mobile Cloud Service will be on display at Mobile World Congress in Oracle’s Booth: 3B20 in Hall 3 and in Samsung’s Booth: 6A30 in Hall 6.

New Mobile Partner Collaborations

AirWatch (VMWare). Enterprise Mobility Management enables organizations to easily deploy, configure, secure, manage and support smartphones, tablets, laptops and other devices across multiple mobile platforms and operating systems. The VMware AirWatch platform includes industry-leading mobile device, email, identity, application, content and browser management solutions. Oracle’s collaboration with AirWatch helps customers ensure apps built and integrated using Oracle Mobile Cloud Service are automatically secured with AirWatch.

AuraPlayer's unique solution “wraps” existing Oracle Forms / Oracle E-Business Suite systems as Web Services within hours, without writing a single line of code, while production systems remain untouched. The inclusion of AuraPlayer in the mobile ecosystem allows customers to leverage their existing investments through API's that directly plugin to Oracle Mobile Cloud Service, without the need to migrate or redevelop back-office applications. This provides a quick, low-risk way to kick start a legacy to mobile strategy.

MobileIron provides a secure foundation for enterprises to transform into mobile first organizations. The MobileIron platform secures data at rest in mobile operating systems and applications, as well as data-in-motion as it moves between corporate networks, endpoints and data repositories. Oracle’s collaboration with MobileIron enables customers to easily deploy applications built in Oracle Mobile Cloud Service, and helps ensure endpoints accessing Oracle Applications are compliant and that the data used by Oracle mobile apps is kept secure.

RapidValue enables digital transformation for enterprises. eQuipMe is an Enterprise Mobility Suite comprising 200+ pre-built modules, built-in connectors and 30+ pre-built fully-customizable mobile solutions. These solutions are developed using Oracle Mobile Application Framework. The platform leverages Oracle Mobile Cloud Service for quicker integration, offline capabilities, and storage, and helps improve staff productivity, streamlines workflow, fastens decision making, and reduces cost for enterprises, by automating the process and providing data access to users in real time.

Sencha provides a leading MVC/MVVM-based JavaScript framework and testing solution, Sencha Ext JS and Sencha Test, for designing, developing and testing cross-platform mobile web applications. Sencha Ext JS leverages hardware acceleration techniques to provide high-performance UI components for mobile devices. Sencha Test enables developers and test automation engineers to create unit and end-to-end functional tests and execute them on multiple browsers simultaneously, which helps improve product quality and developer efficiency. The collaboration with Sencha provides developers the choice of using Sencha frameworks and tools for building and testing cross platform HTML5 mobile apps and consuming enterprise services from Oracle Mobile Cloud Service.

Sofbang is focused on Business Process Application Extensions, Enterprise Mobility Solutions and cloud-simplified, hybrid, private, PaaS & SaaS solutions. Key Oracle integrated cloud solutions include License & Subscription and Contracts Management, Mobile On-boarding (EE, Contractor, Customer), Mobile Service Request Management, Mobile Workforce Management, Funds Mgmt, Project Mgmt and WO Asset Mgmt. Sofbang was the proud recipient of an Oracle Excellence Award for Specialized Partner of the Year for Mobility.

Syniverse makes mobile work by developing solutions to help brands enhance and enrich user experiences while enabling business processes that increase engagement and build greater brand loyalty.

As an ecosystem partner, Syniverse helps brands with innovative messaging solutions integrated with Oracle Mobile Cloud Service, enabling these brands to reach mobile users in real time through mobile messaging, anytime, anywhere.

Get the latest information on Oracle Mobile at: www.oracle.com/mobile

About Oracle PartnerNetwork Oracle PartnerNetwork (OPN) is Oracle's partner program that provides partners with a differentiated advantage to develop, sell and implement Oracle solutions. OPN offers resources to train and support specialized knowledge of Oracle’s products and solutions and has evolved to recognize Oracle’s growing product portfolio, partner base and business opportunity. Key to the latest enhancements to OPN is the ability for partners to be recognized and rewarded for their investment in Oracle Cloud. Partners engaging with Oracle will be able to differentiate their Oracle Cloud expertise and success with customers through the OPN Cloud program – an innovative program that complements existing OPN program levels with tiers of recognition and progressive benefits for partners working with Oracle Cloud. To find out more about Oracle Partner Network visit: http://www.oracle.com/partners.

Monday Feb 22, 2016

Reusable Analytic Reporting with Oracle Mobile Cloud Service

The proverbial they say a picture is worth a thousand words. But what isn't said is how much time and effort it takes to paint the picture in the first place, certainly you don't re-paint the picture for every gallery viewing!

The mobile analytic data captured via Oracle Mobile Cloud Service (MCS) can be extremely valuable in a similar fashion.  It can tell us who uses our mobile applications, how they use them and when they are used as example.  So wouldn’t it be nice to build a palette of analytic reports so we can run them with just a click and can use them again and again?

Oracle MCS provides two ways we can build, save and share such reusable analytic reports.

The first and easiest way is to use the Save button when we are viewing and configuring a pre-existing analytics report in the MCS portal. For example, if we were viewing the user session count report for all our mobile applications, then we configured it to show the session count across countries, rather than having to open the vanilla report and set the options again next time we need it, all we need to do is click the Save button and the customized report will be ready for us to reuse next time.

As shown in the following picture our saved reports are listed under the Development -> Analytics -> My Reports page:

A second way to create and save reports is from the My Reports page itself. Just click the New Report button, specify a report name, description, type and a mobile backend to run the report against. The type defines what kind of report we wish to work on: is the report about API Call Count or Response Time, Events, User or Sessions.

When we click the Create button, we are taken to an area where we can start defining the report in detail:

Once we have the data the way we want to see it, then like before, we click the Save button and the report will be available from the My Reports menu option. Remember that when we save a report we are including everything that makes up the report including any filters that are applied, the chart style and the environment it is running against.

Once the report is saved and available from My Reports, we can either Edit, Run or Delete the report using the burger icon associated with the report:

Image courtesy of Danilo Rizzuti at FreeDigitalPhotos.net

JavaScript needs a Mobile Cloud SDK! Seriously.

Building on-device mobile applications and mobile web applications with JavaScript no longer is just the domain of the hip and cool but arguably is now mainstream. JavaScript as a language has gone a long way and finally arrived to what it originally was designed for: easy application development, even on mobile, and even in the enterprise!

Many parties including Gartner predict that the future of mobile application development is hybrid, which includes JavaScript and CSS on the client. These hybrid solutions focus on building responsive client side applications and single page applications (SPA) that you can do easily with today's JavaScript. In addition these apps are often extended with multi-tier architectures that include Mobile Backend as a Service (MBaaS) cloud solutions that provide amongst many mobile functions the ability to integrate with your backend business services via REST & JSON. 

JavaScript includes native support for REST calls and parsing JSON payloads, which at first would make it seem a good candidate for building mobile front ends to connect to an MBaaS; native syntax, what can be better than that?  But with the proliferation of REST APIs each with their own nuance of functionality, even JavaScript developers could do with a hand to reduce the code burden of writing yet another HTTP subroutine to call yet another API, or dealing with yet another JSON payload which is slightly different from the last.

In reducing this burden, Oracle's own MBaaS offering Oracle Mobile Cloud Service (MCS) includes SDKs for Android, iOS, Windows and specifically JavaScript. The JavaScript SDK provides asynchronous REST calls to Oracle MCS mobile backends on the developer's behalf. These calls allow you as a JavaScript developer to stay in your comfort zone as all you need to do in your application code is to deal with native JavaScript functions, properties, objects and arrays.

An Example of Using the MCS JavaScript SDK

To start using the Oracle MCS JavaScript SDK, we first download it as a zip file from the Oracle MCS administration dashboard. We then unzip the downloaded file and copy the mcs.min.js and oracle_mobile_cloud_config.js files to the application directory that holds our other JavaScript libraries. The oracle_mobile_cloud_config.js needs to be saved in the same directory as the mcs.min.js file.

From here in our code to make use of the SDK, the Oracle MCS JavaScript SDK provides a service proxy object for each MCS platform API as well as for calling custom mobile backend APIs. As it is common in JavaScript, proxy objects use asynchronous callbacks to notify the calling application about the success or failure of a MCS call along with a result set or error message depending on the outcome.

To access a proxy object, such as for example the "Analytics" platform API representation to send information about a mobile task to the Oracle MCS analytic engine, we first get a handle to the MobileBackendManager class. The MobileBackendManager  is a singleton object that grants you access to a configured MobileBackend object instance.

To access the MobileBackendManager, we use the mcs global variable name as shown below. Before we can access the MobileBackendManager we set a reference to the mobile backend configuration file to use:

var mobileBackend = mcs.MobileBackendManager.getMobileBackend('my_mbe'); 

The "mobileBackend" variable in the example now holds an object of MobileBackend type. The configuration for the MobileBackend we receive from the MobileBackendManager is defined declaratively in a JavaScript configuration object, the oracle_mobile_cloud_config.js file. As example for the named configuration 'my_mbe' above a possible configuration file is shown below:

var mcs_config = {
    mobileBackends: {
        my_mbe: {
            default: true,
            baseUrl: "http://<your mobile backend url>:7201",
            applicationKey: "a53534a3-c38a-4aa6-b685-71a40c2004f5",
            authorization: {
                basicAuth: {
                    backendId: "0bf9af19-a9c7-4f3c-1111-734b83fefcfa",
                    anonymousToken: "QkVOREVSX0ZSWV9NT0JJTEVfQU5P[...]"

The configuration file may hold one or more named configuration sets for each mobile backend our app wants to consume like 'my_mbe'. Each mobile backend configuration set defines the Oracle MCS mobile backend base URL and the application container key for our relating MCS mobile backend, as well as information about the authentication options to be used, which can be HTTP Basic Authentication or OAuth. The configuration parameter are derived from the Oracle MCS administration dashboard for a specific mobile backend. 

Once we have access to the MobileBackend object in code, we can access the MCS platform API proxy classes and their functions which make working with MCS simpler. As an example for this article, lets first do an anonymous user authentication to Oracle MCS, then send analytic information about the user's current mobile task to MCS using the Analytics proxy.

First, the authentication call:

// Set authentication type to basic authentication. This will look for the basicAuth configuration
  function (response, data) {
    // Success callback
   function (statusCode, data) {
    // Failure callback

As you can see the code is simple, no REST calls, dealing with HTTP headers or status code, or forming and expanding JSON payloads, the JavaScript SDK has simplified our task substantially.

Next, we access the Analytic proxy to queue custom messages and to send an analytic session to MCS.

var analytics = mobileBackend.Analytics; 

Again thats it. We are ready to send custom analytic events to Oracle MCS.

Custom analytic events in Oracle MCS are defined as part of an analytic session JSON object. This object implicitly captures a session start and end datetime, information like the device's GPS coordinates, current time stamp and other information about the application runtime environment such as the operating system.  Also most importantly, it also contains one to many custom events that we define that capture how our mobile application is being used by the user or other business domain specific events we need analytics on.

As example for this article, lets send a custom event about the status of a repair that a technician has completed for an important customer who reported a broken dish washer:

var event = new AnalyticsEvent("repair_completed");                                    
event.properties['incidentId'] = "sr1001"
event.properties['technician'] = "joe@fixitFast;
event.properties['Comment'] = "replaced_parts";

Once submitted to MCS, the custom event name, along with the custom event properties can be selected and viewed in the Oracle MCS analytic dashboard. Strings like "repair_completed" and "replaced_parts" simulate application codes we would use in our production mobile application to track business events resulting in success or failure. The analytics.logEvent(event); call queues the custom event to the analytic session, and we can add one or more analytic events to the queue if necessary.

Once we've completed gathering analytic events and are ready to send the analytic session and its associated queue to Oracle MCS we make a call to the flush() function that flushes all the queued events to MCS: 

   new function () {
      // Success callback
   new function (statusCode, data) {
      // Error callback 

Again, there's no REST or JSON work for us to do as the JavaScript developer. The SDK completely shields the client side application developer from having to know in detail the platform REST APIs, the request headers, the response codes and JSON payloads, we just use a few simple JavaScript functions to do the bulk of the work. 

Seriously, JavaScript needs a SDK and Oracle MCS has it for us to use. Whether we're building a hybrid mobile application using JavaScript, or a mobile web application in JavaScript too, oh and let's not forget Android, iOS and Windows too, MCS and its SDKs have us covered.

More information is provided in the Oracle Mobile Cloud Services documentation and the SDK JavaScript documentation and MCS User Guide.

Image courtesy of stockphotos at FreeDigitalPhotos.net


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


« May 2016