Start of Content Area

Component documentation Internet Communication Manager (ICM)  Locate the document in its SAP Library structure

Purpose

The Internet Communication Manager ensures that communication between the SAP System (SAP NW Application Server) and the outside world via HTTP, HTTPS and SMTP protocols works properly. In its role as a server the ICM can process requests from the Internet that arrive as URLs with the server/port combination that the ICM can listen to. The ICM then calls the relevant local handler for the URL in question.

Implementation Considerations

You need the ICM if you want your SAP NetWeaver Application Server to communicate with the Internet via HTTP, HTTPS or SMTP, like Web applications do with Web Dynpro ABAP. In AS Java the ICM distributes the incoming requests to the Java server processes. For communicating with the client, P4, IIOP and Telnet protocols are used in addition to HTTP(S).

Integration

ICM in the NW Application Server

The ICM is a component of the SAP NetWeaver Application Server. It is implemented as a separate process, which is started and monitored by the ABAP dispatcher. With AS Java the startup framework does this task. You can configure the ICM using profile parameters.

For more information see:

Administration of Internet Communication Manager

Parameterization of the ICM and the ICM Server Cache

SAP Web Dispatcher

The ICM and the SAP Web Dispatchersapurl_link_0001_0004_0006 use the same code basis. The main difference between them is that the Web dispatcher performs load balancing, and passes requests to ICMs on the connected application servers rather than to work processes. This relationship makes it possible to share profile parameters and administration options. The structure of the documentation makes it clear what applies to the ICM only and what applies also to the Web dispatcher.

For more information, see SAP Web Dispatcher

Features

The ICM process uses threads to parallel process the load.

The following illustration shows a detailed overview of the ICM.

This graphic is explained in the accompanying text

Besides the pool of worker threads, which process incoming requests, the following ICM components are also implemented as threads:

      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. From this point on, 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 plug-ins 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).

For more information, see Processing HTTP Requests.

      Watchdog

Usually, a worker thread waits for the response, regardless of whether the worker thread is a server or a client. If a timeout occurs, the watchdog takes on the task of waiting for the response. This makes the worker thread available for other requests. When the watchdog receives the response, it informs the thread control components, which then call a worker thread.

      Signal Handler

This thread processes signals sent from the operating system or from another process (for example, the dispatcher).

      Connection Info

This table contains information about the state of the connection, the memory pipes, and the plug-in data for every existing network connection.

      Memory Pipes

These memory-based communication objects are used to transfer data between the ICM and work processes (AS ABAP), or between the ICM and Java server processes (AS Java). 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.

For more information, see Memory Pipes and MPI Buffers

      Internet Server Cache

The ICM contains another cache to enable repeated requests to be quickly responded to. This cache is not shown in the graphic.

ICM Server Cache

 

 

 

 

End of Content Area