SAP NetWeaver 7.4 is a comprehensive, stable technology foundation that has seen a rapid adoption rate in SAP’s installed customer base as organizations look to take advantage of innovation in areas such as SAP HANA, cloud, and mobile, as well as support for modern development tools such as Eclipse and HTML5.1 (See the sidebars for more on the 7.4 adoption rate and features.) Since its release in May 2013, SAP NetWeaver 7.4 has continued to respond to changing business needs by delivering new features via quarterly support packages, a non-disruptive approach that is well understood and accepted by the SAP customer base.2
So, with all of the functionality, stability, and reliability provided by SAP NetWeaver 7.4, and with its widespread acceptance among the SAP customer base, why would there be a need for a new SAP NetWeaver release?
While SAP NetWeaver 7.4 has continued to adapt, technologies and trends have continued to evolve as well, bringing with them new requirements. The Internet of Things (IoT) is taking a more central role as machines, devices, businesses, and people become increasingly connected and drive the shift toward a networked economy. And SAP continues to develop new solutions to help its customers adjust to these changes, such as SAP Business Suite 4 SAP HANA (SAP S/4HANA) — a new business solution that is built on SAP HANA and offers a personalized user experience with SAP Fiori. It is available in a cloud edition, as announced in May 2015 at SAPPHIRE NOW, and will be available in an on-premise edition as well.3
To support SAP S/4HANA, and allow the fast development of dramatically simplified business processes with an appealing user experience, SAP needed to open up a new codeline for SAP NetWeaver. In addition, to enable customers running Java-based SAP solutions to fully support the latest technology trends, such as mobile and IoT, it became clear that SAP would need to provide a design and runtime environment based on Java 8 — an update that could not be provided via an SAP NetWeaver support package without significant disruption of customers’ installed Java hubs and custom applications.
For these reasons, the need for a new foundation has become clear.
The New Foundation: SAP NetWeaver 7.5
SAP NetWeaver 7.5 — planned for the delivery of the on-premise edition of SAP S/4HANA — is designed to meet these needs and lay the groundwork for supporting the next stage of innovation.4 It will be the compatible successor of SAP NetWeaver 7.4, and will provide the on-premise foundation for SAP Business Suite (as of enhancement package 8 for SAP ERP) and for the on-premise edition of SAP S/4HANA. Both the cloud and on-premise editions of SAP S/4HANA share the same new codeline, meaning that there is only one innovation codeline for SAP NetWeaver, and the same features are available for each edition. Enhancements are delivered for the on-premise edition of SAP S/4HANA via regular support packages, in the same manner to which customers are accustomed, and those same enhancements are delivered on a more frequent basis for the cloud edition.
SAP NetWeaver 7.5 will also include improvements for the SAP NetWeaver hubs. For instance, SAP Gateway will offer support for OData version 4 and incorporate productivity enhancements for OData service developers. For SAP Business Warehouse (SAP BW), the major areas of innovation are flexibility (planning, Eclipse-based tools, and web-based tools); SAP HANA integration (more pushdown and leveraging the information management capabilities of SAP HANA); and big data (support for Hadoop and dynamic tiering). Performance optimizations for SAP Fiori applications are also planned, and in the area of lifecycle management, the focus is on a solid kernel infrastructure, simplified migration and upgrade capabilities, true zero downtime, and cloud operation and extensibility features for SAP S/4HANA.5
While the improvements and optimizations for the SAP NetWeaver hubs, SAP Fiori, and lifecycle management will provide important benefits for customers, there are three areas in particular — ABAP, Java, and the cloud — with innovations planned for SAP NetWeaver 7.5 that will provide significant advantages. Let’s take a closer look at these key areas of enhancement.
New ABAP Development Features
ABAP is a key engine behind the solutions that drive your business. Planned features for SAP NetWeaver 7.5 to help applications meet your changing needs include enhancements to ABAP development functionality, including programming model enhancements via core data services and support for real-time web-based communication for IoT use cases via TCP-based protocols, which build on the ABAP channels concept introduced in SAP NetWeaver 7.4.
Core Data Services (CDS)
Introduced with support package stack (SPS) 05 for SAP NetWeaver 7.4, the CDS infrastructure represents the data layer in SAP’s modern business solutions, such as SAP S/4HANA and SAP Business Suite. Supported natively in ABAP and SAP HANA, CDS is a framework for defining and consuming semantically rich, reusable data models on the database instead of the ABAP server, regardless of the database platform, enabling a common programming model that can take advantage of innovations such as in-memory processing. These data models are defined in ABAP programs as CDS views, which provide access to the data in the data model.6
The CDS framework has evolved to include more than 6,000 standard-provided view definitions and several hundred thousand lines of code. This innovative data layer is critical not only for efficiently retrieving data, but also for adding annotations that describe the semantics and use of the data and its types in different contexts, such as in the user interface, for analytics, and in searches. While SAP NetWeaver 7.4 includes a wide range of functionality for using CDS, the enhancements planned for 7.5 bring additional features and flexibility.
For instance, SPS 08 for SAP NetWeaver 7.4 introduced support for parameterized CDS views, which allow you to produce context-specific results using parameters — for example, system fields such as logon language and logon user — that are passed to the view at program execution. Think of user interfaces where selecting a logon language defines the language in which text is displayed on the screen. SAP NetWeaver 7.5 adds the ability to pass the actual date and time or logon client as parameters, providing more options for specifying the result set of the view depending on the user and system execution context, and avoiding the need for view generation on the fly.
SPS 08 for SAP NetWeaver 7.4 also introduced the ability to extend a standard-provided CDS view with custom fields to customize the data result set it returns. SAP NetWeaver 7.5 expands on this functionality by enabling you to expose an association, follow associations, or evaluate complex expressions containing cast operators in a custom-defined CDS view extension, which allows you to join information from custom tables following an association. In addition, SAP NetWeaver 7.5 includes a full range of date, time, and timestamp functions for extending CDS views, and string functions for the comparison and calculation of complex column logic.
SAP NetWeaver 7.5 also introduces a table functions concept in CDS. With SAP HANA, database procedures push down data-intensive logic to the database. Table functions provide a means to incorporate the pushdown logic residing in these database procedures into the CDS view abstraction layer, so that you can write more compact and modular code. The implementation of a table function for accessing SAP HANA logic is represented by a corresponding SQLScript-based ABAP managed database procedure (AMDP) — an approach introduced in SPS 05 for SAP NetWeaver 7.4 that allows developers to manage database procedures in ABAP while they execute in the database.7 The AMDP framework provides lifecycle and extensibility support for the implementation.
Figure 1 shows the definition of an example table function (myFlightDates), and Figure 2 shows the implementation of this table function as an AMDP (getFlightDates) in the CDS view editor. To use the table function, you simply embed a call to it — that is, a call to the method containing the AMDP representation of the table function — in a CDS view similar to how you would embed other ABAP artifacts. Once embedded, the signature of the procedure (the definition of the table function with its importing parameters and return columns) is included in the CDS view definition, so that syntax and type checking can be properly performed.
With SAP NetWeaver 7.5, you can also activate a CDS view before the implementing AMDP method is available, so that you can prototype your functions in an incremental fashion. A quick fix (pressing Ctrl+1) lets you create the method from within the CDS definition, so that you don’t have to leave the CDS view editor.
Many traditional SAP user interfaces are designed to follow a request/response model of interaction, where one system (for example, the user interface client) sends a request to another system (for example, the ABAP backend), which then sends a response to the request. With this approach, if you want to be notified about an important change, such as a change in a database field, you have to trigger a “refresh” action, such as pushing a refresh button on the screen, which is essentially a poll conducted periodically on the backend to gather changes in the underlying database table. This is a time-consuming and resource-draining approach that can struggle to support highly interactive and collaborative scenarios that leverage real-time data.
In contrast, most modern application development follows a more efficient approach that proactively sends notifications directly to the user instead of waiting for a request, eliminating unnecessary database load and enabling real-time communication capabilities. To bring this capability to SAP customers, SPS 05 for SAP NetWeaver 7.4 replaced the inefficient polling approach with an infrastructure for event-based communication using ABAP channels created in SAP NetWeaver Application Server (SAP NetWeaver AS) ABAP. This approach — which supports push channels, messaging channels, and collaboration scenarios — uses web sockets to facilitate the exchange of messages between different ABAP sessions and enable users to collaborate over the infrastructure in real time.
Figure 3 illustrates the basic channel infrastructure. A push channel is an implementation of the web socket protocol in SAP NetWeaver AS ABAP that allows the ABAP backend to propagate a change in the system’s state to the end user by immediately updating the frontend. A messaging channel is a logical channel that enables ABAP sessions to exchange messages using a publish/subscribe model of communication. A collaboration scenario combines the push and messaging channels, using a publish/subscribe approach to push messages from ABAP sessions to the frontend via a web socket connection. This enables chat-like conversations between two end users, and is already used in customer relationship management scenarios.
The ABAP channels are available for use with both modern user interfaces based on SAPUI5 (SAP’s adaptation of the HTML5 standard) as well as traditional user interface frameworks such as Web Dynpro. Channels are defined using the ABAP Workbench, and can be accessed programmatically with an ABAP class-based API, with methods for sending and receiving messages. There are many sample programs that are standard-delivered with SAP NetWeaver AS ABAP that can help you master the technology rather quickly.
SAP NetWeaver 7.5 will add further protocol support for the ABAP channels. For instance, it will add the ability to define arbitrary TCP-based channels to allow the coupling of the ABAP stack in IoT scenarios, such as warehousing and shop floor environments, which will enable the management of control flow and event handling simultaneously. In addition, the channel infrastructure will bring stateful and stateless support for both client and server and will complement the publish and subscribe models with point-to-point messaging.
The speed of innovation in cloud environments based on Java is very high. To enable SAP customers running Java-based hubs — such as SAP Enterprise Portal, SAP Process Orchestration, and SAP Business Process Management — to keep pace with new and changing technologies, SAP NetWeaver 7.5 will be optimized to support Java 8.
Support for Java 8
The speed of innovation, especially in cloud environments based on Java, is very high. While the Java codelines for SAP NetWeaver 7.31 and 7.4 — which are identical, both running on SAP’s Java virtual machine 6 (JVM6) — are supported until 2020, keeping pace with new and rapidly evolving technologies is a compelling reason to update your Java-based environment to the latest version, Java 8.
To enable SAP customers running Java-based hubs — such as SAP Enterprise Portal, SAP Process Orchestration, and SAP Business Process Management — to update to Java 8 to take advantage of features such as lambda expressions for functional programming, an enhanced collection framework, default methods, and new tools for profiling and remote debugging to ease daily support, the Java stack for SAP NetWeaver 7.5 will be optimized to run on SAP’s JVM8, and include support for Java Connector (JCo) 3.0 as well as enhanced security features.
It is important to keep in mind that updating the Java stack for SAP NetWeaver to Java 8 is a major task to undertake, since all of the SAP NetWeaver usage types and Java-based software components are updated during the SAP upgrade. In addition to updating the SAP NetWeaver AS Java runtime environment, you will need to update SAP NetWeaver Developer Studio, which is based on the Eclipse platform, to Eclipse 4.4 (Luna). Updating the Eclipse platform then requires updating all of the tool plugins, such as the Java and Java EE plugins, the Web Dynpro plugin, the Web Services plugin, the Composite Application Framework plugin, and so on.
Also be aware that, while updating to the Java 8 adaptation of the SAP NetWeaver Java stack is recommended for customers running Java-based hubs to protect and optimize their software investments, SAP is not repositioning new Java-based program models in the context of SAP NetWeaver AS Java. The adoption of new standards and innovative programming models are reflected in SAP’s in-memory and cloud platforms.
With SAP NetWeaver 7.5, SAP expands the relationship between SAP NetWeaver and the new and emerging on-demand platform offerings from SAP.
Enhancements for the Cloud
Businesses are continuing to push forward with cloud adoption, and in keeping with this trend, planned features for SAP NetWeaver 7.5 include enhancements for integration with SAP HANA Cloud Platform. Due to the importance of on-premise landscapes in the SAP installed customer base, SAP does not restrict itself to cloud-only models, and for this reason, SAP NetWeaver 7.5 includes extended support for hybrid deployments.
With SAP NetWeaver 7.5, SAP expands the relationship between SAP NetWeaver and the new and emerging on-demand platform offerings from SAP. In addition to serving as the basis for standard deployments — as a platform for standalone SAP NetWeaver hubs such as SAP BW, or as the foundation for enhancement packages for SAP Business Suite, for instance — SAP NetWeaver also provides the basis for SAP S/4HANA, both the cloud edition and the on-premise version.
SAP NetWeaver 7.4 is a full-featured, reliable technology platform that has kept pace with market trends and customer needs and is widely adopted by SAP’s customer base. However, emerging business and technology trends around the cloud, big data, and IoT are driving needs that require a new codeline and runtime environment to support innovative features and functionality. To meet these needs, SAP is planning a new SAP NetWeaver release — SAP NetWeaver 7.5 — that will serve as the foundation for the next enhancement package for SAP Business Suite and the on-premise edition of SAP S/4HANA, and will lay the groundwork for the future of application development in your own organization.
1 Learn more about SAP’s development tools in my article “A Guide to SAP’s Development Environments for SAP HANA and the Cloud” in the January-March 2015 issue of SAPinsider. [back]
2 For more on SAP’s support package approach for SAP NetWeaver 7.4, see my article “Demystifying SAP’s Support Strategy for SAP NetWeaver 7.4” in the July-September 2014 issue of SAPinsider. [back]
3 For more on SAP S/4HANA, see Dr. Wieland Schreiner’s and Dr. Markus Schwarz’s article “The Foundation to Run Simple” in the April-June 2015 issue of SAPinsider. [back]
4 All statements targeting the SAP NetWeaver 7.5 codeline (including the exact technical naming and versioning) represent planned product capabilities and are subject to change. [back]
5 Note that SAP NetWeaver 7.5 will support Unicode-only deployments. [back]
6 For more on CDS, see my article “Where ABAP Meets SAP HANA” in the October-December 2014 issue of SAPinsider. [back]
7 For more on AMDPs, see "Where ABAP Meets SAP HANA" in the October-December 2014 issue of SAPinsider. [back]