ABAP development for SAP HANA is closely linked to SAP’s latest development tools, which are based on the Eclipse platform. ABAP developers require a basic understanding of this platform and, in particular, should become familiar with both the ABAP Development Tools for SAP NetWeaver and SAP HANA Studio.
2Introducing the Development Environment
In the past, ABAP developers used the SAP GUI-based ABAP Workbench to develop, adjust, and test programs. However, SAP’s new development tools are based on the Eclipse platform. Furthermore, SAP is migrating some of its existing development tools to Eclipse.
At the start of this chapter, we’ll explain Eclipse and the significance of this platform for SAP. We’ll then introduce you to the ABAP Development Tools for SAP NetWeaver, which is the new Eclipse-based development environment for ABAP—as well as SAP HANA Studio, which is the administration and development environment for the SAP HANA database. We’ll also discuss how to install these development environments.
2.1Overview of Eclipse
Eclipse is an open-source framework with which you can develop any type of software. IBM developed Eclipse originally, but it has been maintained and developed by the Eclipse Foundation (http://eclipse.org) since 2004. Eclipse is known particularly as a platform for development tools and environments.
One of the main strengths of Eclipse is the capability to integrate different tools—such as Java Development Tools (JDT), C/C++ Development Tools (CDT), or ABAP Development Tools—into one installation so that the user benefits from a homogeneous development environment.
Eclipse technically defines enhancement options, which can be used by plug-ins to integrate with Eclipse. A plug-in enhances the functional scope of Eclipse. Every plug-in is described by an XML file (the manifest) and is implemented in Java. Every plug-in can also provide its own enhancement options for other plug-ins that are based on this plug-in.
Eclipse provides the Eclipse Software Development Toolkit (Eclipse SDK) for developing plug-ins—and for developing Java applications in general.
Figure 2.1 shows the structure of the Eclipse SDK and how the tools integrate in Eclipse on various levels and through enhancement options. As you can see, Eclipse SDK has three components:
-
Eclipse platform
-
Plug-In Development Environment (PDE)
-
Java Development Tools (JDT)
Figure 2.1Architecture of the Eclipse SDK
The Eclipse platform provides a framework for development tools and contains reusable user interface (UI) modules. This is helpful, for example, when implementing help systems and connecting version control systems.
You use the PDE to create the manifest for a plug-in, while you use the JDT to implement the plug-in in Java (and for Java development in general). Technically, the PDE and JDT are also implemented as plug-ins for Eclipse.
The Eclipse Foundation coordinates the maintenance and further development of Eclipse. In particular, it handles the following:
-
IT infrastructure
-
Copyright
-
Development process
-
Ecosystem
The Eclipse Foundation organizes the development process on the basis of projects. These projects, known as Eclipse projects, handle the further development of the Eclipse platform, PDE, and JDT, among other things. There are also a number of other projects (e.g., Eclipse Modeling Project, the Mylyn Project, and the Eclipse Web Tools Platform Project). We don’t examine these projects here, but further information is available at www.eclipse.org/projects/.
Each year, in an effort to synchronize the various projects, the Eclipse Foundation releases all projects at the end of July in one composite release (known as the Eclipse Release Train). The current composite release is called Luna. Figure 2.2 provides an overview of the past six composite releases and their scope in terms of the number of projects involved and the number of program lines (lines of code, LOC). Sources are the 2014 Annual Community Report as well as the Eclipse Foundation’s press release, “Eclipse Luna Release Train Now Available” on June 26, 2014.
The composite releases are important for ensuring that all development tools based on Eclipse can work together without any problems (at least while they follow the Eclipse Foundation’s development process).
Figure 2.2Composite Releases by Eclipse