SAP HANA Cloud Platform
In the first of a series of articles, Matthias Steiner walks us through the basics of SAP HANA Cloud Platform.
Developing great software has never been simple, and first-class consumer applications flourishing in the mobile space have raised the standards that users expect from modern applications nowadays across the board. This growing demand for consumer-grade applications also affects the enterprise segment, resulting in a shift away from overloaded back-office software targeting power users to new solutions that are easy to use and available on demand.
So, how do you develop applications that meet these requirements in a cost-effective and timely manner, with the flexibility required to adapt to ever-changing business needs? Many believe that cloud development platforms are best suited to address this problem space.
SAP HANA Cloud Platform is one such a Platform as a Service (PaaS) offering from SAP. It’s an open standard and open-source based platform, which provides developers with a complete development and runtime environment to build, deploy and operate cloud applications. Following the open PaaS paradigm, SAP HANA Cloud Platform supports multiple runtime containers, allowing developers to use their preferred programming language and libraries.
To accommodate to the broad adoption of Java, the platform provides a certified Java EE6 Web Profile runtime based upon the Apache Tomcat server embedded into an OSGi container (Eclipse Equinox). SAP offers a dedicated plugin for the widespread Eclipse development environment, which seamlessly integrates with the Web Tools Platform. Consequently, Java web developers should instantly feel at home.
This dramatically lowers the entry barrier and results in a reduced total cost of development as developers can leverage their existing expertise and are productive right away. It also simplifies the onboarding process as new developers can be trained based on the broad set of resources available for free on the web.
SAP HANA Cloud platform provides a vast set of platform services for the most common and recurring development patterns like database operations, connecting to other systems (on-premise or cloud), identity management, document management and so on. Some of these services are explained in more detail below.
Usability is a central aspect in the context of user acceptance, and it starts with authentication. No one wants to remember dozens of usernames and passwords to log on to individual cloud applications, hence it’s important to make the authentication process as seamless as possible. To address this particular challenge SAP HANA Cloud Platform provides an identity service, which delegates the authentication to a central identity provider within the corporate landscape. This approach enables the setup of “Single Sign-On” (SSO) systems based on the SAML2 standard, based upon a single user repository for both classic on-premise applications as well as cloud solutions. The identity management service will soon also support the OAuth2 protocol, which has become quite popular among consumer applications such as Facebook or Twitter.
Staying true to the platform, character developers do not need to worry about setting up or managing their database. Instead an account-specific database instance is automatically provisioned by the platform through the so-called persistence service. All a Java developer would need to do is to include a reference within the web.xml configuration file of their web application and during the start-up the corresponding DataSource becomes accessible via JNDI. From here, the developers have the choice of using plain JDBC directly or building on higher abstraction layers such as JPA (based on EclipseLink) or any kind of persistence frameworks (e.g. Hibernate.) For the moment, the platform support relational databases as well as SAP’s new in-memory database called SAP HANA.
SAP HANA is SAP’s answer to the challenges associated with Big Data: it supports both traditional row-store access as well as column-store tables optimized for analytical scenarios, eliminating the line between OLTP and OLAP. Simply put, the data is kept in main memory and the whole architecture has been developed from the ground up and optimized for parallelization and scalability. Yet, SAP HANA is more than a just a database, it’s a whole platform and offers additional functionality such as natural language processing, an integrated rules engine and a whole set of libraries of embedded business, statistical, and predictive algorithms even geo-spatial capabilities.
While there’s no use in denying the momentum of cloud computing it’s safe to say that the future will most probably comprise of hybrid system landscapes with both on-premise systems and cloud solutions running next to each other. As such, it is vital for the success of any cloud development platform to provide a mechanism that supports cross-communication in a secure and reliable way.
For this purpose the SAP HANA Cloud Platform provides a dedicated connectivity service that establishes a bi-directional tunnel between an on-premise system and the cloud. All that is required to setup such a communication channel is to install a lightweight component in the on-premise landscape (the so called Cloud Connector), which will then be able to establish an SSL-encrypted tunnel to the cloud.
To simplify the management of unstructured data (e.g. documents) the platform provides a document service based on the common Content Management Interoperability Services (CMIS) protocol (as used by Microsoft SharePoint, Alfresco and others.) The implementation is based on the Apache Chemistry project, which provides developers with a native Java API in addition to the web service access (SOAP, REST) capabilities to interact with the content management system.
More services & capabilities
These are just a few prominent examples of the platform services provided by the SAP HANA Cloud Platform related to application development. To complement these services the platform also provides a set of services supporting the entire life-cycle management and operation aspects such as monitoring, metering and billing.
On top of that, SAP HANA Cloud Platform is also the foundation for higher-level services providing advanced features for particular development scenarios such as portal capabilities (via the SAP HANA Cloud Portal) and support for mobile development (via the SAP Mobile Platform, Cloud version.) Furthermore there is SAP HANA Cloud Integration, which offers middleware functionality (as known from traditional Enterprise Service Bus solutions) and data services to move data from on-premise systems to the cloud and vice versa. In the area of business intelligence and analytics SAP is offering SAP Lumira Cloud, which is a simple-to-use data exploration and visualization tool.
The way we see it at SAP being an open platform takes more than just having a platform that embraces open standards and open-source – it’s a way of mind. It also implies being open and approachable, and demonstrates our willingness to pursue an ongoing dialogue with our developer community.
The best place to get in touch with the cloud platform team and our vibrant developer community is our cloud developer center. Here, you’ll find blog posts and resources, learn about new features (we are updating our platform on a bi-weekly schedule) and get the latest news about our regular developer events.
From experience we know though that developers are not prone to marketing and usually like to try out things by themselves. As such, we offer developers with a free, perpetual developer account on our trial landscape. If you’re interested in giving it a try, please register for an account, which takes no more than 5 minutes and given our publiconline help, you should be up and running in no time.