Mobile apps have proliferated in recent years and, as a result, so have the Cloud and managed services for mobile app development. Oracle Mobile Cloud Service (MCS) was introduced not too long ago, in mid-2015. In the realm of the different Cloud service categories such as PaaS, IaaS, and SaaS, MCS is a Mobile Backend as a Service (MBaaS). MCS is designed for the Android and iOS platforms.
What Is MCS Used For?
MCS may be used for integrating mobile applications to enterprise systems and Cloud services. Mobile application developers only need to be concerned about developing mobile apps. MCS integrates mobile apps securely and subsequently provides metrics that may be used to develop an overall mobile strategy, metrics about users such as their location, number of users, and whether those users are able to use the mobile apps productively. MCS has several built-in APIs for mobile storage, mobile user management, data offline, data sync, push notification, and analytics. These APIs may be invoked directly by using REST calls or invoked from Mobile Cloud Service SDKs. An API Designer tool is provided to develop custom APIs using the RAML (RESTful API modeling language) standard. Java utilities for Oracle Mobile Application Framework (MAF) may also invoke the APIs.
Who Is the MCS Designed For?
Several different mobile roles could make use of MCS, including mobile app developers, mobile service developers, mobile strategy developers, mobile Cloud admins, and mobile enterprise architects. MCS may be used by other Oracle Platform as a Service (PaaS) and Software as a Service (SaaS) developers.
Tools and Utilities for MCS
To further facilitate MCS, some tools and utilities are provided, specifically the Oracle Mobile Application Accelerator (MAX) and Oracle JavaScript Extension Toolkit (JET).
Mobile Application Accelerator
MAX is an IDE (integrated development environment) for mobile apps for Android and iOS platforms. Don’t know mobile coding? MAX is the tool to use; it provides built-in components and data sources to develop apps using drag, drop, connect, build, and deploy. To use MAX, first select a template for a common use case or start with a blank screen. Next, drag and drop UI components to the screen. Connect with a data source to display data. Build and test the app on a hosted simulator. Having built an app, the app may be shared by generating the QR Code to create MAX modules that may be distributed or tested on a real device. To test the app on an actual device, use the MAX client available on Google Play Store and the App Store. The MAX client is used to test MAX modules developed on MCS. MAX is not just for developing simple apps; advanced functionality may be added, such as displaying phone numbers, e-mails and Web links. A map and camera may be added to a MAX app.
Oracle JavaScript Extension Toolkit
Oracle JavaScript Extension Toolkit (JET) is an open source toolkit based on JavaScript, CSS3, and HTML5; it’s designed to build applications that interact with, among other types of Oracle products and services, Oracle Cloud Services. JET was initially used for developing JET Web apps. Recently (November 2016), Apache Cordova was integrated into JET to make it feasible to use JET for mobile application development. Apache Cordova is another open-source platform for developing mobile applications based on CSS3, HTML5, and JavaScript. Apache Cordova-based mobile apps are called hybrid mobile apps because they are a hybrid between native mobile apps and Web technology. A single app, a single code base, could be deployed to Android, iOS, and Windows mobile devices. Scaffold, build and serve JET hybrid are mobile apps similar to a JET Web app. A EMM (Enterprise Mobility Management) plug-in was recently (April 2017) made available for accessing app configuration data in Cordova hybrid mobile apps.
Oracle Mobile Cloud Service 2.1 added the Fusion Connector feature to browse and use Fusion applications such as Oracle HCM, Oracle SCM, and Oracle CRM. Oracle Forms applications may be integrated into mobile apps using MCS.
How to use pre-existing Android Studio and iOS apps with MCS? The MCS Android SDK and the MCS iOS SDK may be used to integrate MCS with Android Studio and iOS apps.
Mobile Backend as a Service Platform APIs and Connectors
The Mobile Backend as a Service (MBaaS) platform provides several APIs and connectors for developing a mobile backend. In addition to custom APIs, the following Platform APIs are supported.
Mobile User Management
The Mobile User Management API is used to manage data related to users. Mobile users are managed by using realms and roles. A realm is a container for defining a set of users. A role is a security group used to provide access to custom APIs and resources.
Storage
Collections of objects, such as images and documents, may be created in a Web interface and the Storage APIs may be used to integrate the objects in a mobile backend. Add/modify/delete images and documents from a mobile backend by using the Storage API. The Storage API is not to be used as a database-as-a-service (DBaaS) or a HTML 5 CMS (content management system).
Data Offline and Sync
The Data Offline and Sync feature provides the Sync Express and Synchronization APIs to cache REST resources for offline use and sync offline changes with the server when online.
Analytics
The Analytics API is used to collect logs for specified events in mobile apps and develop analytics reports. The Analytics API may be used to improve app performance based on event and usage data.
App Policies
The App Policies API is used to access the application configuration information set in a mobile backend from a mobile app. The App Policies API is used to create and access read-only custom properties in a mobile backend. App policies could be used to update fonts, colors, and image names in a mobile app, or to display app features based on some condition.
Notifications
Notification API is used to develop code to send notifications to mobile apps. Notifications are messages that are sent to a user about a real-time information such as an out of stock product becoming available, or weather information.
Database Access and Management
The Database APIs are used to access and manage database tables from a mobile app. Two APIs are provided for the purpose: Database Access API and Database Management API.
The Database Access REST API is used to connect to Oracle Cloud Database. To avoid SQL injection and make database access secure, direct API calls to a database are not provided and a custom API implementation must be developed to make the Database Access API calls to POST or PUT JSON objects in a database.
The Database Management API is used to add/replace/view/drop tables created (or updated) by using the Database Access API.
Location
The Location APIs are used to define and query location devices and places from a mobile backend to develop location-aware apps. Whether it is to provide directions, or customize information to local language dialect and preferences, mobile apps rely on getting location information.
Connectors
The Connector APIs are used to simplify connecting with and standardizing use of backend systems and external Web services from implementations of custom APIs in a mobile app. Connector APIs are supported for the following types of external services:.
- SOAP
- REST
- Integration Cloud Service (ICS)
- Oracle Fusion Applications (FA)
The REST connector API is for connecting to REST services; the SOAP connector API for SOAP services; the ICS connector API is used for Integration Cloud Service services; and the FA connector API is used for Oracle Fusion Application services.
Conclusion
In this, article we introduced the Oracle Mobile Cloud Service, which may be used by mobile app/service/strategy developers, Cloud admins, and mobile enterprise architects for integrating mobile apps into mobile enterprise systems and Cloud services. Recently (June 2017), Oracle MCS was placed in the Leader quadrant in the 2017 Gartner Magic Quadrant report for Mobile App Development Platforms (MADP).