This is an article in a series of blog posts, where I provide more details on the portfolio of DevOps cloud services around SAP Cloud Platform.
In this blog post, I will give further insights on the offerings for the Develop & Test phase of SAP’s DevOps portfolio – for an overview of the overall offering and all categories, please see this blog post.
In the Develop & Test phase, your development teams come up with increments in the form of development content (that is, code) and application & configuration content (such as destinations, roles and permissions, SAP Cloud Platform Integration iFlow packages or other app-specific content). As part of the phase, it has to be assured that the content is of high quality – for example, verified by transparent results of automated tests.
For development and testing, SAP Cloud Platform offers several approaches and tools (described below) that shall help to come up with meaningful results quickly, where you can focus more on business requirements than on technical aspects.
Multitarget Application (MTA) Approach
For handling interdependencies of the software modules and artefacts that your app comprises of, consider to follow the Multitarget Application (MTA) approach that allows to bundle all artefacts of your app into one archive together with a machine-readable description of the contents and its interdependencies.
This allows SAP Cloud Platform deployment infrastructure to perform an automated deployment of the artefacts comprising your app to the right runtimes and in the right order – which makes an MTA archive an ideal hand-over artifact from development to operation.
Although it is optional, using the MTA approach will help you reduce your efforts for deployment and interdependency handling – also, the MTA approach is the basis for many delivery options outlined in the description of upcoming phases and is therefore integrated in many DevOps tools and processes, such as in SAP Web IDE (described next), which also eases the overall handling of your app.
As development environment, consider SAP Web IDE, which is a powerful, extensible, web-based tool that simplifies both the development of end-to-end SAP Fiori apps and the full-stack (UI, business logic and database) application lifecycle. You can use the IDE to develop, debug, build, test, extend and deploy role-based, consumer-grade apps. SAP Web IDE shows a high integration with other best practices and services – for example, it is part of the approach recommended by the SAP Cloud Application Programming model described next.
For development on Cloud Foundry, consider the upcoming SAP Business Application Studio, planned as evolution of the current SAP Web IDE for full-stack and cloud application development.
Alternatively, you could use a local development environment, such as Eclipse, for which tools/plugins are offered for SAP Cloud Platform development.
SAP Cloud Application Programming Model
The SAP Cloud Application Programming Model guides developers along a golden path of best practices and tool recommendations, allowing developers to focus on their domain expertise, while relieving them from tedious technical tasks.
It offers a consistent end-to-end programming model that includes languages, libraries and APIs tailored for full-stack development on SAP Cloud Platform. For example, when you define your data model using Core Data and Services (CDS), the framework can take care of an automatic deployment to SAP HANA.
Continuous Integration (CI)
A corner stone for development and test and increased agility and quality in a DevOps environment is Continuous Integration (CI), the practice of integrating frequently into a common source code repository and then validating and testing implemented changes automatically – by using a CI pipeline. Such a pipeline triggers involved tools and infrastructures – such as to initiate builds, trigger automated tests running on open source or third-party tools and deployments – and provides transparency on the outcome of pipeline runs.
To adopt CI around development projects on SAP Cloud Platform easily, there are several offerings:
- In addition to detailed best practices for applying CI for a project on SAP Cloud Platform, Project “Piper” provides pre-configured pipelines and templates that you can use for example in your own Jenkins infrastructure and adapt according to your needs (for which a corresponding step library and a set of containerized tool images are offered).
Result of the Develop & Test phase would be a release candidate of your (new or updated) SAP Cloud Platform app (in form of a fully-qualified archive).
To propagate this release candidate towards your production environment (so that your end users can start adopting it), continue with Deliver & Change, the next phase in your DevOps adoption journey with SAP Cloud Platform.