✒️SAP BASIS Internet Communication Manager (ICM)
SAP BASIS Internet Communication Manager (ICM)
NOTAS UTILES SOBRE ICM
SAP NOTE 737625: Parametres recommendations for the icm
Sap note 634006: ICM MESSAGES EXPLANATORY NOTE
Internet Comunication Manager (ICM)
VIDEO: Como monitorear ICM y la utilizacion de varias herramientas para tal fin.
ICM = proceso central para las conexiones de intranet e internet. Procesa solicitudes HTTP/HTTPS/SMTP.
Icm asegura la conexion y comunicacion entre los sistemas sap y ek nbdi exterior usando protocolos.
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
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.
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.
para testear un solicitud por el navegador tienes que llamarla por la url:
http://<nombre de tu pc>:8000/sap/public/ping
En caso que no funcione, es que el servicio ping está deshabilitado... por lo tanto se debe activar, para ello:
1) ejecutas la transacción SICF
2) buscas en el árbol de servicios lo del path del link de arriba, es decir SAP-> public -> y verás que hay un nodo que se llama ping
si presionas con el botón derecho del mouse sobre el nodo, te dará las opciones y entre ellas activar y desactivar... en el caso de la imagen que muestro a continuación solo podré desactivarlo pues ya se encuentra activo!
Vemos que tambien hay una opción que dice Test Service, si lo presionamos llama al navegador directamente desde allí
 
 
 
Sobre el autor
Publicación académica de Mayra Yanina Gambin, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Mayra Yanina Gambin
Profesión: Docente - Argentina - Legajo: NV61P
✒️Autor de: 102 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Certificación Académica de Mayra Gambin