What is SAP Dispatacher?
The SAP Dispatcher is a crucial component in processing SAP requests from end users through SAP front ends. Within the SAP application server, the dispatcher is responsible for gathering and collecting these user requests and forwarding them to the appropriate work processes for execution.
The SAP Dispatcher performs the task of executing various work process functions within SAP applications. These functions include Dialog processes, which handle user interactions, Update processes, which manage database updates, Background processes, which execute scheduled tasks, and Spool processes, which handle print and output requests.
Directing HTTP Requests
In addition to the internal SAP application server dispatcher, there is also the SAP Web Dispatcher, which acts as an intermediary between the Internet and the SAP system. It serves as the entry point for HTTP(s) requests directed towards the system, which comprises one or more SAP NetWeaver application servers.
Acting as a "software web switch," the SAP Web Dispatcher is capable of accepting or rejecting connections. When a connection is accepted, it actively balances the load across the application servers to ensure an even distribution of workload. By doing so, the SAP Web Dispatcher contributes to both the security and load-balancing aspects of the SAP system.
The SAP Web Dispatcher can be utilized in pure ABAP systems, combined ABAP/Java systems (dual-stack), and pure Java systems. It provides load balancing and security features across these different system configurations.
Functions of Dispatcher
The SAP Web dispatcher performs the following functions:
- Choose the right application server (for things like remembering previous actions, balancing the workload, or choosing between ABAP or Java servers).
- Filters website addresses. You can decide which website addresses are not allowed, so only certain people can access your system.
- Acts as a cache for websites. It saves copies of websites to make them load faster and save resources on the main server.
- Changes requests. Depending on the security settings, it can send requests to different places, stop them, or make them more secure by adding encryption.
- Equal distribution of transaction load to work processes Management of buffer areas in main memory Integration of the presentation levels Organization of communication activities.
The Structure of SAP Dispatcher
The SAP Web Dispatcher has a similar architecture to the Internet Communication Manager (ICM) used in SAP systems. It utilizes the same HTTP framework and is structured in a modular manner with subhandlers. However, there is a significant difference between the two.
While the ICM directly sends incoming requests to a work process (like a server process), the SAP Web Dispatcher redirects these requests to the ICM of the application server. The application server then sends the response back to the client through the same network connection, using the SAP Web Dispatcher as an intermediary.
If the application server, acting as the client, establishes connections to external HTTP servers, these connections are made directly to the server (possibly through a configured proxy), bypassing the SAP Web Dispatcher.
In summary, the SAP Web Dispatcher functions as a reverse proxy rather than a traditional proxy. It plays a crucial role in managing the flow of requests and responses between clients and application servers in the SAP system architecture.
It is advisable to use the SAP Web dispatcher when you have multiple application server instances for web applications in your SAP system,
The SAP Web dispatcher is a program that can be installed on the machine directly connected to the internet. It is easy to set up as it requires minimal configuration. All you need to do is enter the following information in the profile file:
- The port number on which the HTTP(s) requests should be received (parameter icm/server_port_<xx>).
- The host and HTTP port of the SAP Message Server (parameters rdisp/mshost and ms/http_port or wdisp/system_<xx>).
By providing this information, you can effectively deploy the SAP Web dispatcher to manage incoming web requests in your SAP system with multiple application server instances.