GRC
HR
SCM
CRM
BI


Article

 

End-to-End Development Scenarios from SAP: Bridging the On-Demand and On-Premise Divide with SAP Tools for Eclipse

by Karl Kessler and Monika Kaiser | SAPinsider, Volume 14, Issue 4

October 1, 2013

New ways of doing business spurred by innovation has multiplied tools available to developers. 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.

 

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 devel­opers, 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.

Keeping Pace with the Latest in Eclipse

The SAP Release Train for Eclipse (SRTE) is a yearly delivery of Eclipse-based SAP tools that run on top of an Eclipse installation as plug-ins and work side by side with other Eclipse tools. The SRTE is SAP’s adaptation of the Eclipse release train, which is a coordinated, simultaneous release of Eclipse projects.* This approach ensures that all SAP tools included in the SRTE can be used with a particular Eclipse release, and that all of the tools in the train can be used in combination with one another.

The SAP tools included in the SRTE are compatible with the latest Eclipse releases. As of this writing, all SAP tools that are part of the SRTE are compatible with Eclipse Juno and Eclipse Indigo (the predecessor to Juno). With the release of Eclipse Kepler, the SRTE will support Eclipse Kepler and Eclipse Juno, and will mostly drop the support of Eclipse Indigo.

The SRTE currently contains:

  • ABAP development tools for Eclipse
  • SAP HANA Cloud Platform tools
  • SAP NetWeaver Gateway tools (including the SAP NetWeaver Gateway productivity accelerator tool)
  • SAPUI5 tools (the UI development toolkit for HTML5)

More tools are planned, such as SAP HANA Cloud Integration tools and SAP NetWeaver Business Warehouse (SAP NetWeaver BW) modeling tools.

*  See http://wiki.eclipse.org/Simultaneous_Release for more on the Eclipse release train.

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.

 

FIGURE 1: Adding the SAP tool plug-ins to a local Eclipse installation via the SAP central update site

Selecting a Runtime

The runtime best suited for your code depends on the technologies you are using to develop your application.

For example, if you are developing your application with ABAP and using SAPUI5 for the front-end user interface with OData services to retrieve data from the back end, your runtime would likely be an SAP NetWeaver Application Server (SAP NetWeaver AS) ABAP 7.4 system, which includes SAP NetWeaver Gateway as a platform component.1 For a simple SAPUI5 application that is pure JavaScript and HTML, you can run your application locally via a built-in Tomcat web server.

A use case that is a priority for many customers, and the one we’ll look at in this article, is the need to build a web application that can run on the cloud and access existing data on a back-end system. For some customers, an application also must be able to run both on a desktop and on mobile devices, and may require persistence capabilities to store new types of data. SAP HANA Cloud Platform is the ideal runtime for all of these cases. SAP HANA Cloud Platform enables you to perform local development and testing using technologies such as OData services, SAPUI5, application logic written in JavaScript, and SAP HANA Cloud services, and then publish and run your content in the cloud. If you require mobility and persistence, you can use the mobile services and Java persistence that are built into SAP HANA Cloud Platform, or you can securely access an existing SAP back-end system like SAP Business Suite and use SAP NetWeaver Gateway cloud services. SAP HANA Cloud Platform also enables you to use the cloud version of SAP Mobile Platform, so that you can take advantage of its identity management capabilities.

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. 

FIGURE 2: The developer center entry page on SCN

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.

 

FIGURE 3: The process dashboard in 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

FIGURE 4: Services in the SAP HANA Cloud Platform cockpit

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

FIGURE 5:  Overview of the ESPM Gateway Consumption scenario

The Demo Model Behind the Scenarios

The Enterprise Sales and Procurement Model (ESPM) is the demo model that is used for all of the end-to-end scenarios. It was designed as a simple business model to develop a retailer business scenario on SAP HANA Cloud Platform. The ESPM, which is developed in Java, includes all of the development objects needed for the scenarios, including business entities such as products, product categories, customers, sales orders, purchase orders, and the relationships between them. The entire ESPM retailer business scenario is available as a reference application scenario for SAP HANA Cloud Platform developers. Source code is available at http://sap.github.io and the corresponding tutorial documentation is at http://scn.sap.com/community/developer-center/cross-technology

 

The ESPM is a successor of the ABAP-based Enterprise Procurement Model (EPM). The EPM implementation in ABAP has the same entities as the ESPM implemented in Java along with some additional entities. The EPM is a part of any delivered SAP NetWeaver 7.4 system. In addition, the EPM serves as the reference model for applications demonstrating the robust capabilities of the SAP HANA database (see the developer scenario tutorial available at http://scn.sap.com/docs/DOC-41493).

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.

FIGURE 6: Creating the SAPUI5 application with the SAP NetWeaver Gateway productivity accelerator tool

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.

Summary

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.

Further Reading

 

_____________________________

1 This scenario was covered in the article “End-to-End Development Scenarios from SAP: A Faster, Easier Way to Add Mobile, Cloud, and In-Memory Enhancements to Your Solutions” by Karl Kessler in the July-September 2013 issue of SAPinsider.

2 An individual developer license for SAP HANA Cloud Platform is free of charge for development and testing. For more on the licensing options available, see http://www.sap.com/pc/tech/cloud/software/hana-cloud-platform-as-a-service/index.html.

3 For more information on SAP HANA Cloud Portal, visit http://scn.sap.com/community/hana-cloud-portal.

4The scenario tutorial can be accessed via SCN at http://scn.sap.com/docs/DOC-41492.

5Available at www.oracle.com/technetwork/java/javase/downloads/index.html.

6Go to http://scn.sap.com/community/developer-center.

7 Go to https://account.hanatrial.ondemand.com.

8 Available from www.eclipse.org/downloads.

Did you find this article helpful? Get access to the latest updates and resources from SAPinsider with a free subscription.

Get the SAPinsider subscription now »»

An email has been sent to:





 

Karl Kessler, SAP
Karl Kessler

Karl Kessler (karl.kessler@sap.com) joined SAP SE in 1992. He is the Product Manager of the SAP NetWeaver foundation — which includes SAP NetWeaver Application Server, the ABAP Workbench, and the Eclipse-based ABAP development tools for SAP NetWeaver — and is responsible for all rollout activities.


Monika Kaiser

Monika Kaiser (monika.kaiser@sap.com) joined SAP SE in 1998. After starting in the support organization fixing customer issues, she moved to development of Java-based web applications. Currently, Monika manages cross-development projects in SAP NetWeaver with a focus on end-to-end development scenarios.



More from SAPinsider



COMMENTS

Please log in to post a comment.

SAPinsider
FAQ