What is the cloud?
The term “cloud” is currently so commonly used that it is worth asking what it really means and how is it possible that it occurs nearly in every context. To start with, we will make a simple division of models of cloud services. Three main types can be identified: SaaS, PaaS and IaaS.
Software as a Service allows end users to use software – you simply purchase access to a given application functionality (a typical example is Office 365, and in the case of SAP solutions – a product family functioning under the name of Success Factors). Platform as a Service allows management of applications and creation of software. In other words, we get access to a site with technology and guaranteed technical conditions, such as memory, bandwidth, a number of accounts, etc. Infrastructure as a Service ensures access to hardware resources, such as adequately capacious drives, sufficient memory, etc.
Thanks to the cloud, access to services is accomplished online, and therefore it is possible to work from practically any location on Earth. The consequence of using this class of solutions is a decrease in costs of IT equipment, as well as lack of maintenance, software updates or backups. With time, if the business grows, it is easy to adjust services to changing expectations, e.g. increase the space on the server, purchase more computing possibilities, more advanced software etc. We obtain the possibility of quick reactions to changes occurring in an enterprise. Contracts for “as a service” solutions, normally concluded based on SLA, ensure a high level of availability of the solutions.
SAP HANA Cloud Platform
New solutions and tools by SAP introduced to the market indicate a clear direction of development for the coming years. SAP promotes applications written for Internet browsers, and therefore the most commonly used end user interface. Apart from ready solutions, such as SuccessFactors (in the area of human resources management) or SAP Cloud for Customers (for customer relationships management), SAP prepared a possibility to create applications embedded in the cloud. For this, HANA Cloud Platform is used.
Users have access to the application in the cloud through the Internet via https encrypted protocol. An application written in Java operates in the cloud on a virtual machine (JVM). Applications can be written in Java SE 6 and 7 and embedded on the Apache Tomcat 7 server. Thanks to the Java EE 6 Web Profile, it is possible to easily create network applications. The profile consists of a range of specifications, among others Java Servlet 3.0, JavaServer Pages (JSP) 2.2, Expression Language (EL) 2.2, Standard Tag Library for JavaServer Pages (JSTL) 1.2, JavaServer Faces (JSF) 2.0, Enterprise JavaBeans (EJB) 3.1 Lite, Java Transaction API (JTA) 1.1, Java Persistence API (JPA) 2.0, etc.
What is worth highlighting is that programming on the HANA Cloud Platform is not only limited to Java – a previously known mechanism UI5 can be used with OData services communicating with the target system (whether with the previous on-premise instance, or e.g. with SuccessFactors). Ultimately, development plans include the possibility to activate the PHP or Ruby applications, which will make HANA Cloud Platform a platform with the largest range of technologies possible to use.
The consequences seem obvious – it is easier to develop and maintain a company’s software within one family of technologies than maintain a dedicated team for each separately.
SAP HANA Cloud Account
A cloud account is inseparably related to the creation of applications and embedding them in the cloud. It allows – among others – embedding applications in the cloud. The account is managed through a dashboard, where it is possible to view logs, monitor functioning of a given application, e.g. its availability or resources used by the app. It is also possible to manage authorizations of users and configure accounts for the needs of e.g. connection with a database or integration with other programs. The term “account” is related to several fundamental notions. Resources define the amount of memory and disk space that can be used within a given account in the cloud for the needs of applications related to the account. Users, who will be able to authorize and access resources of applications in the cloud, are defined for each account. The created application embedded in the cloud must be assigned to a particular account.
Applications that impact the creation of new data, its analysis or processing, store data strictly related to the account, e.g. data stored in a database related to the application is also strictly related to the account on which the application functions. The last important aspect involves configuration, which is also related to the account. All settings and preferences that were determined for the account in the cloud are saved and they directly affect the application only within a given account in the cloud. The account in the cloud is related to the data center in the cloud (operates within the data center) and it is completely isolated.
Development environment and its configuration
The PaaS service (the case of interest to us, simply called HANA Cloud Platform) allows creation, expansion and management of applications in the cloud. Commencing work with SAP HANA Cloud Platform from the developer’s side requires the preparation of certain tools, which will allow applications to be created in a technology selected from available technologies, such as Java, SAP HANA XS, UI5 (HTML5).
If we wish to create Java applications on SAP HANA Cloud Platform, first we need to install Java software on the developer’s computer. Then, we create an account in the cloud to get access to the test account in the cloud.
Then, we install IDE recommended by SAP on the developer’s computer, which is Eclipse for Java EE Developers in e.g. Mars version (Luna is also supported). It is recommended to download Java EE 6 Web Profile SDK with exemplary applications, which at the beginning of the learning process will prevent us from preaching to the converted. After correctly installing another tool of SAP HCP Tools for Eclipse and re-activation of Eclipse, a SAP HANA Cloud Platform section will appear on the start screen. It allows the created applications to be embedded in the cloud thanks to defining connection with the SAP HANA Cloud Platform server.
It is also worth mentioning about Cloud Connector, which allows safe SLL connection of the created applications with the SAP on-premise systems to be established, creating a tunnel for data transmission, using the HTTPS protocol.
SAP HANA Cloud Platform – license costs
Simplicity and openness in the process of creating applications is important; but the issue of a license is also important, meaning costs of using the Cloud platform for customers. The costs of maintaining the entire equipment and program infrastructure in the company’s own server room are eliminated; however, it is obvious that these costs must be incurred by the supplier of the solution. The question is how it is reflected in the pricelist for the customer.
Regarding SAP HANA Cloud Platform, two simple licensing models apply: per user or per system. In each model, the level of advancement is important, so in the case of per user license, the Base Edition starts from 1 EUR, and the Enterprise Edition is only 10 EUR (both prices in the catalogue concern a user/month).
A new element in the pricelist is withdrawal for typical calculations per user characterizing Cloud solutions and approaching the estimate of graded platform parameters. For instance, the Base Edition for HANA (32 GB RAM, additional disk space 320 GB and bandwidth of 512 GB [only out, as in, meaning downloading data from source systems is unlimited]) costs 1,250 EUR/month in the catalogue. These parameters allow a rather broad range of application solutions to be developed.
Obviously, it is still insufficient or if desired values in strictly determined system parameters are lacking, also an “a la carte” model is available, in which basically any HCP instance with desired usage parameters can be applied.
Artur Górnik, Regional Presales Expert, SAP HANA Cloud Platform, SAP
First steps in embedding an application in the cloud
Embedding a test application in the cloud can be most easily commenced from loading the Hello World design which can be found in the downloaded Java EE 6 Web Profile SDK. There we will find several examples of programs containing the most frequently used functionalities. After importing the Hello-World design into Eclipse, the program can be edited, introducing changes in the HelloWorldServlet.java. file.
Java developers who currently know the Eclipse environment should be in their element. After introducing and saving changes, the compiled and updated version of the application should be published on the server in the cloud. The application may be easily debugged, switching perspective in Eclipse from Java EE to Debug and setting break-points in adequate locations.
In order to embed an application in the cloud it is necessary to configure connection with the cloud in Preferences > Server in the Eclipse menu, entering the name of the host, indicating the local SDK catalogue and entering the name of our account and user in the cloud. Then in Eclipse in the Servers tap select New > Server from the context area menu, and then select SAP HANA Cloud Platform. In the subsequent process window, enter the name under which the application will exist on the server, and then authorize yourself, entering your password to the account in the cloud.
Whether the application works on the server in the cloud can be verified entering the appropriate URL address in the web browser. You can also log into your account in the cloud through the dashboard and in the tab Java Applications check the application status. From here, you can also turn on or turn off applications, if needed.
Basically, that is it. Therefore, several configuration options to identify, awareness of the application life cycle and a developer of one of the technologies available on HCP can develop a full-fledged application on the HANA Cloud Platform.
Who wins and… who does not lose?
A little off topic, however, a rather important question appeared above: who can become a HCP developer? The answer is very easy: virtually anyone. It is a significant difference in comparison to previous on-premise systems that had to be installed first and usually configured in order to obtain an environment for potential programming development. In the Cloud solution, this requirement has been completely abolished.
Obviously, if we wish to obtain the source of data directly in a production system, it must exist, however, nothing stands in the way of creating applications with your own data models or prototypes ready to present to the business environment, presenting a complete user interface and a flow of activities performed in the applications. Continuing, IT departments can prepared themselves for the planned upgrades and implementations in advance, ensuring a smooth transfer of applications, which can now be created e.g. in UI5 so that it is possible to include them into the cloud in the future.
User in the center of attention
SAP HANA Cloud Platform and applications built based on the cloud, among others those based on UI5, will be conquering the SAP environment market soon. SAP admits openly that the new generation of applications aims at obtaining users appreciation through its transparency, intuitiveness and simplicity of use. Great attention is paid to User Experience (UX), which manifests itself in the fact that the developer creating an application focuses on the user, their needs, requirements, and positive perception. Therefore, users easily identify themselves with the tools they use.
Applications are supposed to focus on a particular action, in a different way than previously in on-premise systems, where frequently within one extended transaction a lot of people from various areas of the company executed their tasks, and the number of fields and options on the screen deterred users, resulting in the need for creating complicated instructions for the implementation of a simple business process.