SAP NetWeaver Gateway
Using open standards to provide people-centric access to SAP business information.
It seems that whichever way you turn now, there’s some new computing device on the market demanding your undivided attention because it’s lighter, faster and generally cooler than any of its rivals or predecessors. However, no matter what features the latest and greatest gadgets have, they all have one thing in common—an insatiable hunger for data!
Meeting this seemingly never-ending demand for business data can turn into a major headache for application developers if the API into each business system requires the use of proprietary protocols.
What would make life much simpler is an easy–to–use, well defined API that gives access to the rich wealth of business data and functionality in your SAP systems.
SAP NetWeaver Gateway provides an API that is designed to function in just such a manner; and it does so using the OData protocol.
This protocol was originally developed by Microsoft as an extension to the Atom Publishing and Atom Syndication protocols, but as of their announcement in May 2012, OData is now administered by the Oasis Organisation.
Accessing SAP Business Data using Open Source tools
Consumption of data through the SAP NetWeaver Gateway interface requires nothing more than the ability to make an HTTP(S) request (something any browser can do); in other words, it does not require the use of any SAP proprietary software or protocols.
From the perspective of a client application developer, the SAP NetWeaver Gateway interface does not impose any requirement on them to be able to write software in ABAP, or even to have any understanding of the internal workings of an SAP system.
Using nothing more than commonly available development tools such as Microsoft’s .Net or Apple’s XCode, or Open Source languages such as Ruby or PHP, you can easily create user interfaces for SAP business data and functionality by consuming the HTTP(S) based, OData messages coming out of an SAP NetWeaver Gateway server.
In order to make the OData consumption process even easier, SAP delivers several versions of the Gateway Consumption Tool. This tool generates an OData proxy object in a variety of languages such as C#, Objective C, Java and PHP. In addition to this, it can also generate a basic application to wrap the generated proxy object.
SAP Business Data Is Now Self-Describing
As can be seen from the diagram on the right, Microsoft’s OData protocol is based on the Atom Publishing Protocol which in turn, is based on the Atom Syndication Format. SAP has used the standard extensibility features found in OData to provide its own annotations.
The combination of OData’s data format and the SAP Annotations make SAP business information both self-describing and human readable.
These two factors alone lower the barrier for consuming SAP business data and functionality to the point that no specialist knowledge of an SAP system is required before such data can be incorporated into a useful business application running on some external device.
The whole focus of the SAP NetWeaver Gateway interface is to make SAP business data and functionality as easy to consume as possible. The main target audience for the consumption of Gateway services is non-SAP developers—people who don’t know about SAP software (and probably don’t care either). The use of the OData protocol ensures that these developers will be able to create cool apps that interface directly to an SAP system, without needing to have any prior understanding of the internal workings of that SAP system.
Taking REST in SAP NetWeaver Gateway
The SAP NetWeaver Gateway interface has been designed to conform completely to the six architectural constraints that define a RESTful software system. This makes the business data content of your SAP systems accessible as RESTful resources through a uniform, stateless interface to any software system that can communicate using HTTP(S) and can understand XML or JSON based messages.
So is SAP NetWeaver Gateway Just For Mobile Devices?
It is easy to think of an “external device” as being simply some type of computing device that fits in your pocket; but while that idea is perfectly valid and may well be of great significance, it’s only one of several possibilities. Some examples of the types of app that can be developed are:
- Any external business application. E.G. Microsoft Office applications via a .Net (or even VBA) interface
- Desktop machines using Web-based applications running PHP or Java or Ruby or... <fill in the blank yourself>
- Native applications on mobile devices E.G. iPad/iPhone or an Android device or a Blackberry.
- Embedded devices such as manufacturing robots or route planning software in Satellite Navigation systems.
- Any other business scenario you can think of involving some programmable device that can speak HTTP(S)...
Supply Your SAP Business Data to Any Device (that can speak HTTP)
The SAP NetWeaver Gateway interface can be used by any programmable device that can speak HTTP(S). In providing this capability, it hides the complexities that exist within your system landscape by making use of:
- Protocol Adaptation
- OData becomes the only communication protocol needed for you to supply or consume SAP Business Data to or from your SAP systems.
- Service Adaptation
- Different types and versions of SAP systems now appear as a single, integrated repository of business information.
Does SAP NetWeaver Gateway Replace any Existing SAP Software?
In a word—no.
SAP NetWeaver Gateway is not designed to be a channel for the type of transactional applications used by Power Users, neither is it designed to replace existing message–transformation software like SAP NetWeaver PI. In addition to this, SAP NetWeaver Gateway applications are not designed to target A2A or B2B scenarios.
Instead, the interface provided by SAP NetWeaver Gateway is designed for human–to–system communication. In other words, it is the door through which the mass consumption of SAP business data and functionality is made possible. The target audience for SAP NetWeaver Gateway applications is a group known as Occasional Platform Users (OPU). These are people who need ad hoc access to SAP data and functionality in an easy-to-consume manner.
Calling ALL Developers (Not Just ABAP Developers)
As part of the SAP NetWeaver Gateway software, you get various Service Provisioning tools. These tools will generate the necessary source code to jump-start the development of your external business applications. These tools can be used in conjunction with widely used Integrated Development Environments (IDEs) such Eclipse, Visual Studio 2010 and XCode.
And on the ABAP Side of Things...
Not wanting to leave out all the die-hard ABAPers out there, the SAP NetWeaver Gateway Add-On provides you with the OData Channel. This is a set of ABAP classes and interfaces that can be used to develop your own Gateway Services within your backend SAP system. These are then registered with your SAP NetWeaver Gateway system in order to make them accessible to the outside world as RESTful services.
What Impact will the Gateway Software have on my System?
Installation of SAP NetWeaver Gateway is very flexible and offers three different configurations:
- Install all the Gateway add-ons into a separate NetWeaver server. The OData services
then execute on your Gateway server and communicate with your backend system using Remote Function Call (RFC).
This type of installation would be needed if either:
- Your backend SAP system does not meet the minimum version required for Gateway, or
- You operate in a business sector with very strict compliance regulations and therefore do not permit ABAP add-ons to be installed in your backend systems.
- Install all the Gateway add-ons except one (called IW_BEP) into a separate NetWeaver server. The IW_BEP add-on is then installed in your backend system.
- If you have a small system landscape and/or cannot justify the purchase of a separate NetWeaver server, then assuming that the minimum system version criterion has been met, install all the Gateway add-ons directly into your backend system.
Whichever installation option you choose, it is important to understand that the ABAP development of Gateway services takes place in whichever system has the add-on IW_BEP installed.
The SAP NetWeaver Gateway interface:
- REST-enables your SAP system, thereby lowering the data consumption barrier to the point that no specialist knowledge of an SAP system is required before SAP business data and functionality can be consumed.
- Hides the technical complexities of your SAP system landscape behind a single interface that is easy-to-use and non-proprietary.
- Makes your SAP business data and functionality accessible to any external device or system that can:
- Communicate using the HTTP(S) protocol
- Understand OData messages
- Provides Service Provisioning tools that allow the quick REST-enablement of existing ABAP functionality.
- Provides plug-ins for well known IDEs such as Eclipse, Visual Studio 2010 and XCode.
- Is installed as a set off ABAP add-ons; therefore, it will not interfere with your existing productive software.
The SAP NetWeaver Gateway interface has its own page now on the SAP Developer Network, and will be the subject of lectures and sessions at Sapphire and TechEd in 2012 and beyond.