SAP Mobile Services is a cloud-based offering that is complemented by various development tools such as the native SDKs for iOS, Android, the mobile development kit or SAP Mobile Cards.
The overall objective is to deliver reusable services, which can be leveraged in mobile app development projects, to ensure that app developers can concentrate on delivering their business requirements rather than repeatedly building infrastructure features for every mobile project.
Using SAP Business Technology Platform can be a robust foundation to base an enterprise-wide mobile strategy on, reducing time-to-market for both in-house and consumer-facing mobile solutions.
With a mobile strategy in place, development teams can rely on best practices and significantly increase their productivity, resulting in robust and secure apps and reduced delivery times.
Maintenance of such solutions is streamlined using features that make troubleshooting easier.
The overall picture of the solution could look something like this:
Mobile application development is a challenging task as these projects place a high demand on user experience, fast delivery cycles, and device platform diversity. At the same time, projects often suffer from a lack of expertise and missing skills in the team.
Considerations such as the time-to-market, and requirements such as push notifications and support for offline data access, are common complexity drivers for mobile apps. As businesses demand greater presence in not only the traditional desktop environment but also mobile environments, the maintenance of code and applications becomes a real factor in the cost of operations.
To manage all these expectations and requirements it is important to execute mobile app development projects on a common foundation. This includes setting up a governance process for the app development teams in the first place. Such a process or strategy should contain a guide to answer questions like:
- What is the security pattern we need to implement for each app?
- Which technology should I choose for which mobile app use case?
- When and for which apps do I need to implement mobile specific features like offline and push?
- What is the default solution architecture for the mobile apps?
- What is the process for deviating from the default solution architecture?
- Do you allow Bring Your Own Device (BYOD) scenarios?
- Which device OS should I support? Android, iOS, or both?
- What are the security processes I need to adhere to and how do I comply to them?
This is not a complete list, but rather a good indication of the thought processes leading to the formulation of a mobile strategy.
SAP Mobile Services has such a strategy, and is also beneficial for executing the strategy by providing reuse services, compliance features, optimal development options for each use case, and more.
Here's another view on SAP Mobile Services:
The boxes at the bottom depict the various reuse components that help to free application developers from tedious tasks when implementing strategy-compliant features. The top of the diagram shows the development options that can be chosen from to implement a business case in the most optimal way. These development options consume the features and functions that are provided by SAP Mobile Services in a standardized manner. Using this concept, mobile app developers can concentrate on their important tasks and are freed from tedious, repetitive tasks, such as implementing authentication.
The benefits of centralized mobile app management become increasingly apparent the more apps you manage with SAP Mobile Services.
We have discussed the development options and the server benefits on a high level, but SAP Mobile Services also provides various tools to support the app development life cycle. SAP Web IDE contains an extension - "mobile services App Development Tools" - which provides mobile back-end tools support, editors, and project templates for the mobile development kit, project templates and editors for SAP Mobile Cards as well as the mobile transaction bridge tooling. In addition, many of these tools are also available for Visual Studio Code for development on a local machine. The SAP SDK for iOS and the SAP SDK for Android also contain local tools for improving developer productivity, in addition to the core libraries.
This documentation describes all of these features and functions and how to use them properly.