One of the more frequent conversations I have when working with clients is how they can leverage SAP HANA as a development/application platform. So I've put together this post to address some of the more frequent questions I am being asked on areas ranging from skill-sets through to the type of applications we can build.
SAP HANA is a database – why are you calling it a development platform?
SAP HANA is indeed, at its most basic level, a database but it is also much more than that. Built within HANA is an application platform that is tightly integrated with the core database. This means that you can bring your applications closer to the data they are running on top of removing complexities like network transfer and dedicated external app servers.
SAP HANA has been created with developers in mind and comes with a wide range of tools that are designed to facilitate innovation and development on top of your data. This has the added advantage of removing the knucklehead stuff that can sometimes hold up projects and innovation.
Is SAP HANA only a development platform in the cloud or is it available On-Premise as well?
HANA’s development is as good in the cloud as it is On-Premise so regardless of which deployment option you go for you will be able to take advantage of SAP HANA’s development tools and application platform. In face in scenarios where you are using HANA in the cloud you can innovate on your cloud-based data as well as your On-Premise data through the cloud connectors.
What kind of apps can be developed on SAP HANA?
Not to sound too cliché here but the possibilities are endless. One you have your data available you can expose it and consume it in apps within minutes. For example you can easily create OpenUI5 apps with relative ease (minutes) on top of your data using WYSIWYG (what you see is what you get) editors. OpenUI5 in this case forms the basis for SAP’s Fiori application set – the new standard consumer-grade user interface that SAP is investing heavily in.
This means that you can develop applications that read and report data right through to applications that mimic excel front-ends and allow for complex calculations and mass data input. Your only limit is your development team’s imagination.
We use technology X a lot to deliver internal apps – can we reuse this with SAP HANA?
The great thing about SAP’s focus on developers is their move towards open industry standards so rather than seeing proprietary data exposure or consumption methods we are seeing the use of world-wide standards like HTML and oData which means that HANA will easily integrate into any existing infrastructure. This also means that if your company favours a specific technology or application development strategy then that will definitely work with SAP HANA.
What skillsets do we need to develop on HANA?
There are two sides to this coin the data development and shaping and then the app development.
1) Data development
For any database development or data development a foundation of SQL is always useful. SAP HANA is ANSI SQL compliant so having knowledge of SQL will mean that you can immediately speak HANA’s language. Beyond that there are useful HANA specific areas that can and should be used such as SQL Script along with some database views that take advantage of some of HANA’s specific in-memory benefits.
2) App development
For app development the answer is easy – pick your favourite language / development method and that is pretty much all you need. Some experience in oData along with exposing the data from HANA is required but that is very minimal as they are pretty well documented topics.
How do we get our development teams started?
Getting your teams started is easy, even if you only in the process of getting SAP HANA in place. SAP provides free developer accounts on their HANA cloud platform for developers. Now the instances are tiny (up to 1GB of data) but they provide ample space and facilities to get your teams started and to give them a chance to experience what development on HANA feels like.
It also comes with tools like SAP HANA’s WebIDE to create quick and easy user interfaces and SAP’s mobility platform to create mobile applications on HANA. So in answer to the question – point your teams at HCP (HANA Cloud Platform) and let them play!
I’ve heard that HANA can bring huge business benefit through speed and on-the-fly business calculations – can we use this within our apps?
SAP HANA is an in-memory database that can bring huge benefit through the real-time analysis of large quantities of data along with a huge number of capabilities like predictive analytics, geospatial and steam analysis to name only three. Naturally as you can develop applications right down in the database on top of the data then you can take advantage of that power and it is with that power you can create amazing applications that would previously have been thought too complicated or not possible.
Over to you
So whilst these are some of the more questions I've come across, I'm sure I haven't answered everything. So over to you now. If there is something I have missed please feel free to let me know and I will update the post and answer any follow up questions. In the meantime – have fun!