What is our primary use case?
When positioning Oracle MCS, our main focus is to implement non-existing Single-Purpose APIs needed by new Mobile apps and to apply basic security mechanisms (Authentication and Authorisation) to the exposed Mobile backends. In addition, we use MCS to depict more advanced Mobile Use cases like the implementation of location-aware services or the management of push notifications.
How has it helped my organization?
Oracle MCS enables us to focus on most important part, when doing Mobile Backend development: implementing the needed business logic, which brings value to our customers. Technical details, like the interaction with Push Notification Services from Apple or Google are abstracted through MCS; we as developers just need to declare and configure things, but the "magic" is handled by the platform.
What is most valuable?
Oracle MCS is more than just a Mobile Backend as a Service (MBaaS) solution. It is a complete eco-system for implementing mobile applications, covering typical standard features, like Notification Management, Offline Data Synchronization or Location-based Services.
In addition, MCS provides capabilities for creating Mobile applications using Oracle Mobile Application Framework (MAF). In addition, you can use Oracle Mobile Accelerator (MAX), which is a no-code development platform to create, test, and publish sophisticated cross-platform mobile apps.
Through connectors, MCS can easily be connected to backend services (REST, SOAP, ICS). These connectors make the usage of backend services in Custom APIs much easier since in the connector configuration, things like security can simply be declared without the need for writing any code for such things in your custom APIs.
Custom APIs in MCS are Node.js implementations where things like data transformations and contract tailorings, e.g., only return 10 out of 100 attributes of a business object, can be done to create new mobile-optimized Single-purpose APIs a.k.a., Backend For Frontends.
What needs improvement?
From my point of view, it would be desirable if Swagger would also be supported as a valid description format for custom APIs. Currently, there's only support for RAML.
In addition, it would be good to include further security mechanisms, e.g., allowing authentication via client certificates, which is currently not supported.
Custom API can be based on RAML documents (v0.8) and it is also possible to export the RAML document of an implemented Custom API. This makes custom API creation as well as Mobile app implementation more efficient since there is a common API description available.
With respect to other Cloud Services, like Oracle API Platform Cloud Service, it would be desirable if Custom APIs in MCS can also be based on the Swagger, respectively, Open API documentation format, to be more consistent regarding the overall Oracle Cloud platform, and to be more interoperable between different Platform as a Service (PaaS) offerings.
A second thing that I wanted to mention is that it would be nice to include more features, in the area of security, with respect to authentication and authorization.
Currently, Mobile Backends can be secured by leveraging HTTP Basic Authentication and OAuth2. I’d be happy to see support for a further mechanism, like allowing authentication via client certificates, which would also allow to uniquely identify the device sending specific requests.
Currently, you’d need to fully establish a Mobile Device Management solution to achieve this, which is not required in every case. Adding more features in the security area would give users more flexibility.
For how long have I used the solution?
One to three years.
What do I think about the stability of the solution?
We did not encounter any issues with stability.
What do I think about the scalability of the solution?
We did not encounter any issues with scalability.
How is customer service and technical support?
Technical support is good and there's also lots of material available. There are many blogs, YouTube channels, and documentation available.
Which solutions did we use previously?
We did not use a different solution before.
How was the initial setup?
There's nearly no setup since it is a Platform as a Service offering. The creation of the cloud instance and the provisioning of the MCS service are the only things to do. It is a really straightforward procedure.
What about the implementation team?
Since I work for a consulting company, we implement solutions based on Oracle MCS for our customers to depict their use cases.
What's my experience with pricing, setup cost, and licensing?
An eye should be kept on the number of planned interactions, where an interaction is a call to an exposed API or Push Notification sent to a Mobile device. The number of interactions might be a significant cost driver. A good application, as well as API Design, is very important.
Which other solutions did I evaluate?
We did not evaluate other options.
What other advice do I have?
MCS should be used for the corresponding use cases and for implementing Single Purpose APIs, a.k.a., Backend For Frontend to be used with Mobile apps. The platform should not be seen as an API Management solution. For implementing a consistent API Management approach, Oracle API Platform Cloud Service should be used.
Disclosure: My company has a business relationship with this vendor other than being a customer: My company is an Oracle Platinum Partner.
Dec 31 2017