✒️SAP BASIS / Configuración del Internet Communication Manager (ICM) Por Fernando Escola
SAP BASIS Configuración del Internet Communication Manager (ICM)

Configuración del Internet Communication Manager (ICM)
Arquitectura del proceso del ICM
1. Arquitectura y Función del ICMEl ICM es el componente encargado de permitir que un sistema SAP (específicamente el servidor de aplicación ABAP) se comunique con el mundo exterior mediante protocolos web estándar. Actúa como un puente entre las peticiones externas y el núcleo del sistema.
-
Protocolos Soportados: HTTP, HTTPS y SMTP (también WebDAV, SOAP y SMTP para integración).
-
Formatos Visualizados: HTML, XML, OData y XSLT.
-
Roles: El servidor de aplicación ABAP puede actuar como servidor (procesando peticiones de navegadores web) o como cliente (enviando peticiones a servicios externos).
-
Conectividad: Gestiona conexiones tanto de Internet (a través de firewalls) como de Intranet, distribuyendo la carga hacia servidores SAP S/4HANA o SAP ECC.
Desde un punto de vista técnico, el ICM es un proceso independiente a nivel del sistema operativo, iniciado y monitoreado por el ABAP Dispatcher. Sus componentes principales son:
-
Thread Control (Control de Hilos): Recibe las peticiones TCP/IP entrantes y asigna un worker thread del pool para procesarlas.
-
Worker Thread (Hilo de Trabajo): Maneja la entrada/salida de red y utiliza plug-ins específicos según el protocolo (HTTP, SMTP, etc.) para procesar la respuesta.
-
Watchdog: Monitorea los hilos de trabajo en espera de respuesta; si ocurre un timeout, libera al hilo para otras tareas.
-
Signal Handler: Procesa señales del sistema operativo o de otros procesos como el Dispatcher.
-
Connection Information: Una tabla que mantiene el registro de todas las conexiones de red activas.
-
Memory Pipes: Objetos que permiten la transferencia de datos de alto rendimiento entre el ICM y los procesos de trabajo de ABAP.
Para mejorar el rendimiento, el ICM incluye una memoria caché denominada ISC, que almacena objetos HTTP(S) para que las peticiones recurrentes no necesiten ser procesadas nuevamente por el servidor ABAP.
-
Jerarquía de dos niveles: Utiliza memoria principal (muy rápida) y disco duro (mayor capacidad).
-
Caché Dinámico: A diferencia de proxies tradicionales, puede almacenar contenido dinámico como páginas JSP o BSP.
-
Caché Activo: La aplicación tiene control para asegurar que los datos almacenados estén siempre actualizados.
-
Caché UFO (UnFound Objects): Almacena peticiones inválidas para rechazarlas rápidamente en el futuro, protegiendo al sistema de ataques o errores persistentes.
-
Caché dependiente del navegador: Permite configurar si el contenido guardado varía según el tipo de navegador utilizado.
-
Configuración: Se gestiona mediante el parámetro de perfil icm/HTTP/server_cache y puede ser monitoreado directamente desde el sistema SAP.
Procedimiento de Inicio y Monitoreo del ICM
1. Inicio del Proceso ICMEl inicio del ICM está controlado principalmente por parámetros del perfil del sistema:
-
Parámetro rdisp/start_icman: Define si el proceso ICM se inicia automáticamente al arrancar el servidor de aplicaciones.
-
Valores: true (por defecto) o false.
-
-
Particularidad en SAP S/4HANA: Según la Nota SAP 2560792, a partir del Kernel 7.72, las instancias ABAP siempre inician con un proceso ICM. En estas versiones, el parámetro mencionado ya no existe y es ignorado.
-
Configuración de Puertos: Los parámetros que comienzan con icm/server_port_ son críticos, ya que determinan los puertos utilizados para cada protocolo (HTTP, HTTPS, etc.) y sus tiempos de espera (timeout).
Existen tres niveles principales para visualizar el estado del ICM:
-
Transacción SM51: Permite obtener una visión general rápida de qué servidores de aplicación están ejecutando un ICM.
-
Transacción SMICM (Monitor del ICM): Es la herramienta más importante para el administrador. Muestra información detallada como el ID de los hilos (threads).
-
Interfaz de Administración Web: Una alternativa accesible vía navegador web o mediante SAP MC / SAP MMC que ofrece las mismas funciones que la SMICM.
Desde el Monitor del ICM, un administrador puede realizar las siguientes tareas:
-
Gestión del Proceso: Reiniciar o finalizar el ICM. Se puede optar por una "terminación suave" (señal Unix 2) o una "terminación dura" (señal Unix 9). El dispatcher ABAP se encarga de iniciar un nuevo proceso tras el cierre.
-
Nivel de Trace: Configurar el nivel de detalle del registro de errores (valores de 0 a 3). Los archivos se pueden consultar en el menú Pasar a -> Fichero Trace (archivos dev_icm o dev_icm_sec).
-
Estadísticas: Visualizar el número de peticiones procesadas y los tiempos de procesamiento.
-
Modo de Mantenimiento: Permite desconectar el ICM del servidor de mensajes ABAP. En este modo, el ICM solo termina de procesar las peticiones pendientes y rechaza las nuevas con un mensaje de "servicio no disponible".
-
Consulta de Parámetros: Se pueden ver los parámetros activos desde SMICM (Goto -> Parameters -> Display) o mediante la transacción RZ11. Para ver documentación técnica de un parámetro, se puede acceder desde el menú de SMICM.
-
Control del Caché (ISC): Permite visualizar el contenido almacenado y resetearlo de forma local o global para invalidar objetos HTTP antes de que expiren.
-
Programa a nivel de SO (icmon): Es un pequeño programa ejecutable desde la línea de comandos del sistema operativo que permite monitorear el ICM e incluso simular cargas de trabajo.
Configurar SSL para el ICM
1. Conceptos Fundamentales de SSL en ICMEl protocolo Secure Sockets Layer (SSL) se utiliza para cifrar los datos transmitidos entre el cliente y el servidor, asegurando las conexiones HTTP. Para que esto funcione, el servidor requiere tecnología de clave pública:
-
Requisitos de Identidad: El servidor debe poseer un par de claves (pública y privada) y un certificado de clave pública.
-
Roles de Identificación:
-
Un par de claves/certificado para identificarse como componente servidor.
-
Otro par de claves/certificado para identificarse como componente cliente.
-
-
Almacenamiento (PSE): Estos elementos se guardan en entornos de seguridad específicos llamados Personal Security Environments (PSEs). Los principales son el SSL server PSE y el SSL client PSE.
La configuración sigue un flujo lógico a través de distintas transacciones de SAP:
-
Establecer parámetros de perfil para SSL:
-
Se definen los parámetros necesarios para que el sistema reconozca y soporte el cifrado.
-
Transacción: RZ10.
-
-
Crear y mantener el certificado SSL del servidor en el PSE:
-
Aquí se generan las solicitudes de certificados y se gestionan las carteras de seguridad.
-
Transacción: STRUST.
-
-
Reiniciar el ICM:
-
Para que los cambios de parámetros y los nuevos certificados surtan efecto en el proceso de comunicación.
-
Transacción: SMICM.
-
-
Configuraciones específicas y pruebas:
-
Realizar ajustes finales dependiendo de la aplicación o escenario y ejecutar pruebas de conexión para validar el cifrado.
-
Herramienta: Depende de la aplicación o escenario específico.
-
El material destaca varias fuentes oficiales de SAP para profundizar en la configuración y resolución de problemas (Troubleshooting):
-
Rutas de Documentación: Se recomienda consultar el área de Enterprise Technology -> ABAP Platform -> Securing the ABAP Platform en la ayuda oficial de SAP S/4HANA.
-
Notas SAP Relevantes:
-
Nota 510007: Consideraciones adicionales para configurar SSL en el servidor de aplicaciones ABAP.
-
Nota 2007212: Optimización (tuning) de SAP Web Dispatcher e ICM para alta carga.
-
Nota 2149132: Verificaciones de rendimiento del ICM.
-
Nota 2160678: Problemas cuando el SSO (Single Sign-On) deja de funcionar al configurar parámetros de confianza en el ICM.
-
Nota 2052899: Configuración de múltiples Proxies Inversos de confianza (Trusted Reverse Proxies).
-
 
 
 
Sobre el autor
Publicación académica de Fernando Escola, en su ámbito de estudios para la Carrera Consultor SAP BASIS S/4HANA.
Fernando Escola
Profesión: Especialista en Infraestructura It - Argentina - Legajo: SJ78C
✒️Autor de: 58 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Presentación:
Soy un profesional de tecnología con más de 25 años de experiencia en infraestructura it, soporte técnico y administración de entornos corporativos. a lo largo de mi carrera trabajé brindando soporte
Certificación Académica de Fernando Escola
























