![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️SAP BASIS Internet Communication Manager (ICM)
SAP BASIS Internet Communication Manager (ICM)
![SAP BASIS Internet Communication Manager (ICM) SAP BASIS Internet Communication Manager (ICM)](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/99.jpg)
Internet Comunication Manager (ICM)
ICM = proceso central para las conexiones de intranet e internet. Procesa solicitudes HTTP/HTTPS/SMTP.
1 - Arquitectura del proceso de ICM
Aspectos importantes de ICM:
>Soporte para protoclos Web estándar como HTTP, HTTPS, Web DAV, SOAP y SMTP.
>Salida en formatos Web estándar tales como HTML, XML y XSLt.
>Completa integración dentro del entorno SAP.
SAP Web Application Server puede funcionar tanto como un Web server (servidor) y como un Web client (cliente).
Como servidor: acepta y procesa solicitudes HTTP de cualquier cliente Web (como un navegador web) y envía de vuelta una respuesta HTTP.
Dentro de un work process, el Internet Communication framework (ICF) provee el entorno para manejar solicitudes HTTP. ICF es el puente entre el kernel de lsistema SAP y el programa creado en ABAP.
Desde la versión 6.10 de SAP Web AS, los work processes pueden generar directamente contenido web-compatible de tal forma que pueden ser enviados a un navegador web mediante ICM.
Desde un punto de vista téncio, ICM está separado (icman a nivel SO) y es iniciado y monitoreado por el dispatcher de ABAP. ICM asegura que el sistema SAP pueda comunicarse con el exterior usando HtTP, HTTPs y SMTP.
ICM utiliza threads (hilos) de ejecución para procesar la carga de trabajo en paralelo.
Componentes del ICM son:
>Thread control: recibe la solicitud TCP/IP entrante y crea (o despierta) un worker thread del pool de threads para procesar la solicitud.
>Worker Thread: maneja las solicitudes y respuestas para una conexión. Contiene un administrador I/O para las entradas y salidas de red, y varios plug-ins para los diferentes protocolos soportados
>Watchdog: normalmente, un worker thread espera por la respuesta.. si ocurre un timeout, watchdog toma control sobre la tarea que está esperando la respuesta. El worker thread luego puede ser utilizado para otras solicitudes.
>Signal Handler: procesa las señales que son enviadas por el sistema operativo u otro proceso (como el ABAP dispatcher)
>Connection info: esta tabla contiene información sobre las conexiones de red existentes
>Mermoy pipes: objetos de comunicación basados en memoria que permite la transferencia de datos entre el ICM y el work process ABAP.
El ICM usa plug-ins para implementar varios protocolos de comunicación. Los siguientes protoclos pueden ser utilizados imendiatamente luego de una instalación:
HTTP - HTTPS - SMTP
2 - Internet Server cache (ISC)
Es una parte de ICM que es importante para la performance. Almacena objetos HTTP(S) antes de que sean enviados al navegador web. La próxima solicitud puede ser encontrada directamente desde el ISC, mientras el tiempo de expiración no haya vencido, con lo cual acelera significativamente el acceso.
Aspectos del ISC:
>Jerarquía de dos niveles: cuando se almacenan dos objetos, las ventajas de la velocidad de la memoria principal (cache memoria) y la capacidad de almacenamiento (cache disco) son utilizadas.
>Cacheo dinámico: ISC puede almacenar en cache contenido dinámico tal como las páginas JSP o BSP.
>Cacheo activo: la aplicación tiene control total sobre la actualización de objetos que se encuentran en cache, por lo que debe asegurarse que estén actualizados.
>Cacheo UFO: solicitudes inválidas (unFound Objects) que generan situaciones de error en el servidor de aplicación o la DB son directamente rechazadas, de esta manera el sistema queda protegido contra solicitudes inválidas o malintencionadas.
>Cacheo dependiente de navegador web: los desarrolladores de un BSP pueden definir si su aplicaicón es dependiente del tipo de navegador web. Si este indicador está marcado, ISC usa los datos en el cache solamente para las solicitudes enviadas por este tipo de navegador.
ISC es configurado mediante los parámetros del perfil icm/HTTP/server_cache* y puede ser monitoreado e invalidado desde el sistema SAP.
3 - Procedimiento de Inicio y Monitoreo del ICM
Parámetro: rdisp/start_icman, controla si un proceso de ICM es también iniciado cuando un servidor de app (instancia) es iniciado. Si ningún valor es especificado, true (por defecto) aplica.
ICM se configura mediante los parámetros del perfil que en su mayoría comienzan con icm/. La configuración del parámetro icm/server_port es de particular importancia. Especifica el puerto utilizado para cada protocolo, así también como las propiedades del protocolo, como el timeout.
En el sistema SAP, podemos ver que servidores de aplicación están corriendo con un ICM mediante la transacción SM51.
Para información más detallada, como ID de hilo de ejeucción podemos usar la transacción SMICM (monitor ICM). Para
Los datos visualizados en SMICM son dependientes de la instancia donde corre el ICM, similar a SM50 (work process).
Actividades administrativas desde SMICM:
- Monitorear y reiniciar el ICM
- Configurar el nivel de traza. Pueden ir de 0 a 3.
- Evaluar los archivos de traza. Archivo dev_icm desde el directorio de work de la instancia.
-VIsualización de los parámetros del perifl (go to --> parameters --> Display/change).
-Visualización de estadísticas (go to --> statistics --> Display). Desde aquí podemos ver la cantidad de solicitudes que el ICM ha procesado desde que se inició o desde que se reiniciaron las estadísticas. El sistema meustra también información sobre la duración del proceso.
- Monitoreo de Cache de ICM (go to --> HTTP Server cache --> Display). Almacena objetos HTTP antes de ser enviados al cliente.
También a nivel de sistema operativo ICMON muestra información sobre el ICM.
 
 
 
Sobre el autor
Publicación académica de Johanny Espinoza Loaiza, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Johanny Espinoza Loaiza
Profesión: Emprendedor, Director Proyectos It - Costa Rica - Legajo: MM39A
✒️Autor de: 195 Publicaciones Académicas
🎓Cursando Actualmente: Consultor en SAP FI Nivel Avanzado
🎓Egresado de los módulos:
- Carrera Consultor en SAP FI Nivel Inicial
- Carrera Consultor Basis NetWeaver Nivel Avanzado
- Carrera Consultor Basis NetWeaver Nivel Inicial
Disponibilidad Laboral: FullTime
Presentación:
soy johanny, emprendedor, director de proyectos de it, experto en planificacion de negocios, habilidades analíticas, gestion de relaciones con los clientes y servicios compartidos.
Certificación Académica de Johanny Espinoza