SAP Mobile Platform and Apache Cordova
In a post I wrote last year (http://scn.sap.com/community/mobile/blog/2012/07/05/sup-phonegap) I told you about how SAP had integrated Adobe PhoneGap with the Sybase Unwired Platform Hybrid Web Container (HWC). Our HWC is a proprietary container we created to provide our customers with a hybrid container like PhoneGap, only…better for enterprises. At the time we created it (many years ago), the PhoneGap project wasn’t far enough along and we felt that we needed to take the approach we did to ensure we could deliver the capabilities we promised.
With last year’s announcements, we simply made it so that our customers could continue to use the HWC to run their HWC apps, but we also gave them the ability to execute their existing (or new) PhoneGap applications in our container as well. If you’d made an investment in the HWC, it was protected and if you were using PhoneGap for your development efforts, then that investment was protected as well.
Best of both worlds, right?
Over time, as PhoneGap became the open source Cordova project (PhoneGap remains as Adobe’s implementation of Cordova with some extra stuff added), the different mobile platform components of Cordova solidified into a more solid mass. Instead of inconsistent APIs across different mobile device platforms, there was a common API. Instead of separate Ant-based tools for creating and testing Cordova applications for each mobile device platform, there’s a new node-based Command Line Interface (CLI) that gives developers one tool to manage a single project that works across multiple mobile device platforms.
One of the big issues in the distant past for Cordova was that if you wanted to use some native function in a Cordova application that wasn’t exposed through the core APIs, you were out of luck. Developers started building plugins for Cordova that added external functionality to the Cordova container, and the project team quickly solidified a plugin specification that made it easier for more plugins to be developed and for them to play nice with each other (and with the PhoneGap Build service). They’ve even taken it so far that in Cordova 3.0, the project team stripped out all of the core Cordova APIs and migrating them to plugins. As of Cordova 3.0, the Cordova container is nothing but a container and all of the additional functionality an application can use is exposed through plugins.
On top of all of that, the PhoneGap Build service gives PhoneGap (and Cordova) developers the ability to package and upload up a web application and get 6 mobile device applications (Android, BlackBerry, iOS, Symbian, webOS & Windows) back from the service.
The Cordova framework is robust enough, reliable enough and popular enough that it’s pretty much the standard for mobile hybrid application development. Our customers are telling us that they’re making the investment in Cordova, implementing some (or all) of their mobile applications using the framework. We’ve reached a point where it makes less sense for SAP to have its own proprietary hybrid container. In order to provide our customers with the enterprise grade tools they need to build their mobile applications, we are adding new capabilities to the SAP Mobile Platform (SMP) in the form of Kapsel, a set of SAP plugins for Cordova.
Kapsel, depending on which non-English language you’re looking at, means container, case, casing and/or capsule.
A Kapsel application is the Cordova container with one or more of the Kapsel plugins added. Kapsel is a suite of SAP developed plugins that make Cordova enterprise-grade and allows it to more seamlessly integrate with the SAP Mobile Platform Server. The Kapsel plugins will provide capabilities like application lifecycle management, implementation of a common logon manager and SSO, integration with SMP server-based push notifications & more. Coupled with the data access and administration capabilities of the SMP server, Kapsel provides customers and partners with the enterprise-grade hybrid development tools they need.
Kapsel will fit within a customer or partner’s existing Cordova development environment and processes. With the plugin management capabilities available with Cordova 3.0, managing the Kapsel plugins in a Cordova application will be a breeze. We may even bundle in tools that more tightly integrate Kapsel’s capabilities with the Cordova CLI to simplify application management, testing, deployment within the SMP server environment.
More details will be available as we get closer to releasing something; stay tuned for more information.