✒️SAP BASIS Internet Communication Manager (ICM)
SAP BASIS Internet Communication Manager (ICM)
Internet Comunication Manager (ICM)
Video: ¿Cómo monitorear el ICM y qué herramientas utilizar para tal fin?
Para determinar cuantos ICM existen en el sistema llamamos a la transacción SM51. Esta transacción nos muestra todos los servidores de aplicación activos en nuestro sistema. Ahí nos indica que los servidores que tienen activo el componente ICM.
Transacción SMICM: Esta transacción nos muestra el estado del componente ICM.
Desde el menú vamos a "Pasar a -> Servicios". Desde ahí se pueden ver los servicios activos para el componente ICM.
Desde el menú vamos a "Pasar a -> Parámetros -> Visualizar/Modificar" para visualizar o modificar los parámetros relacionados al componente ICM.
La versión del componente ICM la podemos ver haciendo clic en "Infos de release"
Para observar las estadísticas del uso del componente ICM desde su último reset, vamos a "Pasar a -> Estadísticas -> Visualizar". Cada vez que se acceda a aplicación web de SAP, las estadísticas se van a actualizar.
Podemos ver también la cache desde "Pasar a -> Cache de servidor HTTP -> Visualizar", el cual nos permitirá ver el contenido de las aplicaciones web que se almacena en caché.
Herramienta ICMON: Es una herramienta de SO que sirve, para entre otras cosas, generar prueba de carga en el componente ICM. Para ejecutarla, tipeamos en la consola de comando "icmon pf <<perfil de la instancia>". Luego presionamos "m" para ir al menú y después "g" para generar carga de cliente. Nos pedirá ingresar ciertos parámetros y en el último de todo ingresamos la cantidad de solicitudes que deseamos cargar. Esto lo vemos reflejado en las estadísticas del ICM.
Arquitectura del Proceso ICM
El SAP Web Application Server puede funcionar tanto como un Web Server (rol del servidor) y como un Web Client (rol de cliente). Cuando funciona como Web Server, el SAP Web AS acepta y procesa solicitudes HTTP de cualquier cliente Web y envía de vuelta una respuesta HTTP.
Dentro de un work process, el ICF (Internet Communication Framework) provee el entorno para manejar las solicitudes HTTP, es decir, el ICF es el puente entre el kernel del sistema SAP y el programa creado en SAP.
Desde la versión 6.10 de SAP Web AS, los work processes pueden generar directamente contenido web de tal forma que pueden ser enviados a un navegador web mediante el ICM. Una manera de crear contenido web es mediante BSPs (Business Server Pages) mediante la transacción SE80.
Objetivo del ICM: El proceso ICM está separado y es iniciado y monitoreado por el dispatcher de ABAP. La tarea del ICM es asegurar que el sistema SAP pueda comunicarse con el mundo exterior (usando HTTP, HTTPS y SMTP).
En el caso del rol de servidor web, puede procesar solicitudes que llegan desde Internet mediante URLs con el servidor y puerto para el cual el ICM está escuchando, así luego llama al handler apropiado, dependiendo de la URL.
Componentes del ICM: Utiliza los siguientes hilos de ejecución para procesar la carga de trabajo en paralelo:
- Thread control: Recibe la solicitud TCP/IP entrante y crea un worker thead del pool para procesar la solicitud.
- Worker Thead: Maneja las solicitudes y respuestas para una conexión. Contiene un administrador I/O para las entradas y salidas de red, y varios plugins para soportar diferentes protocolos.
- Watchdog: El watchdog se encarga de tomar el control de la tarea que está esperando una respuesta en caso de que ocurra un timeout.
- Signal Handler: Procesa las señales que son enviadas por el SO u otro proceso (tal como el ABAP dispatcher).
- Connection Info: Es una tabla que contiene información sobre las conexiones de red existentes.
- Memory Pipes: Son objetos de comunicación basados en memoria que permite la transferencia de datos entre el ICM y el work process ABAP.
El ICM usa plugins para implementar varios protocolos de comunicación, tales como HTTP, HTTPS y SMTP.
Internet Server Cache (ISC)
El ISC es una parte del ICM muy importante para la perfomance. Almacena objetos HTTP/s antes de que sean enviados al navegador Web. Esto provoca que se acelere significativamente el acceso a la próxima solicitud.
Algunos aspectos importantes del ISC son:
- Jerarquía de dos niveles: Cuando se almacenan objetos se utiliza las ventajas de la velocidad de la memoria principal y la capacidad de almacenamiento (ambas cache)
- Cacheo Dinámico: El ISC puede almacenar en cache contenido dinámico tal como las páginas JSP o BSP.
- Cacheo Activo: Se mantienen actualizados los datos que se encuentran en caché.
- Cacheo UFO: Protege el sistema contra solicitudes inválidas o malintencionadas.
- Cacheo dependiente de navegador Web: Si la aplicación es dependiente del tipo de navegador web, el ISC usa los datos en el cache solamente para las solicitudes enviadas por ese tipo de navegador.
El ISC es configurado mediante los parámetros de perfil "icm/HTTP/server_cache*" y puede ser monitoreado e invalidado desde el sistema SAP.
Procedimiento de Inicio y Monitoreo del ICM
El parámetro de perfil "rdisp/start_icman" controla si un proceso ICM es también iniciado cuando un servidor de aplicación (instancia) es iniciado (su valor por defecto es "true")
Un parámetro importante es el "icm_server_port_" ya que especifica el puerto utilizado para cada protocolo, así también como otras propiedades tales como el timeout.
La herramienta más importante para un administrador en el entorno ICM es el Monitor ICM (transacción SMICM). Los datos visualizados en esta transacción son dependientes de la instancia donde corre el ICM.
Algunas actividades administrativas que se pueden realizar desde el ICM son:
- Monitorear y reiniciar el ICM.
- Configurar el nivel de traza (Pasar a -> Nivel Trace -> Fijar).
- Evaluar los archivos de traza (Pasar a -> Fichero Trace -> Visualizar todo). El sistema lee el archivo "dev_icm" desde el directorio work de la instancia.
- Visualización de los parámetros (Pasar a -> Parámetros -> Visualizar).
- Visualización de estadísticas (Pasar a -> Estadísticas -> Visualizar).
- Monitoreo del Cache de ICM (Pasar a -> HTTP Server Cache -> Visualizar). El ICM server cache almacena objetos HTTP antes de ser enviados al cliente.
También el programa a nivel SO "icmon" muestra información sobre el ICM, mediante el comando "icmon - h".
IMPORTANTE: Las notas 737625 y 634006 muestran recomendaciones para configurar parámetros del ICM.
 
 
 
Sobre el autor
Publicación académica de Rodrigo Leonardo María García, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Rodrigo Leonardo María García
Profesión: Analista de Administración Sap - Argentina - Legajo: CM14L
✒️Autor de: 96 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Presentación:
Me llamo rodrigo, tengo 23 años y vivo en argentina. soy ingeniero en sistemas de información y actualmente trabajo en una empresa nacional como administrador sap.
Certificación Académica de Rodrigo María