SM51, veo cuantos ICM existen en el sistema
Trx SM51 veo los servidores de aplicación que están corriendo con un ICM
SMICM veo el status (running) del ICM, parámetros, versión (opción Release Note), estadisticas
Goto >> Services (veo servicios activos para el componente ICM, veo http, smtp y en que puerto
Goto >> Parameters >> Display
Goto >> Statitics >> Display
comando icmon :
c:usrsapdevsysprofileicmon pf=ESCRIBIMOS_EL_PERFIL_DE_LA_INSTANCIA
Ejemplo del perfil de la instancia: DEV_DVEBMGS00_twdf1920
escogemos m y luego g para generar carga de datos para el icm.
Nuevas aplicaciones en SAP están basadas en BSPs (Business Server Pages) y servicios SOAP. De esta manera tendremos una arquitectura de IT moderna y orientada a objetos.
ICM presenta:
- soporte para http, https, WebDAV, SOAP, smtp
- salida en formatos web estandar: html, xml, xslt
- completa integración dentro del entorno sap (desarrollo, administración, concepto de autorización, monitoreo y protocolos de comunicación)
Dentro de un work process, el ICF (Internet Communication Framework) provee el entorno para manejar solicitudes http.
El ICF es el puente entre el kernel del sap y el programa creado en ABAP.
Los work process pueden generar directamente contenido web compatible de tal forma que pueden ser enviados a un navegador web mediante el ICM a partir de Sap Web AS 6.10.
Una manera de crear contenido de este tipo es creando aplicaciones mediante BSPs a través de la trx SE80
Técnicamente el proceso ICM está separado del sap (icman a nivel del SO) y es iniciado y monitoreado por el dispatcher de ABAP.
La tarea del ICM es asegurar que el sistema sap se pueda comunicar con el mundo exterior usando http, https, smtp
Como servidor web, puede procesar solicitudes desde internet mediante urls con el servidor y puerto en el cual icm está escuchando. El ICM luego llama el local handler apropiado dependiendo del url
El proceso icm utiliza threads (hilos) de ejecución para procesar la carga de trabajo en paralelo.
Componentes ICM:
- Thread Control: este thread recibe la solicitud http entrante y crea un worker thread del pool de threads para procesar la solicitud.
- Worker Thread: maneja las solicitudes y respuestas para una conexión. Un worker thread contiene un administrador I/O para las entradas y salidas de red y varios plugins para los diferentes protocolos soportados.
- Watchdog: un work thread espera por la respuesta , si ocurre un timeout, el watch dog toma el control sobre la tarea que está esperando una respuesta. El worker thread puede ser usado luego para atender a otras solicitudes.
- Signal Handler: procesa las señales que son enviadas por el SO u otro proceso tal como el ABAP dispatcher.
- Connection Info: esta tabla contiene información sobre las conexiones de red existentes.
- Memory Pipes: son objetos de comunicación basados en memoria que permite transferencia de datos entre el ICM y el work process ABAP.
El icm usa plugins para implementar varios protocolos de comunicación.
Http, https, smtp, son protocolos que pueden ser usados inmediatamente luego de la instalación del icm
Internet Server Cache (ISC)
ISC es una parte del ICM que es importante para la performance.
Almacena objetos http (s) antes que sean enviados al navegador web. Una nueva solicitud puede ser encontrada directamente desde el ISC mientras el tiempo de expiración no haya vencido.
ISC ofrece:
- Jerarquia en 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)
- Cacheo dinámico, tal como páginas BSP o JSP.
- Cacheo Activo, la aplicación tiene control total sobre la actualización de los objetos qe se encuentran en caché, por lo que se deben asegurar que estén actualizados.
- Cacheo UFO, solicitudes inválidas (unfound objects) que generan situaciones de error en el servidor de aplicación o la base de datos, son directamente rechazadas.
- Cacheo dependiente del navegador web, el isc usa los datos en el caché solamente para las solicitudes enviadas por un navegador específico para lo cual los desarrolladores de un BSP pueden definir si su aplicación es dependiente del tipo de navegador web.
El ISC es configurado mediante los parámetros de perfil icm/HTTP/server_cache* y puede ser monitoreado e invalidado desde el sistema sap.
El parámetro de perfil rdisp/start_icman toma valores 1 o 0 . Por defecto es 1 (true). Este parámetro controla si un proceso ICM es iniciado cuando un servidor de aplicación (instancia) es iniciado.
El ICM se configura mediante los parámetros de perfil que en su mayoría empiezan con icm/
icm/server_port , es el puerto usado.
Desde SMICM puedo finalizar el proceso de ICM mediante:
menú Administration >> ICM y escogemos:
- soft termination
- hard termination
además:
menú Administration >> Restart >> Yes/No controlamos si el ABAP dispatcher reinicia el ICM cuando este finaliza por error o de forma manual.