What is the SAP Internet Transaction Server?
The conventional method of accessing the SAP System interactively is by using the SAPgui, which displays SAP transaction screens and allows the user to interact directly with the system. It communicates with the SAP System by using a special SAPgui protocol that uses TCP/IP as its networking basis. The SAPgui has a direct network connection to the SAP Application Server via a local or wide area network. Programs can also use the SAP RFC protocol (Remote Function Call) to communicate with the SAP system.
So that you can access the SAP System with a Web browser, you need additional middleware to make the connection between SAP technology (SAP Application Servers and SAPgui) and Web technology (Web servers and browsers). This is accomplished by the ITS. It offers the services of a Web application server, however if does not do any transaction processing itself. Instead it hands all business processing to the SAP System, to which it looks exactly like a regular SAPgui. This relationship is illustrated by the following graphic:
Since the processing of the SAP Internet Applications Components (IACs) takes place in the SAP System, the benefits of the SAP infrastructure apply immediately to Web applications. Some of the features of ITS are:
The Internet Transaction Server is the link between the Web and SAP. It is composed of two separate programs: WGate (Web Gateway) and AGate (Application Gateway), which may reside on the same computer or on separate computers connected by a TCP/IP network. The graphic below shows the components of ITS which are explained in detail in the following sections:
The Web Browser
Most currently available Web browsers can be used to access SAP Internet Application Components (IACs). The HTML 3.0 standard must be supported. Some of the SAP IACs use special features like Java applets or "Dynamic HTML" which may not be supported by all browsers.
The Web Server
The Web server is the interface between the Internet/Intranet and the ITS. It has the following functions:
The Web server automatically loads the WGate when a certain URL is called. This URL typically has the form
http://<server>/<path-to-wgate>/wgate/<service>/!, for example http://www.flexicorp.com/scripts/wgate/va01/! .
Here the directoryscripts is a virtual directory of the Web server that allows the execution of CGI programs or server extension DLLs. The parameters after wgate/ are passed to the entry function of the DLL. In this case the parameters tell the ITS to start a service called va01 .
For a list of Web servers supported by ITS see the brochure SAP System Requirements (available in SAPnet underhttp://sapnet.sap-ag.de/SSR ).
The WGate component connects the ITS to the Web server. The WGate is always located on the same computer as the Web server. The following standard Web server interfaces are supported:
The WGate receives requests from the Web server, establishes a connection to the AGate and forwards the requests. No data processing is done by the WGate except when an error during communication with AGate occurs. In this case the WGate generates an error message.
One WGate is configured for communication with exactly one AGate. Each WGate instance has a name which is equal to the name of the corresponding AGate.
The AGate program is implemented as a Windows NT service. It runs on the Windows NT 4.0 operating system on Intel processors. Although the AGate can be located on the same machine as the WGate, we recommend that you keep the two components on two separate machines for productive use.
The AGate is responsible for managing communication to and from SAP, including:
Multiple AGate instances can be installed on the same computer. Each instance has a unique name.
The SAP System
The ITS accesses the SAP System just like any SAPgui or RFC client program would. It can use different SAP Systems for different Web services. All logon methods, such as load balancing with the SAP message server, are supported by the ITS. No special technical provisions have to be made in the SAP System to use IACs.
ITS Administration Interface
ITS features an HTML based administration tool that allows you to configure, control and monitor ITS instances. You can use it to:
For details see the SAP Online Documentation.
ITS Installation Options
The two components of the ITS, AGate and WGate, can either be installed on a single computer (single-host installation) or on two separate machines (dual-host installation). Multiple ITS instances can be installed on one computer, just like multiple SAP system instances. These options are explained in the following sections.
Single Host and Dual Host Installation
The simplest configuration is to install the Web server, WGate and AGate all on one computer running Windows NT 4.0 on an Intel processor. This setup is sufficient for test or development purposes with small load ("personal ITS"). It is not suited for serving the Internet.
In order to cope with heavier load or to meet higher security demands the ITS functions can be split between two computers. In a productive environment this dual-host configuration is advisable. The first computer runs the Web server and the WGate. It has to be connected to the client access network (Internet and/or intranet). The second computer runs the AGate. It is connected to the WGate via TCP/IP network and handles all communication with the SAP System.
The following graphic shows the single- and dual-host installation. Since the AGate is available in a version for Windows NT 4.0 on Intel only, this is the only platform supported for the single-host installation. In dual-host installations the WGate can also run on a UNIX or AS/400 host.
You can install more than one ITS instance (also called "virtual ITS instances") on one computer. Each instance has a unique name and runs as a separate Windows NT service. The executable files are shared with all of the AGates on a single computer allowing only one ITS version to be installed on a single computer.
Most supported Web servers also allow multiple virtual Web servers on one computer. Web server instances also have names by which they can be distinguished. There are three ways to access the different Web server instances located on one computer:
If you use multiple virtual Web servers with WGates that you want to connect to different AGates then you must make sure that these Web servers run in separate processes or memory spaces. Otherwise only one WGate would be present in memory. The Netscape Enterprise Server does this automatically. In IIS 4.0 you have to check the option "run in separate memory space" in the properties page of the Web server instance and reboot the computer. Note that this option may seriously affect the performance of the Web server.
This installation variant is useful for Web applications with a small load, such as development and test systems. The ITS administration tool (see online documentation) should also be installed as a separate ITS instance on every AGate computer.
SAP Internet Application Components Technology
A Web application with ITS is called an SAP Internet Application Component (IAC). An IAC consists of different components. Some of them reside on the ITS server, some in the SAP system. The ITS offers the following technologies for setting up Internet Applications:
The state of the application data is kept in the SAP system. The ITS has to keep only the state of the SAP screen in order to synchronize it with an appropriate Web page. It generates a new Web page dynamically for every SAP transaction screen. This is done with the help of templates which are written in an ITS specific programming language called "HTML Business". Additional resources such as language and theme files are used to simplify the task of multi language support and Web page design.
The following figure shows how the components that make up a WebTransaction work together. It also shows the communication that takes place between browser, ITS and SAP System.
Only function modules that implement a specific interface can be used by WebRFC. The function module must evaluate the Web request arguments, execute the corresponding business functions, and generate an internal table which contains the HTML page that is then sent back to the browser. Alternatively, it can create a binary MIME object and send this to the browser, for example, a graphic or Excel chart. The ITS handles logon management and error conditions for the programmer; the functionality must be implemented entirely by the function module.
The following diagram shows how a WebRFC application works:
The following diagram shows how an SAP report is processed for the Web:
The representation of an Internet Application Component (IAC) in the ITS is called a "service". It consists of all components needed to run this application, such as templates, language resources, graphics and so on. Every service also has a "service file" that contains the settings required to connect and log on to the SAP System. Depending on the application it may contain an SAP user name and password. SeeITS Security for details about service users and named users and the security issues related to these concepts. If user name and password are missing from the service file, ITS generates a login window prior before it starts the IAC.
The service is specified in the URL that the browser sends to start the application. This URL looks like
The ITS usually has one additional master service file calledGlobal.srvc which contains service information applicable to all applications executed by this specific ITS. Typically, SAP connection information, such as the system ID and system number, is stored here. The settings made in this file can be overridden by the service file for the specific application.
The following graphic shows the relationship between the global and the application-specific service file. A list of all service parameters can be found in the SAP Online Documentation.