Part 2: Freedom of program language development
part of blogseries
Why cloud business applications will change your custom build application development
In the first blog of this blog series, I explained why cloud vendors want you and your organisations to think about custom build applications development on a cloud platform. Once migrated to the cloud, organisations should become more agile, can adopt innovations faster, can control project cost by starting small and scale up fast. They will have more freedom to implement own practice to support their digital transformation.
Within organisations, often this own practice is implemented with custom build application. And the development is organised around applications or development skills. But for cloud development these should be changed.
Traditional on-premise business applications run most of the time on a specific runtime. Their UI logic and business logic are tightly coupled and written in the same code line. This is one of the main reasons why extensions, if allowed, must be written in an application specific language which strongly depends on the business application. Sometimes business applications deliver native programming libraries. In this case custom code can be written in the native supported program language like java, c/c++ or .net which are strong depending on the underlaying operating system. This is the main reason that organisation organise their custom build application development around an application or program language skills.
Business applications, with a cloud mindset, will have another approach. They separate the UI logic from business logic. This makes it easy to add new devices and add innovative technologies to the UI without changing the underlaying business logic. And the code line of the business logic is hidden behind APIs. These APIs act like black box features which are accessible via open web standards and can be used by almost every program language.
This approach will add a lot of values for both, the cloud vendor and their customers. The cloud vendor doesn’t need to deliver the code behind the APIs to a customer. This means that they can deliver improvements and innovations much faster to their customer. They don’t have to support ‘classic’ technology which they already replaced with new code or statements, and they know which version of the application their customers run. The only restriction for cloud vendors will be that they provide a subset of their APIs as whitelisted APIs for custom build applications. These APIs should be well documented, secure and for long time stable and available.
Whitelisted business applications API’s based on open web standards is also very good news for custom build development because almost every programming language can access them. This is a big advantage. Custom build applications and extensions on top of your business applications can now build with the best fitting program languages supported by the most valuable libraries. Or make use of your current available development resources and tools.
Cloud Platform Programming Languages
To facilitate this capability of different languages, most cloud platforms support several runtimes by default. Developers can build their programs in languages, like html5, java, Nodejs, perl, .net and in case of SAP ABAP, UI5 and HanaDB SQLScript. Some platforms support even multi target applications, like Cloud Foundry support, where it is possible to build package application with multiple languages which can be deployed and executed as it was one standalone application. Others will support containers, like Kubernetes and Docker, where they can deploy their own runtime. By adding additional services and tools for example for authentication and authorisation management, life cycle management, testing and execution management and connectivity and API management, these cloud platforms become the ideal platform for custom build development.
The freedom of program language development will be one of the key drivers for digital transformations but will also have impact in how companies should organise their custom build development. As mentioned before, business logic becomes black box APIs. And cloud vendors and their customers can build their own UI’s, processes and automations on top of it, supported by a cloud platform. As a result, development departments can become agile and can adopt requirements and innovations much cheaper and faster.
But freedom of program language development also means that in a couple of years, organisation should support all different programming languages within their organisation, too. Organisation should not organise their custom build application development around an application or program language skills anymore but should mix them around user interface and device development on one side and API business logic, data storage and cloud services development on the other side.
Reorganisation of the development organisation also means company development guidelines need to be updated. These guidelines can help you to make the right decisions for the needed language based on development time, available resources, standardise tools, security management, libraries and API’s.
By choosing for development on a cloud platforms, like SAP Cloud Platform organisations in combination with the other key drivers forces traditional development departments to reorganise their organisation for custom build application development.
The original blogpost of the blog series can be found here.