![](/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/323.jpg)
LECCION 7: INTERNET COMMUNICATION MANAGER (ICM)
Las nuevas aplicaciones de SAP basadas en Business Server Pages (BSP s) y servicios SOAP se implementan en una compañía en el contexto de cambiar a una arquitectura moderna de IT y orientada a servicios.
Como miembros del equipo de administración de sistemas, es nuestra tarea configurar los sistemas SAP en virtud de estos requerimientos. Para esto, necesitamos tener una visión del proceso central para las conexiones de Intranet e internet, el internet Communication Manager (ICM).
1.- Arquitectura del Proceso de ICM
Algunos aspectos importantes son:
·Soporte para protocolos Web estándar tales como HTTP, HTTPS,WebDAV, SOAP y SMTP.
·Salida en formatos Web estándar tales como HTML, XML y XSLT.
·Completa integración dentro del entorno SAP (desarrollo, administración, concepto de autorización, monitoreo y protocolo de comunicación)
El SAP Web Application Server puede funcionar tanto como un Web server (rol de servidor) y como un Web client (rol de cliente). El rol de servidor en el cual el SAP Web AS acepta y procesa solicitudes HTTP de cualquier cliente Web (tal como un navegador Web) y envía de vuelta una respuesta HTTP, el cual es el caso que veremos en esta lección.
Dentro de un work process, el Internet Communication Framework (ICF) provee el entrono par manejar las solicitudes HTTP. El ICF es el puente entre el kernel del sistema 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 puedan ser enviados a un navegador web mediante el ICM. Una manera de crear contenido de este tipo es utilizar aplicaciones con Business Server Pages (BSPs), las cuales son desarrolladas en el sistema SAP utilizando como herramienta la transacción SE80.
Desde un punto de vista técnico. El proceso ICM esta separado (icman a nivel del sistema operativo) 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 del servidor web, puede procesar solicitudes que llegan desde Internet mediante URLs con el servidor y puerto para el cual el ICM esta escuchando. El ICM luego llama al local handler apropiado, dependiendo de la URL.
El proceso ICM utiliza theards (hilos) de ejecución para procesar la carga de trabajo en paralelo. Los componentes del ICM son:
·Thread control: este thread recibe la solicitud TCP/IPentrante y crea (o despierta) un worker thread del pool de thread para procesar la solicitud.
·Worker Thread: ese thread maneja las solicitudes y respuestas para una conexión. Un worker thread contine un adiministrador 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 (ya sea que fuese el cliente o el servidor); si ocurre un timeout, el watchdog toma control sobre la tarea que esta 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 (tal como el ABAP dispatcher)
·Connection Info: esta tabla contiene información sobre las conexiones de red existentes.
·Memory Pipes: estos son objetos de comunicación basados en memoria que permite la transferencia de datos entre el ICM y el Work porcess ABAP.
El ICM usa plug-ins para implementar varios protocolos de comunicación. Los siguientes protocolos pueden ser usados inmediatamente luego de la instalación del SAP Web AS:
HTTP
HTTPS
SMTP
2.- Internet Server Cache (ISC)
El internet server cache (ICS) es una parte del 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, lo cual acelera significativamente el acceso.
Algunos aspectos de ISC:
·Jerarquia de dos niveles: cuando se almacenan objetos, las ventajas de la velocidad de la memoria principal (cache de memoria) y la capacidad de almacenamiento (cache de disco) son utilizadas.
·Cacheo Dinamico: los productos tradicionales son basados en proxies HTTP y generalmente ofrecen cacheo de contenido estatico únicamente, tal como las imágenes. El ISC puede almacenar en cache contenidos dinamico tal como las paginas JSP o BSP.
·Cacheo Activo: La aplicación tiene control total sobre la actualización de los objetos que se encuentran en cache, por lo que debe asegurar que estén actualizados.
·Cacheo UFO: Solicitudes invalidas (UnFound Objects) que generan situaciones de error en el servidor de aplicación o la base de datos son directamente rechazadas, de esta manera el sistema queda protegido contra solicitudes invalidas o malintencionadas.
·Cacheo dependiente de navegador Web: Los desarrolladores de un BSP pueden definir si su aplicación es dependiente del tipo de navegador web. Si este indicador esta marcado, 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.
3.- Procedimiento de inicio y monitoreo del ICM
El parámetro de perfil rdisp/start_icman controla un proceso ICM es también iniciado cuando un servidor de aplicación (instancia) es iniciado. Si ningún valor es especificado, el valor por defecto true (verdadero) aplica.
El ICM se configura mediante los parámetros de perfil que en su mayoría comienzan con icm/. La configuración del parámetro icm/servr_port_es de particular importancia. Este parámetro de perfil especifica el puerto utilizado para cada protocolo, asi también como otras propiedades del protocolo, como el timeout.
En el sistema SAP, podemos obtener una vista rápida de los servidores de aplicación que están corriendo con un ICM mediante la vista de servidores de aplicación , trx SM51.
Para información mas detallada, tal como el ID de hilo de ejecución, podemos usar el monitor de ICM, TRX SMICM. Desde esta trx, es posible finalizar el proceso de ICM, para esto debemos utilizar el camino de menú Administracion àICM y seleccionar soft termination (corresponde a una señal 2 en UNIX) o hard termination (corresponde a una señas 9 en UNIX). El dispatcher luego inicia un nuevo proceso de ICM.
Mediante la selección del menú Administration àRestartàYes/No, controlamos si el ABAP dispatcher reinicia el ICM cuando este finaliza por un error o como se explico recientemente por el administrador de forma manual.
La herramienta mas importante para un administrador en el entorno ICM es el Monitor ICM, transacción SMICM. Tener en cuenta que los datos visualizados aquí son dependientes de la instancia donde corre el ICM, de la misma manera que la vista de work porcesses, en la trx SM50.
Algunas actividades administrativas, desde la trx SMICM, son:
·Monitorear y reiniciar el ICM
·Configurar el nivel de traza (GotoàTrace level à …), los valores puede ir de 0 a 3.
·Evaluar los archivos de traza (GotoàTrace fileà…); el sistema lee el archivo dev_icm desde el directorio work de la instancia.
·Visualizacion de los parámetros de perfil (Goto àParameters àDisplay/Change). El ICM se configura con los parámetros de perfil. Los valores de los parámetro visualizados aplican para la instancia en la que estamos logueados. Para la documentación de los parámetros, podemos ir desde el monitor ICM (Goto àParametersàChange y luego el botón Documentation), la trx RZ11 y en la librería de SAP.
·Visualizacion de estadísticas (GotoàStatiscsàDisplay). Podemos utilizar las estadísticas para ver la cantidad de solicitudes que el ICM ha procesado desde que se inicio o desde que se reiniciaron las estadísticas. El sistema también muestra información sobre la duración del procesamiento.
·Monitoreo del Cache del ICM (GotoàHTTP Server CacheàDisplay). El ICM server cache almacena objetos HTTP antes de ser enviados al cliente. La próxima vez que un objeto es solicitado, el contenido podrá ser enviado directamente desde el cache al cliente.
Tambien el programa a nivel de sistema operativo icmon muestra información sobre el ICM. La llamada icmon –h muestra los parámetros que pueden usarse para este programa, el cual, también puede generar carga de trabajo.
 
 
 
Sobre el autor
Publicación académica de Arnold Sevilla, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Arnold Sevilla
Profesión: Pasante de la Carrera Ing.informati - Honduras - Legajo: ML28W
✒️Autor de: 93 Publicaciones Académicas
🎓Egresado de los módulos:
Presentación:
Hola, buenos días, mi nombre es arnold sevilla, estudio la carrera de ing.informatica.
Certificación Académica de Arnold Sevilla