✒️SAP Web Dispatcher
SAP Web Dispatcher
2.10 - SAP Web Dispatcher
Nuestra tarea como administradores del sistema SAP será implementar un método efectivo de distribución de carga entre las diferentes instancias del sistema
- Implementación del SAP Web Dispatcher.
Deberemos considerar el uso de SAP Web Dispatcher si las aplicaciones Web que estamos operando en el sistema SAP son implementadas como aplicaciones en ABAP (por ejemplo, BSPs) y/o en JAVA.
Algunos requisitos que motivaron el desarrollo de SAP Web Dispatcher.
- Las aplicaciones Web serán utilizadas desde Internet. La red de la compañía está protegida mediante una zona DMZ (Delimitarized Zone) y los procesos críticos de negocio corren sobre servidores que no son reconocidos en Internet.
- El sistema SAP en cuestión consiste de múltiples servidores de aplicación (instancias) que están distribuidas entre diferentes hosts. De todas formas, las aplicaciones web provistas deberían correr bajo una dirección descriptiva; los detalles técnicos tal como el nombre del servidor y número de puerto permanecerían ocultos a los usuarios.
- De qué manera podría una distribución sensible implementarse? Hoy todos los servidores mi aplicación podría no proveer todos los servicios (ICF o un Stack JAVA).
Los requerimientos de este tipo, pueden ser implementados utilizando productos de terceros conocidos como proxys inversos o conmutadores web. Las 3 ventajas que tienen a es el costo adicional que representan y una integración limitada SAP.
El SAP Web Dispatcher, hoy disponible a partir de la versión de SAP Web AS 6.20, hoy actúa como un computador de software web. Es un programa estándar lo que puede correr en un host separado sin ningún software adicional, Es un punto central para solicitudes https a un sistema SAP, incluyendo una distribución de carga a través de múltiples instancias.
El SAP web despachar es relevante solo en un entorno web. Cuando un SAP GUI se utiliza para el Access o el ABAP Messenger Server se encarga de la distribución de la carga.
En principio el message Server puede también distribuir la carga de solicitudes http, pero sus funciones están limitadas en contraste al SAP web Dispatcher, por lo cual sabes recomienda que se utilice este último.
Para más información, la nota SAP 104325 provee más información: HTTP load balancing: Message Server or Web Dispatcher?. En particular, el Message Server no debería utilizarse para distribuir cargas para el sistema CRM, por ejemplo, si hay solicitudes que se realizan al sistema SAP CRM desde un SAP Netweaver Portal.
- Funciones del SAP Web Dispatcher.
El el SAP Web Dispatcher, reenvía las solicitudes https a un servidor de aplicación específico. Esta sección describe el criterio por el cual se realiza esto:
Una solicitud http es asignada a un servidor en dos etapas:
- Primero, el SAP Web Dispatcher, determina si la solicitud HTTP será reenviado a un servidor ABAP o Java. Luego encuentra un grupo de servidores en el sistema que pueda ejecutar la solicitud.
- La distribución de carga se lleva a cabo dentro de este grupo. Después de que el SAP Web Dispatcher, ha identificado el servidor, reenvía la solicitud al ICM del servidor de aplicación elegido.
Un SAP Web Dispatcher, se puede distribuir solicitudes para solo un sistema SAP. Si múltiples sistemas SAP son requeridos, será necesario configurar diferentes procesos de SAP Web Dispatcher, para cada uno de los sistemas. (aunque podría correr en simultáneo en una computadora).
El SAP Web Dispatcher, es compatible de forma retroactiva, esto es, la versión del SAP Web Dispatcher, http puede ser más alta o igual a la versión del sistema back-end de SAP. El nivel de parche también puede diferir del nivel de parche del sistema back-end.
Para los sistemas basados en SAP Web AS 6.40 o SAP Netweaver AS 7.0, recomendamos utilizar el SAP Web Dispatcher 7.00, provisto que sea compatible con el sistema operativo utilizado.
Selección de Server.
El SAP Web Dispatcher, primero verifica si la solicitud debe ser procesada por el stack ABAP o JAVA del sistema SAP. Esta distinción está basada en el prefijo de la URL. Para la URL http://adm102.sap.com/A/B/C/Default.html, el prefijo que es analizado es la cadena /A/B/C.
Hola si este prefijo es conocido en el ICF, esto es una solicitud ABAP. Si la solicitud contiene solo un carácter / (barra inclinada), luego del nombre de host, requiere un tratamiento especial: el valor del perfil del parámetro /HTTP/default_root_hdl determina el destino.
En el caso de una solicitud ABAP, el SAP Web Dispatcher, primero usa una cookie para identificar si la solicitud es de una aplicación stateful. Si esto existe, la decisión es simple.
Hola las solicitudes enviadas al servidor de aplicación que está procesando ya esta sesión. Para una aplicación stateless, el grupo interno !DIAG es seleccionado, el cual consiste de todos los servidores de aplicación ABAP. Esto es usado solamente si un grupo de logon (creado mediante la transacción SMLG) es especificado explícitamente en el servicio ICF.
El AS Java también reconoce el concepto de grupos de logo, si un grupo de logone específico no ha sido configurado para el prefijo de la solicitud JAVA, el SAP Web Dispatcher, usa el grupo interno !J2EE. El caso de una aplicación stateful, esto es indicado a través de la información de sesión en la URL o en una cookie. Por razones de compatibilidad, la cookie de sesión jsessionid puede también ser utilizada aquí.
El SAP Web Dispatcher obtiene información sobre los grupos del logon y el mapeo de URLs del servidor de aplicación ABAP vía HTTP(s). Para que esto suceda, el servicio /sap/public/icman y /sap/public/icf_info/* debe ser activados en él ICF.
Balance de Carga.
El SAP Web Dispatcher obtiene información sobre los servidores de aplicación del sistema SAP del message server vía HTTP(s). Es posible usar el SAP Web en sistemas ABAP puros así también como en sistemas combinados ABAP JAVA y Sistemas JAVA puro. De este modo, la opción de instalación determina el message Server con el cual el SAP Web Dispatcher se comunica.
Partes involucradas en la comunicación del SAP Web Dispatcher para la información de servidores.
El SAP Web Dispatcher usa los parámetros rdisp/mshosts y ms/http_port para especificar el message Server asignado del sistema SAP. Por razones de compatibilidad, el parámetro obsoleto ms/http_port y ms/https_port aún funciona en el sistema SAP para el message Server ABAP pero no debería continuar utilizándose.
La interface HTTP del message server permite mostrar información sobre el servidor de aplicación con un navegador web. Para esto, llamamos a la URL: http://<server>:<port>/msgserver/commands.
El SAP Web Dispatcher distribuye las solicitudes en turnos dentro del grupo de servidores seleccionado por defecto acorde a la capacidad de carga de cada uno de los servidores de aplicación. Para ABAP, la capacidad se calcula a partir del número de procesos de diálogo (dialog work process) y para JAVA, del número de server process.
Podemos usar el perfil de parámetro wdisp/load_balancing_strategy (explicando en detalle la documentación online) hola para configurar el SAP Web Dispatcher, con diferentes procedimientos de balanceo de carga.
- Operación del SAP Web Dispatcher
La estructura interna del SAP Web Dispatcher estaba basado de un proceso ICM. Un archivo de perfil también es utilizado en este caso para determinar la configuración con la cual el SAP Web Dispatcher es iniciado. Es muy fácil copiar y usar el archivo ejecutable (sapwebdisp.exe) junto con el perfil de un servidor por separado del sistema SAP.
Parámetros de Perfil:
Para plantillas para el perfil y descripción de parámetros, puedes consultar con la documentación online. El SAP Web Dispatcher esencialmente solo necesita conocer el puerto en el cual recibirá las solicitudes HTTP (parámetro icm/server_port_) y en qué host (rdisp/mshost) y con qué puerto HTTP (ms/http_port) puede acceder al Messenger Server.
Desde el SAP Web AS 6.40, es posible también iniciar el SAP Web Dispatcher sin un archivo de perfil. Para esta opción de bootstrap (iniciada con el comando sapwebdisp - bootstrap), los siguientes pasos se llevan a cabo:
- Si el archivo de perfil sapwebdisp.pfl no existe aún, es creado basado en las entradas de manera interactiva.
- Si la autorización del archivo icmauth.txt no existe aún, es creado y un usuario es ingresado para la administración Web.
- El SAP Web Dispatcher es iniciado con el archivo de perfil creado.
- Go Live (Sin opción Bootstrap):
Iniciamos el SAP Web Dispatcher, con el comando del sistema operativo sapwebdisp pf=, donde podemos configurar opciones adicionales tal como un archivo y nivel de traza.
En Microsoft Windows, podemos configurar el SAP Web Dispatcher como un servicio con el comando ntscmgr install sapwebdisp -b sapwebdisp.exe -p "servicio pf=".
Para detener el SAP Web Dispatcher hoy usamos el comando kill del sistema operativo. Para esto necesitamos conocer el ID de proceso (PID), cual se puede identificar con la salida del comando cuando es iniciado o desde el archivo de traza (por defecto dev_sapwebdisp). En Unix, el comando kill -2; en Microsoft Windows, es sapntkill -NT.
- Monitoreo
Podemos monitorear el SAP Web Dispatcher con el comando icmon el cual vivimos en una elección previa. Cuando hacemos esto, no debemos modificar el archivo de perfil para el SAP Web Dispatcher. Desde el SAP Web AS 6.40, existe una interfaz de web para administrar y monitorear el SAP Web Dispatcher. Para usarla, los siguientes prerrequisitos deben cumplirse.
- Hemos descomprimido el paquete de instalación del SAP Web Dispatcher en un directorio.
- El archivo icmauth.txt existe para los administradores autorizados.
- El archivo de perfil del SAP Web Dispatcher, el parámetro icm/HTTP/admin_ existe.
Luego podemos llamar a la interface web de administración usando la URL http://<servidor>:<puerto>/<prefijo>. La sección se define con la asignación del atributo PREFIX del perfil de parámetro icm/HTTP/admin_xx. El valor /sap/wdisp/admin es el valor por defecto para la opción bootstrap.
Por razones de seguridad, utiliza https para la administración. Si usamos http las contraseñas de administrador se transfieren sin encriptación y podrían ser capturadas. Los datos de logon se verifican contra el archivo icmauth.txt. Sí iniciamos el SAP Web Dispatcher con la opción bootstrap, este es generado automáticamente. Podemos editar las entradas del archivo de autenticación icmatuh.txt usando el programa icmon mediante el comando icmon -a. Una vez que hemos ingresado, la interface de administración y monitoreo se visualiza, la cual se divide en un área de navegación (lado izquierdo) y un área de detalle (lado derecho).
 
 
 
Sobre el autor
Publicación académica de Israel Cespedes Penaloza, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Israel Cespedes Penaloza
Profesión: Ingeniero Electrónico - Bolivia - Legajo: DO67A
✒️Autor de: 85 Publicaciones Académicas
🎓Cursando Actualmente: Consultor BASIS Nivel Avanzado
🎓Egresado del módulo:
Disponibilidad Laboral: PartTime
Certificación Académica de Israel Cespedes