With the SAP Web Application Server you can implement both server-based and client-based Web applications. Server applications (for example, online shops or portals) can be created in the integrated development environment or in an external tool. These applications can contain Web pages as well as static HTML code and dynamic script code. The SAP Web Application Server can execute depending on your chosen installation option ABAP and/or Java programs. This means you can use the ABAP-based Business Server Pages and a Java technology (JSP, etc.) to create Web applications. Integration The SAP Web Application Server is the application platform of the SAP NetWeaver, which is the basis for the other NetWeaver components.
Installation Options
There are the following installation options for the SAP Web AS:
SAP Web Application Server ABAP System. In the graphic these are the components in the yellow box on the left. SAP Web Application Server Java System. In the graphic these are the components in the green box on the right. For more information see the Java Architecture Manual under Java Cluster Architecture. SAP Web Application Server ABAP+Java System. These are all the components of the graphic. For details see SAP Web Application Server with ABAP and Java.
[Type text]
Page 1
The Internet Communication Manager (ICM) sets up the connection to the Internet. It can process both server and client Web requests. It supports the protocols HTTP, HTTPS, and SMTP. The SAP Web AS can behave as a Web server or as a Web client (see SAP Web Application Server: Web Server or Web Client) The dispatcher distributes the requests to the work processes. If all the processes are occupied the requests are stored in the dispatcher queue. The ABAP Work Process executes the ABAP code.
The SAP Gateway makes the RFC interface between the SAP instances available (within an SAP System and beyond system boundaries). For information on the architecture see Architecture of the SAP Gateway. The message server exchanges messages and balances the load in the SAP System. Java Dispatcher,
In the Java component of the SAP Web AS there are the components Server Process and Software Deployment Manager.
In the documentation on the Client/Server Technology you can find links to the administration options for the components.
Example In addition to the examples described in the den BSP Tutorials, additional sample applications are available and delivered in the system. The most important applications are listed below. Sample BSP Applications Name of the BSP application IT00 HTMLB_SAMPLES SBSPEXT_HTMLB SBSPEXT_XHTMLB SBSPEXT_PHTMLB BSP_MODEL Description
Examples of the enhanced HTML Business library Examples of the Pattern HTML Business library Example of the model connection as part of the MVC Design Pattern
Architecture Manual
This documentation provides an overview of the server for Java. It describes the setup of a Java cluster and the components involved. Also, it describes the system architecture of the J2EE Engine.
Integration
You can operate the J2EE Engine solely for J2EE applications or together with the SAP Web AS ABAP. The integrated scenario is described in the documentation section SAP Web Application Server with ABAP and Java. This architecture overview provides an introduction to and background information for administration and development of J2EE applications with the SAP Web AS.
[Type text]
Page 3
Users log on to the dispatcher and work processes perform the users tasks. Processing Web requests
Web requests are received by an Internet Communication Manager ( ICM). These HTTP(S) requests may be designated for the Internet Communication Framework ( ICF), that is, processed in an ABAP work process (for example, BSP Applications), or they may be J2EE requests, designated for the J2EE Engine. With the help of the URL the ICM decides where it will forward the request to
[Type text]
Page 4
In addition to the pool of worker threads that process the incoming requests, the following ICM components are implemented as further requests: Thread Control
This thread accepts the incoming TCP/IP requests and creates (or wakes) a worker thread from the thread pool to process the request. Then the thread control initializes the connection info data. Worker Threads
These threads handle connection requests and responses. A worker thread contains an I/O handler for the network input and output, diverse plugins for the various supported protocols (HTTP, SMTP,), which are required to be able to decide when the sent packet is finished (depends on the protocol). Watchdog
Usually a worker thread waits for a response (regardless of whether it is a client or a server thread). If there is a timeout the watchdog takes on the task of waiting for the response. Then the worker thread can again be used for other requests. If the watchdog receives the response, it informs the thread control component, which then wakes up a worker thread.
[Type text]
Page 5
Signal Handler
This thread processes signals that are sent by an operating system or another process (for example, the dispatcher). Connection Info
This table contains for each existing network connection details of the status, the memory pipes and the plug-in data. Memory Pipes
These memory-based communication objects are used to transfer data between the ICM and the work processes. For each connection there are four pipes: for each request and response one data pipe and an OOB (Out Of Band) pipe. The OOB pipe is used for control data. The ICM contains another cache to enable repeated requests to be quickly responded to. This cache is not shown in the graphic.
[Type text]
Page 6
The Internet Communication Framework (ICF) provides the infrastructure for handling HTTP requests in work processes in an SAP system (server and client). If you are using the system as a server, you need a HTTP Request Handler, which you can create yourself. Defining the HTTP request handler yourself allows you to use the ICF flexibly in your application. However, HTTP request handlers are also shipped with the SAP system.
Installation with Several SAP Web AS Instances
As the system should offer ABAP and Java, each instance must contain an Communication Manager (ICM) that can receive Web requests.
Internet
Each of these integrated instances of the SAP Web AS contains the (ABAP) dispatcher and its work processes, which can process the ABAP programs, as well as the Java dispatcher and its server processes, to which it distributes the incoming J2EE requests. One of the instances must provide must be installed as the (ABAP) central instance, that is, offer the enqueue service. Alternatively, the system can be set up with the without a central instance. Standalone Enqueue Server, and
Of course, you do not have to use the Web Client to log on to an SAP System you can also log on from the SAP GUI menu. If log on groups are set up here, the message server determines the application [Type text] Page 7
server that the SAP GUI connects to. The function of the message server in the ABAP environment is to transfer requests between the application servers. The Java cluster requires a special instance, the messages and data. Central Services, for managing locks and transmitting
Finally, all the applications and data for ABAP and Java each have a database. Integration To operate the J2EE Engine, the following services must be active in the HTTP service tree (Transaction SICF):
/sap/public/icman: The ICM uses this service to forward requests to the J2EE Engine. SAP Web Dispatcher with details of logon groups,
These services must be activated so that the SAP Web dispatcher and the ICM can forward the request correctly. If these services are not active, you have to activate them in transaction SICF, as described in Activating and Deactivating ICF Services.
Functions Distributing HTTP Requests Using the SAP Web Dispatcher The SAP Web Dispatcher is the central access point from the Internet into the SAP System. The SAP Web dispatcher has to decide to which SAP Web AS it will send each incoming request. The procedure for this is described in section Server Selection and Load Balancing Using the SAP Web Dispatcher.
You can also use another load balancer (software or hardware) to distribute the HTTP(S) requests. However, SAP does recommend the SAP Web dispatcher, as this is designed especially for the SAP environment, distributes requests to the system efficiently, and requires minimal configuration.
Processing HTTP(S) Requests Using the ICM For each incoming HTTP request, the ICM must decide whether it should forward the request for processing to the ABAP engine (the ICF) or to the J2EE engine.
[Type text]
Page 8
This decision is made using the URL prefix. The ICM uses the same procedure as the SAP Web Dispatcher. Communication Between the ICM and Java Dispatcher A separate protocol is used for the communication between the ICM and protocol is described in Communication Between ICM and J2EE Engine. Caching in the ICM You can also use the Internet Server Cache with the J2EE server, in order to store HTTP responses (such as HTML pages or images). The next time, the request can be retrieved directly from the cache. Java Dispatcher. This
[Type text]
Page 9