Innovations in cloud, mobile, and in-memory computing have opened up new ways of doing business. Instead of deploying time-consuming on-premise solutions, you can accelerate go-live with cloud-based implementations. Rather than running large batch jobs, you can analyze big data in real time. In addition to offering up new opportunities, these innovations have also multiplied the number of tools available to developers, who are now awash in technology choices for building applications.
To help bring some order to the chaos, SAP has introduced end-to-end developer scenarios — guided tutorials that demonstrate how to implement new technologies such as SAP HANA, SAP HANA Cloud Platform, SAP Mobile Platform, the UI development toolkit for HTML5 (known as SAPUI5), and the SAP NetWeaver Gateway tools for Eclipse. Available with SAP NetWeaver 7.4, these scenarios help developers understand the technologies that are available for application development, and how, when, and in what combinations to use them to quickly build easy-to-implement solutions that meet business goals without disrupting core processes.
Each end-to-end scenario includes step-by-step documentation, ready-to-run source code, a demo data model, and a cloud-based back-end demo system, and is based on a use case that is typical for SAP customers. One use case that is covered by the tutorials, and is the scenario on which this article focuses, is the development of a web application that runs in the cloud and accesses data on a back-end system — a critical-path requirement among many customers seeking to bridge the on-demand and on-premise worlds. Before you can start developing an application like this using one of the tutorials, however, you need to enable your development environment to support the SAP tools required for a cloud-based development scenario.
Note: The end-to-end scenario tutorials can be downloaded from the Cross-Technology Developer Center at SAP Community Network (http://scn.sap.com/community/developer-center/cross-technology).
Preparing for Cloud-Based Development with Eclipse
Implementing the end-to-end development scenario for a web application for the cloud with back-end connectivity requires some specific preparation of your environment to support the required tools. The tasks include installing the Eclipse development environment and Eclipse-based SAP development tools, choosing an appropriate runtime to support the application, and establishing user accounts to enable access to SAP HANA Cloud Platform.
Some developers might be surprised to discover that the first 25 pages of the tutorial documentation deal with tools installation and the creation of user accounts. Usually SAP delivers tools along with a product (such as the development tools included with the ABAP Workbench) or in a single installation (such as SAP NetWeaver Developer Studio). Many of SAP’s newest development and administration tools, however, are based on the open-source Eclipse platform, which meets an array of development needs by supporting a wide range of plug-in tools that can work together by maintaining compatibility with the current Eclipse release (see the “Keeping Pace with the Latest in Eclipse” sidebar). By offering tools as independent plug-ins that serve a particular purpose, such as user interface development or ABAP development, SAP enables its customers to pick and choose the ones that meet their particular needs, saving significant maintenance and deployment time compared to a full-blown installation or product delivery.
Installing Eclipse and the Eclipse-Based Development Tools
The first step toward a smooth execution of any of the end-to-end scenarios is the successful installation of the Eclipse development environment and the Eclipse-based SAP development tool plug-ins.
The Eclipse development environment, the latest of which (as of this writing) is Eclipse Juno, can be downloaded from www.eclipse.org/juno. Once Eclipse is installed locally, you can install the SAP plug-ins via the SAP central update site (https://tools.hana.ondemand.com). You simply enter the URL specific to the Eclipse release (for example, https://tools.hana.ondemand.com/juno) and select the tools to download (see Figure 1, below). The SAP HANA studio itself is currently not an Eclipse plug-in, but a full installation based on Eclipse. It is available on SAP Service Marketplace at http://service.sap.com/swdc.
Eclipse, however, is only a design-time tool, similar to SAP NetWeaver Developer Studio. To do any kind of development work in Eclipse using SAP technologies such as SAPUI5 or the SAP NetWeaver Gateway tools, you need a platform or environment where your code can run.
Selecting a Runtime
The runtime best suited for your code depends on the technologies you are using to develop your application.
To develop SAP applications with SAP HANA Cloud Platform, you need an SAP HANA Cloud Platform developer account, which allows you to deploy and run applications on SAP HANA Cloud Platform as a common runtime environment that runs alongside an on-premise environment such as SAP NetWeaver AS ABAP.
Creating SCN and Cloud Developer Accounts
SAP offers a simple way to create an SAP HANA Cloud Platform developer account. A developer account is coupled to a user’s SAP Community Network (SCN) account. So once you are registered as a user at SCN (http://scn.sap.com), you then use your SCN user account to log on to SAP HANA Cloud Platform (https://account.hanatrial.ondemand.com), where a trial SAP HANA Cloud Platform developer account is generated automatically.2 This tight coupling of the accounts not only simplifies the registration process, it provides quick and easy access to a wealth of information for developers and others who are interested in SAP technologies. In addition to hosting the end-to-end developer scenarios, SCN’s newly established developer space at http://scn.sap.com/community/developer-center (see Figure 2) offers blogs, documentation, and discussions that enable you to dig deeply into SAP technologies and gain a practical understanding of how to use them. With the integrated accounts, you can easily share your insights and code with other community members. Onboarding of new cloud-based applications is also simplified because every SCN user is already on board.
Once you log on to SAP HANA Cloud Platform, you can navigate to your SAP HANA Cloud Platform cockpit, which is the tool you use to deploy and run your applications in the cloud.
Using the SAP HANA Cloud Platform Cockpit
The SAP HANA Cloud Platform cockpit is an administration tool for managing your SAP HANA Cloud Platform accounts and applications that you have developed for the cloud.
The cockpit lists all the applications you have deployed and tracks their status. You can administer your applications (for example, start, stop, or remove them), and you can access the application logs and application process dashboard for information on the memory and space usage of your applications (see Figure 3). Each application that you have developed using the end-to-end scenario tutorials and published to your SAP HANA Cloud Platform developer account will be listed in the application space of the SAP HANA Cloud Platform cockpit.
Through the cockpit, you can access additional SAP HANA Cloud Platform services (see Figure 4). You can access the cloud version of SAP Mobile Platform, enterprise edition, for getting mobile applications up and running quickly, as well as Gateway as a Service (GaaS) for accessing back-end data via the standardized OData protocol. The end-to-end development scenarios document the use of both of these services. The cockpit also provides access to SAP HANA Cloud Portal, which is a cloud-based solution for quickly and easily building cloud-based sites for mobile consumption. However, while SAP HANA Cloud Portal is useful for content creation and collaboration, it is not well suited for classical business programming, and is not a part of the end-to-end development scenarios.3
Now that you understand the key components of the new Eclipse-based SAP development environment and the features specific to developing for SAP HANA Cloud Platform, let’s take a closer look at one of the end-to-end scenarios for developing a web application for the cloud that connects to a back-end system.
End-to-End Cloud-Based Development with Back-End Connectivity
SAP provides a few variations on how to develop a web application for the cloud with back-end connectivity, including one for a basic read-only web application, one that enables read/write persistence for the web application, and one that enables read/write persistence for a mobile-optimized web application. Here, we will look at how to build a basic read-only web application that runs on SAP HANA Cloud Platform, uses SAP NetWeaver Gateway to retrieve product data from a back-end system via an OData service, and displays that data in list form in an SAPUI5 user interface (see Figure 5). This scenario, known as the Enterprise Sales and Procurement Model (ESPM) Gateway Consumption scenario, walks you through the required steps using a demo model (see the sidebar “The Demo Model Behind the Scenarios”).4
This basic development scenario is the easiest to implement of the end-to-end scenarios for the cloud — you can create and run it purely by modeling and without having to write a single line of code — and is a good place to start if you are new to Eclipse development for SAP applications. It provides a useful introduction to the Eclipse-based SAP development environment, as well as new SAP technologies such as the SAP NetWeaver Gateway productivity accelerator tool and SAPUI5. While the full details of the tutorial steps are beyond this article’s scope, it does provide an overview of the tasks involved to give you a feel for the guidance the tutorials provide and how the scenarios set you up for success with your own implementations.
This scenario uses the following SAP technologies:
The SAP NetWeaver Gateway productivity accelerator tool is used to generate an SAPUI5 web application that consumes an OData service in an SAP NetWeaver Gateway landscape. The tool must be added separately as an Eclipse plug-in.
SAPUI5 (UI toolkit for HTML5) is used to create a user interface for the web application. The toolkit must be added separately as an Eclipse plug-in.
SAP NetWeaver Gateway provides access to existing back ends. It is included in SAP NetWeaver 7.4, it can be a separate system
running in the customer landscape, or it can be purchased separately.
The ABAP platform runs underneath SAP Business Suite and acts as the on-premise back end. It is a part of SAP NetWeaver 7.4 or any customer back-end system.
SAP HANA Cloud Platform serves as a platform for running the web application. A license must be purchased separately; trial accounts are also available.
Step 1: Install and Configure the Development Environment
Install and configure the required tools, development environments, runtimes, and user accounts. For this particular scenario, these include the Java Development Kit (JDK) 7,5 the SCN user account,6 the SAP HANA Cloud Platform developer account,7 and the Eclipse IDE for Java development,8 as well as tools available at https://tools.hana.ondemand.com, which include the Eclipse plug-in tools for SAP HANA Cloud Platform development, the SAP NetWeaver Gateway productivity accelerator tool for OData modeling, the UI development toolkit for HTML5, and the SDK for setting up the SAP HANA Cloud runtime environment.
Step 2: Connect the Eclipse Environment to the Back-End System
Using the SAP NetWeaver Gateway productivity accelerator tool, configure the connection between the Eclipse environment and a back-end SAP NetWeaver Gateway host system. The example scenario uses a cloud-hosted demo SAP NetWeaver AS ABAP 7.4 SP2 system as the back end.
Step 3: Select the OData Service to Expose the Back-End Data
Search the back-end host system, using the productivity accelerator tool, for an OData service that will expose the data stored in the back-end system to the web application. This particular example scenario uses a demo service called EPM_DEVELOPER_SCENARIO_SRV that exposes product details. This service is publicly available on the cloud-hosted back-end demo system, and is also delivered with SAP NetWeaver 7.4.
Step 4: Create the SAPUI5 Web Application
Create an SAPUI5 web application that accesses the data in the back-end system by consuming the selected OData service via SAP NetWeaver Gateway. You can do this quickly and easily in the SAP NetWeaver Gateway productivity accelerator tool by opening the wizard for creating an application and following the steps (see Figure 6). The productivity accelerator tool includes a ready-made template for creating an SAPUI5 application, where you can select the specific data fields — such as product category and description — exposed by the OData service to display in the application.
Step 5: Test and Deploy the Application in the Cloud
Test the newly created application in your local runtime environment by creating a local SAP HANA Cloud runtime and then running the application on the local SAP HANA Cloud server. Once the application runs successfully in the local runtime, publish the application to SAP HANA Cloud Platform and then run it in the cloud by opening it in the SAP HANA Cloud Platform cockpit. The tutorial provides the Java code you need to create the proxy servlet that enables the application to run in the cloud.
Tips and Tricks for Cloud-Based Development with Eclipse
While the end-to-end scenarios provide detailed, step-by-step instructions to guide you through the use and implementation of the technologies that enable each use case, there are some pitfalls that can befall developers who are less familiar with Eclipse as a development environment. By knowing where to look for these potential trouble spots, you can easily avoid them and save yourself from some headaches.
When setting up the Eclipse development environment for the execution of the SAP NetWeaver end-to-end scenarios, make sure that you use the Eclipse IDE for Java EE Developers (Juno, 64 bit). This is the version that contains all the Java EE tools; the standard Eclipse platform contains only pure Java.
To execute the end-to-end scenarios, it is not sufficient to simply download and install the JDK 7 Standard Edition (SE) as the Java
Runtime Environment (JRE). In addition to installing the JDK 7 SE, you must download the SAP HANA Cloud SDK and set SAP HANA Cloud Platform as the runtime environment to enable the application to run in the cloud.
Pay attention to the configuration of your proxy settings after the Eclipse installation to ensure that downloads from SAP’s tool site will work correctly. If you are working in a network that uses a proxy, maintain the proxy host, the proxy port, and the suffix for URLs to bypass the proxy. For example:
– host: proxy
– port: 8080
– bypass proxy: *corp
For some of the end-to-end scenarios (such as developing a cloud-based mobile web application with back-end connectivity and read/write persistence), you will need the IP address of your proxy to run the scenario in an Android emulator. In the Windows environment, you can get it by executing the command “ping proxy” in your command shell. In the Linux environment, you can do it by calling “/etc/ping proxy.
What may seem like a mere trifle can be what determines the success or failure of your implementation. By paying close attention to the details, you will save yourself from the frustration of searching for the root cause of strange errors.
Note: This cloud-based development scenario requires SAP HANA and SAP NetWeaver AS 7.0x for back-end connectivity from the cloud application.
With the introduction of end-to-end developer scenarios, SAP is taking developers by the hand and leading them through the technology jungle to help them arrive at the right combination of solutions for their development goals. The tutorials provide everything you need to get started using innovations such as cloud, mobile, and in-memory computing to quickly and easily create state-of-the-art SAP applications that meet your most pressing business needs.
For many companies, bridging the gap between the on-demand and on-premise worlds is mission-critical. With an understanding of the new Eclipse-based development environment, and how to develop SAP applications that can run in the cloud while leveraging back-end data, you can start benefiting from the evolution of technology in your own organization without disruption to your business.