Sie sind auf Seite 1von 79

Week 3: ICM and SAP Web Dispatcher Services

Unit 1: Introduction
Welcome to Week 3, Unit 1 of this openSAP Bienvenido a la Semana 3, Unidad 1 de este openSAP curso.
course. Durante esta semana, hablaremos sobre el ICM y el distribuidor web de SAP.
During this week, we will talk about the ICM and
En la Unidad 1, vamos a ver el ICM y la Web.
the SAP Web Dispatcher.
In Unit 1, we are going to look at the ICM and Web Arquitectura del despachador, así como su configuración de tiempo de espera.
Dispatcher architecture, as well as their timeout settings.
Introduction
ICM and SAP Web Dispatcher (Part I)

 ICM stands for “Internet Communication Manager”.

 Each instance has its own, local ICM process.

 The ICM handles HTTP, HTTPS, and SMTP


communication, besides other protocols used at an
SAP NetWeaver Application Server Java (telnet, P4,
IIOP).

 The ICM can act as the server or as a client.

 The SAP Web Dispatcher is a load balancer. It


handles HTTP and HTTPS communication
only.

ICM and SAP Web Dispatcher

 ICM significa "Administrador de comunicación de Internet".


 Cada instancia tiene su propio proceso ICM local.
 El ICM maneja la comunicación HTTP, HTTPS y SMTP,
además de otros protocolos utilizados en un servidor de
aplicaciones SAP NetWeaver Java (telnet, P4, IIOP).
 El ICM puede actuar como servidor o como cliente.
 SAP Web Dispatcher es un equilibrador de carga. Maneja
solo la comunicación HTTP y HTTPS.

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 2


Introduction ICM stands for Internet Communication
Manager.
ICM and SAP Web Dispatcher (Part II) An SAP system based on the SAP
NetWeaver technology can have multiple
ICM significa Internet Communication Manager. instances, and each instance will have its
Un sistema SAP basado en la tecnología SAP NetWeaver puede tener own local ICM process.
múltiples instancias, This is valid for both, ABAP and Java
y cada instancia tendrá su propio proceso ICM local. systems.
Esto es válido tanto para sistemas ABAP como Java.
The ICM is the process that handles all
El ICM es el proceso que maneja todas las comunicaciones utilizando communication using the HTTP and
los protocolos HTTP y HTTPS, entre otros. HTTPS protocols, among others.
It can act as the communication server,
Puede actuar como el servidor de comunicación, like when you use your internet browser
como cuando usa su navegador de Internet para conectarse a SAP a to connect to SAP through HTTPS, or it
través de HTTPS, can act as the client, such as when an
ABAP application wants to connect to an
o puede actuar como el cliente, HTTP server.
como cuando una aplicación ABAP quiere conectarse a un servidor
HTTP. It is important to note that, once an
incoming request reaches the ICM, this
Es importante tener en cuenta que, una vez que una solicitud request will not be load-balanced.
entrante llega al ICM, esta solicitud no tendrá equilibrio de carga The instance that received the request
(load-balanced) through the ICM will process it.
La instancia que recibió la solicitud a través del ICM la procesará.
The SAP Web Dispatcher, on the other
El Web Dispatcher de SAP, hand, is a load balancer that can be
installed in front of an SAP system to
por otro lado, es un equilibrador de carga (load-balanced) distribute the load amongst the
que se puede instalar frente a un sistema SAP, instances.
para distribuir la carga entre las instancias.
The SAP Web Dispatcher can handle
SAP Web Dispatcher puede manejar la comunicación utilizando solo communication using HTTP and HTTPS
los protocolos HTTP y HTTPS. protocols only.
Dado que SAP Web Dispatcher y el ICM comparten una línea de Since the SAP Web Dispatcher and the
código común, ICM share a common code line,
Varios de los parámetros de SAP Web Dispatcher también several of the SAP Web Dispatcher
comienzan con la cadena icm /. parameters also start with the string
icm/.

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 3


Introduction
ICM architecture (1)
 Multithreaded
– mpi/buffer_size: defines the size of each MPI buffer
/ block

– mpi/total_size_MB: defines the size of the MPI


memory area

– mpi/max_pipes: defines how many pipes (event-


flags, semaphores) are available to the ICM

ICM and SAP Web Dispatcher


Multiproceso
 mpi / buffer_size: define el tamaño de cada buffer MPI / bloque
 mpi / total_size_MB: define el tamaño del área de memoria MPI
 mpi / max_pipes: define cuántas tuberías (banderas de eventos,
semáforos) están disponibles para el ICM

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 4


Introduction El ICM es un proceso multiproceso. SAP Web Dispatcher tiene este mismo
ICM architecture (2) (multithreaded Process) tipo de subprocesos, que funcionan de
The ICM is a multithreaded process.
El Thread control puede considerarse el la misma manera que en el ICM.
The thread control can be considered the main thread.
It accepts incoming network connections and assigns Thread principal. (main Thread) Y también utiliza el área de memoria
the requests to worker threads. MPI para almacenar las solicitudes y
It can also create or end worker threads depending on Acepta conexiones de red entrantes y respuestas.
the need and on the ICM configuration.
A worker thread does the actual handling of requests asigna las solicitudes a subprocesos.
and responses. También puede crear o finalizar
It can roll out a connection if it is waiting for more data, La única diferencia es que SAP Web
for example, so it becomes free to handle other subprocesos según la necesidad y la
Dispatcher reenvía las solicitudes al
requests. configuración de ICM.
ICM de una de las instancias, y no
It can roll out a connection if it is waiting for more data,
for example, so it becomes free to handle other
Un SubWP realiza el manejo real de las directamente a los WP.
requests. solicitudes y respuestas.
This is similar to the rollout mechanism from a dialog
work process and allows the ICM to handle a larger
Puede desplegar una conexión si está
number of connections with a small number of worker esperando más datos, por ejemplo,
threads.
para que pueda manejar otras El ICM utiliza memorias intermedias MPI (MPI
The watchdog thread monitors the connections that solicitudes. Buffers) para intercambiar los datos con los
were rolled out and informs the worker thread when
new data is available, so the worker thread can resume Esto es similar al mecanismo de WP.
handling the request.
despliegue de un Work Process de Las memorias intermedias MPI Son bloques
The signal handler takes care of signals sent from the diálogo y permite que el ICM maneje de memoria,
operating system or other processes, like the dispatcher
of the local instance. una mayor cantidad de conexiones con y el tamaño predeterminado de cada bloque
una pequeña cantidad de subprocesos. es de 64 kB. No se recomienda cambiar este
The ICM uses MPI buffers to exchange the data with the
work processes.
valor.
The MPI buffers are blocks of memory, and the default
size of each block is 64 kB.
El número de bloques disponibles,
It is not recommended to change this value. El manejador de señales (Signal Handler) se depende del tamaño del área de memoria
The number of blocks available depends on the size of encarga de las señales enviadas desde el MPI, que se define mediante el parámetro
the MPI memory area, which is defined by the
sistema operativo u otros procesos, como mpi / total_size_MB.
parameter mpi/total_size_MB.
As the parameter name suggests, it is defined in el Dispatcher de la instancia local. Como sugiere el nombre del parámetro, se
megabytes. define en megabytes.
Each request uses at least two MPI buffers:
Para controlar el flujo de datos Cada solicitud utiliza al menos dos buffers
One to hold the data from the request itself, and the (Control Data Flow), el ICM utiliza MPI:
other is reserved for the response. El subproceso de vigilancia (WatchDog Thread)
canales de memoria (Memory 1. Uno para guardar los datos de la solicitud
To control the data flow, the ICM uses memory pipes. Supervisa las conexiones que se desplegaron, e
These are also called event-flags or semaphores at the Pipes) en sí,
operating system level. informa al SubWP cuando hay nuevos datos
Each request uses four pipes. También se denominan banderas 2. y el otro está reservado para la respuesta.
disponibles, por lo que el SubWP puede
de eventos (Event-Flags)
The SAP Web Dispatcher has these same type of reanudar el manejo de la solicitud.
threads, which work in the same way as in the ICM. o semáforos (Semaphores) a
And it also uses the MPI memory area to store the
requests and responses.
nivel del sistema operativo.
The only difference is that the SAP Web Dispatcher Cada solicitud usa 4 Pipes.
forwards the requests to the ICM of one of the
instances, and© not
2017toSAP
the SE or processes
work an SAP affiliate company. All rights reserved. ǀ PUBLIC
directly. 5
Introduction Cuando el ICM recibe una solicitud, generalmente When the ICM receives a request,
ICM architecture (3) transmite los datos de la solicitud directamente a un work it usually streams the request
data directly to a work process.
process.
 The request data is streamed to the work process. En este caso, solo se usan dos buffers MPI: In this case, only two MPI buffers
1. Uno para la solicitud are used:
One for the request
2. y uno para la respuesta.
and one for the response.
Si no hay un WP disponible para recibir la solicitud,
el ICM puede almacenar los datos de la solicitud en uno o If no work process is available to
receive the request, the ICM can
más buffers MPI. store the request data in one or
Los datos de la solicitud se transmiten al WP Una vez que un work process está disponible, el ICM more MPI buffers.
transfiere los datos al WP Once a work process is available,
the ICM transfers the data to the
Sin embargo, si los datos de la solicitud son demasiado work process.
grandes, el ICM no aceptará la solicitud completa. However, if the request data is
 If no work process is available, the ICM stores the request in the MPI memory area. Esto es para evitar que una sola solicitud use toda la too large, the ICM will not accept
memoria MPI, lo que provocaría que el ICM no pueda the entire request.
aceptar más solicitudes en paralelo. This is to prevent a single request
from using the entire MPI
En esta situación, el ICM deja de aceptar datos de la capa memory, which would cause the
de red del sistema operativo, lo que a su vez hace que el ICM to be unable to accept more
cliente deje de enviar datos. requests in parallel.

Si no hay ningún WP disponible, el ICM almacena la solicitud en el área de memoria MPI. In this situation, the ICM stops
accepting data from the network
layer of the operating system,
which in turn causes the client to
stop sending data.

 A single request cannot use the entire MPI memory (protection mechanism).

Una sola solicitud no puede usar toda la memoria MPI (mecanismo de protección).

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 6


Introduction
Request timeouts (1)
 Timeout settings per service, defined at the parameter “icm/server_port_X” icm/server_port_X = PORT=…, PROT=…, TIMEOUT=60, PROCTIMEOUT=600
 TCP/IP connection idle timeout
– TIMEOUT argument when acting as the server
– Parameter “icm/HTTP/client/keep_alive_timeout” when acting as the client
 Processing timeout (PROCTIMEOUT)
 Timeout for establishing new outgoing connections (icm/conn_timeout)
 Session idle timeout (HTTP → rdisp/plugin_auto_logout; ITS → rdisp/gui_auto_logout)
 HTTP security session timeout (http/security_session_timeout)

Tiempos de Espera en Solicitudes / Request timeouts (1)


 Configuración de tiempo de espera por servicio, definido en el parámetro "icm / server_port_X" icm / server_port_X = PORT = ..., PROT = ..., TIMEOUT = 60, PROCTIMEOUT = 600
 Tiempo de espera inactivo de conexión TCP / IP
 Argumento TIMEOUT cuando actúa como servidor
 Parámetro "icm / HTTP / client / keep_alive_timeout" cuando actúa como cliente
 Tiempo de espera de procesamiento (PROCTIMEOUT)
 Tiempo de espera para establecer nuevas conexiones salientes (icm / conn_timeout)
 Tiempo de espera inactivo de sesión (HTTP → rdisp / plugin_auto_logout; ITS → rdisp / gui_auto_logout)
 Tiempo de espera de sesión de seguridad HTTP (http / security_session_timeout)

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 7


Introduction
Request timeouts (1)
We will explain the timeouts using the ICM, but the same is valid for the
SAP Web Dispatcher.

Two of the timeouts can be defined per service or port,


using the icm/server_port parameters.
If the timeouts are not defined at the service parameter, they will
assume the value of the parameter icm/keep_alive_timeout.
The default value of this parameter is 60 seconds.

The first timeout is controlled through the argument TIMEOUT, and it is


related to the TCP/IP connection at network level. The processing timeout is also applied when the ICM is acting as the client.
This setting defines, for how long the ICM will keep the network In this case, it defines for how long the ICM will wait for the remote server to send the response back.
connection open, after the response was sent back to the client.
For the SAP Web Dispatcher, it defines for how long it will wait for the backend to process the request and send the response back.
If the client stays idle for more than this timeout, the ICM closes the There is also a timeout for establishing new outgoing connections.
network connection and the client will have to open a new connection
in order to send the next request. The parameter icm/conn_timeout defines for how long the ICM will wait for the new outgoing connection to be established.
This would usually not cause issues because the HTTP protocol is This is related to establishing the TCP/IP connection at network level.
stateless by design. The value of this parameter is defined in milliseconds, and the default value is 5000, meaning 5 seconds.
The session persistence, or “stickiness”, will be maintained through
session cookies that are sent by the client at every request after the There are other timeout parameters that are worth mentioning, although they are not related to the ICM itself, directly.
logon took place.
*One is a session idle timeout defined by the parameter rdisp/plugin_auto_logout.
However, if the communication is going through a channel with high If the client stays idle for a period longer than what is defined at this parameter, the ABAP instance terminates the session.
latency, opening new network connections could be expensive as the
network will take some time to transmit the initial packets to establish This is valid for all HTTP sessions, except for ITS sessions.
the new connection. The idle timeout for ITS sessions is controlled by the parameter rdisp/gui_auto_logout, which also controls the idle timeout for SAP GUI users.

When the ICM is acting as the client, this TCP/IP timeout is controlled This setting is different in older releases that run with kernel 7.20 release, where the parameter rdisp/plugin_auto_logout also applies to ITS sessions and
by the parameter icm/HTTP/client/keep_alive_timeout. rdisp/gui_auto_logout applies to SAP GUI users only.

The second timeout is called processing timeout. It is defined through *The other timeout parameter is a security session timeout defined by the parameter http/security_session_timeout.
the argument PROCTIMEOUT. This parameter controls for how long the HTTP security session is kept at the SAP end.
This setting defines for how long the ICM will wait for the ABAP work
process to send the response back.

If the ABAP work process takes longer than PROCTIMEOUT seconds to


send the response, the ICM does not wait for it any longer and returns
an error to the client.

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 8


Introduction
Tiempos de Espera en Solicitudes

Explicaremos los tiempos de espera utilizando el ICM, pero lo mismo es válido para el
Web Dispatcher de SAP.

Dos de los tiempos de espera se pueden definir por servicio o puerto,


utilizando los parámetros icm / server_port.
Si los tiempos de espera no están definidos en el parámetro de servicio, asumirán el
El tiempo de espera de procesamiento también se aplica cuando el ICM actúa como cliente.
valor del parámetro icm / keep_alive_timeout.
En este caso, define durante cuánto tiempo el ICM esperará a que el servidor remoto envíe la respuesta.
El valor predeterminado de este parámetro es 60 segundos.
Para el Web Dispatcher de SAP, define cuánto tiempo esperará hasta que el back-end procese la solicitud y envíe la
El primer tiempo de espera se controla mediante el argumento TIMEOUT, respuesta.
y está relacionado con la conexión TCP / IP a nivel de red. También hay un tiempo de espera para establecer nuevas conexiones salientes.
Esta configuración define, durante cuánto tiempo el ICM mantendrá la conexión de
red abierta, después de que la respuesta se envió de vuelta al cliente. *El parámetro icm / conn_timeout define cuánto tiempo esperará el ICM a que se establezca la nueva conexión
saliente.
Si el cliente permanece inactivo durante más de este tiempo de espera, el ICM cierra
Esto está relacionado con el establecimiento de la conexión TCP / IP a nivel de red.
la conexión de red y el cliente tendrá que abrir una nueva conexión para enviar la
El valor de este parámetro se define en milisegundos y el valor predeterminado es 5000, lo que significa 5 segundos.
siguiente solicitud.
Esto generalmente no causaría problemas porque el protocolo HTTP no tiene estado Hay otros parámetros de tiempo de espera que vale la pena mencionar, aunque no están directamente relacionados
por diseño. con el ICM en sí.
La persistencia de la sesión, o "adherencia", se mantendrá a través de las cookies de
* Uno es un tiempo de espera de inactividad de sesión definido por el parámetro rdisp / plugin_auto_logout.
sesión que el cliente envía cada vez que se inicia la sesión.
Si el cliente permanece inactivo durante un período superior al que se define en este parámetro, la instancia ABAP
Sin embargo, si la comunicación pasa por un canal con alta latencia, abrir nuevas finaliza la sesión.
conexiones de red podría ser costoso ya que la red tardará un tiempo en transmitir
Esto es válido para todas las sesiones HTTP, excepto para las sesiones ITS.
los paquetes iniciales para establecer la nueva conexión.
El tiempo de espera inactivo para las sesiones ITS se controla mediante el parámetro rdisp / gui_auto_logout, que
Cuando el ICM actúa como cliente, este tiempo de espera TCP / IP se controla
también controla el tiempo de espera inactivo para los usuarios de la GUI de SAP.
mediante el parámetro icm / HTTP / client / keep_alive_timeout.
Esta configuración es diferente en versiones anteriores que se ejecutan con la versión del núcleo 7.20,
El segundo tiempo de espera se llama tiempo de espera de procesamiento.
donde el parámetro rdisp / plugin_auto_logout también se aplica a las sesiones ITS
Se define a través del argumento PROCTIMEOUT.
y rdisp / gui_auto_logout se aplica solo a los usuarios de SAP GUI.
Esta configuración define durante cuánto tiempo el ICM esperará a que el WP ABAP
envíe la respuesta.
* El otro parámetro de tiempo de espera es un tiempo de espera de sesión de seguridad definido por el parámetro
Si el work process ABAP tarda más de PROCTIMEOUT segundos en enviar la http / security_session_timeout.
respuesta, el ICM no lo espera más y devuelve un error al cliente. Este parámetro controla durante cuánto tiempo se mantiene la sesión de seguridad HTTP al final de SAP.
Hace que el cliente deje de enviar datos.
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 9
The SAP Note 824554 documents
Introduction the ICM timeout parameters and
Request timeouts (2) En esta diapositiva, podemos ver ejemplos de pantallas de error devueltas provides detailed information on
por los diferentes tiempos de espera que estábamos discutiendo. how they work.
 SAP Note 824554: ICM and SAP Web Dispatcher timeout parameters Tenga en cuenta que no se produce ningún error si la conexión de red se
 Example of “500 timeout” raised by “PROCTIMEOUT”: cierra debido al argumento TIMEOUT, ya que el cliente simplemente abriría On this slide, we can see
examples of error screens
una nueva conexión. returned by the different
Nota de SAP 824554: parámetros de tiempo Ambos, el ICM y el Web Dispatcher de SAP devolverían un error de timeouts we were discussing.
de espera de ICM y SAP Web Dispatcher "Tiempo de espera de 500 conexiones agotadas" Notice that no error occurs if the
network connection is closed due
Ejemplo de "500 timeout" generado por si se alcanza el PROCTIMEOUT. to the TIMEOUT argument, as the
"PROCTIMEOUT": Esta es la pantalla predeterminada que se devolverá si no se configuraron client would simply open a new
páginas de error personalizadas. connection.
Si el tiempo de espera se aumentó porque la sesión estaba inactiva, el Both, the ICM and the SAP Web
usuario vería un error de "Se agotó el tiempo de espera de 400 sesiones". Dispatcher would return a “500
Connection timed out” error if
La misma pantalla aparecería para ambos, el tiempo de espera inactivo de
 Example of “400 timeout” raised by “rdisp/plugin_auto_logout” or the PROCTIMEOUT is reached.
la sesión controlado por el parámetro rdisp / plugin_auto_logout, This is the default screen that will
“http/security_session_timeout”:
be returned if no custom error
y para el tiempo de espera de la sesión de seguridad HTTP controlado por
pages were set up.
Ejemplo de "400 timeout" generado por el parámetro http / security_session_timeout.
If the timeout was raised because
"rdisp / plugin_auto_logout" o "http /
the session was idle, the user
security_session_timeout" would see a “400 Session timed
out” error.
The same screen would appear
for both, the session idle timeout
controlled by the parameter
rdisp/plugin_auto_logout,
and for the HTTP security session
timeout controlled by the
parameter
http/security_session_timeout.
La nota 824554 de SAP documenta los
parámetros de tiempo de espera de ICM
y proporciona información detallada
sobre cómo funcionan.

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 1


0
Week 3: ICM and SAP Web Dispatcher Services
Unit 2: The Web Admin Page
¡Hola! Bienvenido a la Semana 3, Unidad 2. En esta unidad, aprenderemos sobre la página
Hi! Welcome to Week 3, Unit 2. At this unit, we will learn about the web administration de administración web del ICM y el Web Dispatcher de SAP.
page of the ICM and the SAP Web Dispatcher.
The Web Admin Page La URL de la página de administración
Accessing the Web Administration page de ICM es / sap / admin, de forma
predeterminada.
 “/sap/admin” for the ICM, “/sap/wdisp/admin” for the SAP Web Dispatcher Además, el acceso a la página de
administración puede restringirse a un
Accediendo a la página de Administración Web To access the web administration Para acceder a la página de administración determinado puerto.
page of the ICM, you have to use web del ICM, debe usar
/ Sap / admin para el ICM, the hostname and port number Puede verificar el valor del parámetro
/ sap / wdisp / admin para el SAP Web Dispatcher el nombre de host y el número de puerto de
of the specific instance that you icm / HTTP / admin_0
want to monitor.
la instancia específica que desea monitorear.
para ver si necesita realizar el acceso a
través de un puerto específico.
Ahora, accedamos a la página de
administración de un ICM para que
podamos ver las características.

The URL of the ICM


administration page is
/sap/admin, by default.
In addition, the access to the
administration page can be
restricted to a certain port.

You can verify the value of the


parameter icm/HTTP/admin_0
to see whether you need to
perform the access through a
specific port.

Now, let us access the


administration page of an ICM so
we can go through the features.

Remember that each instance has its own local ICM.

Since there are some similar features Dado que hay algunas características similares en las páginas de
at the administration pages from
both the ICM and the SAP Web
administración tanto del ICM como del SAP Web Dispatcher,
Dispatcher, we will start with the comenzaremos con el ICM y cubriremos las diferentes opciones
ICM, and we will cover the different que están disponibles para el SAP Web Dispatcher más adelante Recuerde que cada instancia tiene su propio ICM local.
options that are available for the SAP en esta unidad.
Web Dispatcher later in this unit.
2
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page A nivel de Sistema Operativo, podemos reiniciar la contraseña con:
Accediendo a la página de Administración Web • ICMON Tool para ICM
• Wdispmon tool para WEB Dispatcher

There are two levels of authorization Hay dos niveles de autorización disponibles. Una vez que abrimos la pagina, pedirá
available. credenciales y estas deben ser definidas
You can log on with a user that has
Puede iniciar sesión con un usuario que
tenga derechos de administrador durante la instalación del sistema SAP
admin rights
or a user that has monitoring rights. 3
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page  “/sap/admin” for the ICM,
Accediendo a la página de Administración Web  “/sap/wdisp/admin” para el SAP Web Dispatcher

Con derechos de administrador,


puede supervisar todas las
opciones disponibles y realizar
cambios dinámicos,
como cambiar la definición de
los servicios de ICM
o incluso administrar las ID de
usuarios disponibles para
acceder a la página de
administración.
Con derechos de monitoreo,
solo puede monitorear todas las
opciones disponibles.
No podrá cambiar nada.

With admin rights, you can


monitor all options available and
perform dynamic changes, like
changing the definition of the
ICM services or even
administering the user IDs
available to access the
administration page.

With monitoring rights, you can


only monitor all options available.
You will not be able to change
anything.

4
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page
Accediendo a la página de Administración Web

La página de administración tiene un


árbol de menú en el lado izquierdo de
la página,
y el contenido se presenta en el lado
derecho.

1 Una vez que haya accedido a la


página de administración, se le
presentará la pantalla Monitor,
que es el primer elemento en el menú
del Sistema Central.

2 En este elemento del menú,


podemos ver:
• el estado de ICM,
• el nivel de trace actual,
• la ID del proceso, que es el PID del
ICM a nivel del SO,
• así como un resumen del uso del
hilo (Thread),
• la conexión usada
• y la cola de solicitudes.

3 También podemos ver


el estado de cada uno de los hilos de
trabajo en la tabla en la parte inferior.

The administration page


has a menu tree in the left-hand side of the page,
and the content is presented on the right-hand side.
1 Once you've accessed the administration page, you will be presented with the Monitor screen, which is the first item under the Core System menu.
2 At this menu item, we can see
the ICM status,
the current trace level,
the process ID, which is the PID of the ICM at operating system level,
as well as a summary of the thread, connection and request queue usage.
3 We can also see the status of each of the worker threads in the table at the bottom. 5
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page En los Servicios activos (Active Services) At the Active Services, we can
podemos ver todos los servicios configurados en este ICM, see all the services configured at
Accediendo a la página de Administración Web this ICM, including the port
• incluido el número de puerto
number and the timeout settings
• y la configuración de tiempo de espera que discutimos en la unidad anterior.
that we discussed in the previous
unit.

6
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page The Core Thread Status
shows the status of the ICM
Accediendo a la página de Administración Web El estado del subproceso central (The Core Thread Status) muestra el estado de los subprocesos ICM, threads, like the main thread,
• como el subproceso principal, que es el control de subprocesos que vimos en la unidad anterior, that is the Thread Control we
• y el subproceso de vigilancia (Watchdog thread). saw in the previous unit, and
the Watchdog thread.

7
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page
Accediendo a la página de Administración Web
En el elemento Conexiones activas (Active Connections)
podemos ver una lista de todas las conexiones que
están abiertas actualmente.
Si observa una gran cantidad de conexiones usadas en
el elemento Monitor,
puede usar esta lista para verificar el estado de las
conexiones y monitorear la situación.
El estado "conexión cerrada" (connection close )
significa que la conexión TCP / IP se está cerrando.
Si ve muchas conexiones en este estado durante mucho
tiempo,
puede verificar lo que está sucediendo a nivel del
sistema operativo,
por qué la capa TCP / IP del sistema operativo mantiene
las conexiones en este estado durante mucho tiempo.

Si muchas conexiones tienen el estado "solicitud de


lectura“ (Read Request) durante mucho tiempo,
podría considerar revisar el valor del argumento
TIMEOUT para el servicio ICM involucrado.

Si muchas conexiones están en estado de "respuesta de


escritura" (Write Response) durante mucho tiempo,
verifique lo que está sucediendo en la instancia de
ABAP y por qué se tarda tanto en procesar la solicitud.
Tal vez hay un problema de rendimiento en curso.
At the Active Connections item we can see a list of all connections that are currently open.
If you observe a high number of connections used at the Monitor item, you can use this list to verify the state of the connections and monitor the situation.

The state “connection close” means that the TCP/IP connection is being closed.
If you see many connections in this state for a long time, you can verify what is happening at operating system level, why the TCP/IP layer of the operating system is keeping
the connections in this state for a long time.

If many connections have the state “read request” for a long time, you could consider reviewing the value of the TIMEOUT argument for the ICM service involved.

If many connections are in state “write response” for a long time, verify what is happening at the ABAP instance and why it is taking so long to process the request.
Maybe there is a performance issue going on.
8
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page
Accediendo a la página de Administración Web

Podemos ver o descargar el archivo de


rastreo ICM (ICM trace file) en el menú
Rastreo (Trace).

También podemos restablecer el archivo y


cambiar el nivel de rastreo.

Al restablecer el archivo se eliminará el


archivo de rastreo dev_icm.old,
se cambiará el nombre del rastreo actual a
.old y luego se iniciará un nuevo rastreo.

Esto puede ser útil cuando estamos


investigando un problema que podemos
simular a voluntad.

Luego podemos restablecer el archivo de


seguimiento justo antes de hacer la
simulación, por lo que tenemos un archivo de
seguimiento más limpio para trabajar.

We can see or download the ICM trace file at the


menu Trace.
We can also reset the file and change the trace level.

Resetting the file will delete the dev_icm.old trace


file, rename the current trace to .old, and then start a
new trace.

This can be helpful when we are investigating an issue


that we can simulate at will.
We can then reset the trace file just before doing the
simulation, so we have a cleaner trace file to work
with.
9
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page
Accediendo a la página de Administración Web Si accedemos al elemento Parámetros,
podemos ver una descripción general de todos los parámetros de ICM, agrupados por el tema con el que están relacionados.

If we access the Parameters


item, we can see an overview
of all the ICM parameters,
grouped by the topic they are
related to.

10
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page Por ejemplo, todos los parámetros relacionados con el rastreo de ICM se encuentran en el grupo
Accediendo a la página de Administración Web "Rastreo y estadística“ (Tracing and statistic).

For example, all


parameters related to
the ICM trace are under
the “Tracing and
statistic” group.

11
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page Tenga en cuenta que esta pantalla mostrará la configuración de los perfiles completos de la instancia.
Accediendo a la página de Administración Web Incluso la pestaña Configuración,
que muestra solo los parámetros relevantes de ICM, no incluirá cambios dinámicos que podrían haberse realizado.

Notice that this screen will show


the settings from the profiles.
Even the Settings tab, that
shows the ICM relevant
parameters only, will not
include dynamic changes that
might have been made.

12
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page
Accediendo a la página de Administración Web

El Hostname Buffer muestra el


caché DNS del ICM.

Una vez que el ICM tuvo que


realizar una búsqueda de
nombre de host,
el resultado de la consulta DNS
se almacena en caché por
razones de rendimiento.

El ICM utilizará la entrada en


caché, si existe, en lugar de
realizar una nueva búsqueda de
DNS.

Hay una opción para


restablecer el búfer en la
esquina superior derecha de
esta página.

The Hostname Buffer shows the


DNS cache from the ICM.
Once the ICM had to make a
hostname lookup, the result from
the DNS query is cached for
performance reasons.

The ICM will use the cached


entry, if it exists, instead of
performing a new DNS lookup.
There is an option to reset the
buffer at the top-right corner of
this page.

13
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page
Accediendo a la página de Administración Web

Podemos ver el
Release de ICM y
el nivel de parche
en el elemento
Información de
lanzamiento.

We can see the ICM release and


patch level at the Release
Information item.

14
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page
Accediendo a la página de Administración Web

El elemento Estadística
(Statistic)
muestra algunas estadísticas,
como
la cantidad de bytes leídos
y escritos,
cantidad de solicitudes,
entre otras.

Estas son estadísticas de


tiempo de ejecución, que se
restablecen si se reinicia el
ICM.

The Statistic item shows some


statistics, like
the number of bytes read and
written,
number of requests, among others.

These are runtime statistics, which


are reset if the ICM is restarted.

15
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page El estado de MPI muestra la configuración
Accediendo a la página de Administración Web relacionada con MPI, así como las estadísticas
relacionadas con MPI.

Si hacemos clic en Mostrar detalles, podemos ver


una lista de las tuberías MPI activas y detalles
sobre cada tubería,
como la cantidad de buffers de tubería que asigna
cada tubería MPI, que se ve en la columna Buffers
asignados,
y los Buffers máximos que puede asignar cada
tubería.

El límite de Buffers máximos está relacionado con


el mecanismo de protección que discutimos en la
unidad anterior, que una sola solicitud no puede
usar toda el área de memoria MPI.

The MPI Status shows the MPI-


related settings as well as MPI-
related statistics.
If we click Show Details, we can
see a list of the active MPI pipes
and details about each pipe,
like the amount of pipe buffers
being allocated by each MPI
pipe, seen at the Allocated
Buffers column,
and the Maximum Buffers that
can be allocated by each pipe.
The Maximum Buffers limit is
related to the protection
mechanism that we discussed in
the previous unit, that a single
request cannot use the entire
MPI memory area.
16
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page
Accediendo a la página de Administración Web

En ICM Security Log podemos ver la


configuración relacionada con este
registro, así como el archivo de registro
en sí.
El registro de seguridad de ICM muestra
información sobre eventos que son
potencialmente relevantes desde una
perspectiva de seguridad.
Algunos ejemplos de tales eventos son:
Solicitudes con strings que son filtradas
por la Interfaz de escaneo de contenido
y solicitudes que exceden el tamaño
máximo de solicitud permitido.

La interfaz de escaneo de contenido se


configura mediante los parámetros
csi / enable
y dos csi / parámetros más.

El tamaño máximo de la solicitud se


puede definir con los parámetros icm /,
luego el protocolo deseado como
http o https, / max_request_size_KB.

Es importante mencionar que el


protocolo debe escribirse en letras
MAYUSCULAS, así como el KB al final.
At ICM Security Log we can see the settings related to this log as well as the log file itself.
El valor predeterminado de estos The ICM Security Log shows information about events that are potentially relevant from a security perspective.
parámetros es 102400, Some examples of such events are:
lo que significa 100 MB Requests with strings that are filtered by the Content Scan Interface and requests that exceed the maximum request size allowed.
ya que están definidos en kilobytes. The Content Scan Interface is configured by the parameters csi/enable
and two more csi/ parameters.
The maximum request size can be defined with the parameters icm/,
then the desired protocol like http or https, /max_request_size_KB.
It is important to mention that the protocol must be written in uppercase letters, as well as the KB at the end. 17
The default value of these parameters is 102400, which means 100 MB since they are defined in kilobytes. © 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page
Accediendo a la página de Administración Web
El ICM se puede configurar para registrar
solicitudes HTTP en un archivo separado.
Este registro puede almacenar detalles
como:
• el método de solicitud,
• el tamaño de la solicitud,
• el protocolo utilizado para conectarse
al ICM, y así sucesivamente.
Si dicho registro está configurado, puede
ver su configuración en el elemento del
menú Registro de acceso.
También puede ver el registro en sí
cambiando a la pestaña Contenido del
archivo de registro aquí en la parte
superior

The ICM can be configured to log HTTP requests


in a separate file.
This log can store details like
the request method,
the request size,
the protocol used to connect to the ICM, and so
on.

If such logging is configured, you can see its


settings at the Access Log menu item.

You can also see the log itself by switching to the


Logfile Contents tab here on the top

18
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page
Accediendo a la página de Administración Web

El ICM almacena en caché las respuestas de la


instancia ABAP si es posible, para mejorar el
rendimiento general.
Si la respuesta de una solicitud está presente en
la memoria caché, el ICM devuelve la respuesta
en caché en lugar de enviar la solicitud a un
Work Process
En este menú, podemos ver la configuración y el
contenido de la memoria caché.
También hay una opción para invalidar todo el
caché en la pestaña Contenido del caché.
Esto eliminaría todo el contenido en caché.

La memoria caché está deshabilitada en SAP


Web Dispatcher, de forma predeterminada, pero
se puede habilitar a través de parámetros de
perfil.

The ICM caches the responses from the ABAP instance if possible, to improve the overall performance.
If the response from a request is present in the cache, the ICM returns the cached response instead of
sending the request to a work process.

At this menu, we can see the cache settings as well as the cache contents.
There is also an option to invalidate the entire cache under the Cache Contents tab. This would delete all
the cached content.

The cache is disabled at the SAP Web Dispatcher, by default, but it can be enabled through profile
parameters. 19
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page
Accediendo a la página de Administración Web

En el elemento Access Handler


podemos ver la configuración de
diferentes funciones de control de
acceso
que se configuran con los parámetros
icm / HTTP / auth y luego un número de
índice.
Estos incluyen la interfaz de escaneo de
contenido, aquí llamada filtro de
contenido, que se mencionó
brevemente cuando vimos el registro de
seguridad de ICM.
Tenemos opciones para deshabilitar o
habilitar el controlador de acceso y el
filtro de contenido,
así como recargar los diferentes archivos
relacionados con esta función.

At the Access Handler item we can see the configuration of different access control features that are set with the parameters
icm/HTTP/auth and then an index number.

These include the Content Scan Interface, here called Content Filter, that was briefly mentioned when we saw the ICM Security Log.

We have options to disable or enable the access handler and the content filter, as well as reloading the different files that are related
to this feature.

20
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page
Accediendo a la página de Administración Web

El elemento Admin Handler muestra la


configuración para acceder a la página de
administración web.
También podemos editar las ID de usuario
para ello.
Cubriremos la administración de ID de
usuario con más detalle más adelante.

El ICM también se puede usar para


modificar solicitudes HTTP.

El elemento Controlador de modificación


se puede utilizar para verificar las reglas de
modificación actuales.

También podemos recargar las reglas o


desactivar este controlador.

The Admin Handler item shows the settings for accessing the web administration page
itself.
We can also edit the user IDs for it.
We will cover the user IDs administration in more detail later.

The ICM can also be used to modify HTTP requests.


The Modification Handler item can be used to verify the current modification rules.
We can also reload the rules or deactivate this handler. 21
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page
Accediendo a la página de Administración Web
El último árbol de menú se llama
ICM.

En el elemento Servidor de
aplicaciones,
podemos ver detalles sobre el
servidor de aplicaciones local
y una tabla con los prefijos de
URL disponibles.

The last menu tree is called ICM.


At the Application Server item, we can
see details about the local application
server and a table with the URL
prefixes available.

22
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page El elemento Conexiones proxy muestra las conexiones abiertas por los WP de Java Connector, JCO o ABAP a sistemas externos.
Accediendo a la página de Administración Web
Ahora pasaremos a la página de administración de Web Dispatcher.

The Proxy Connections item shows connections opened by the Java Connector, the JCO, or the ABAP
work processes to external systems.

Now we will switch to the administration page of Web Dispatcher.


23
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page
Accediendo a la página de Administración Web Nos logueamos como administrador para SAP WEB Dispatcher

24
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page Una vez que accedemos, notaremos que hay algunas diferencias.
Accediendo a la página de Administración Web Todo lo que discutimos sobre los árboles Core System y HTTP Handler también es válido para SAP Web Dispatcher.
Como podemos ver, no hay un árbol ICM, pero hay tres árboles de menú más.
Estos son específicos del SAP WEB Dispatcher

Once we access it, we will notice that there are some differences.
Everything that we discussed about the Core System and HTTP Handler trees is
valid for the SAP Web Dispatcher as well.

As we can see, there is no ICM tree, but there are three more menu trees.

These are specific to an SAP Web Dispatcher.

25
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page
Accediendo a la página de Administración Web
En SSL y Configuración de confianza, vemos
el elemento de menú PSE Management.
Esta es una característica que le permite
administrar los certificados SSL del Web
Dispatcher desde la página de
administración web,
por lo que ya no es necesario usar la
herramienta sapgenpse a nivel del sistema
operativo.
La herramienta sapgenpse todavía está
disponible y aún se puede usar.
No exploraremos esta característica en
detalle durante este curso,
sin embargo, incluimos una diapositiva con
referencias a la documentación sobre los
temas secundarios que estamos
mencionando, y uno de los elementos es
una página WIKI que detalla la gestión de
los PSE a través de la administración web
página.

Under the SSL and Trust Configuration, we see the


menu item PSE Management.

This is a feature that allows you to manage the SSL


certificates of the Web Dispatcher from the web
administration page, so there is no need to use the
sapgenpse tool at operating system level any
longer.
The sapgenpse tool is still available and can still be
used.

We will not explore this feature in detail during this


course, however, we included a slide with
references to documentation about side topics that
we are mentioning, and one of the items is a WIKI
page that details the management of the PSEs
through the web administration page. 26
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page
Accediendo a la página de Administración Web
El siguiente árbol de menú es el
Módulo de envío “Dispatching
Module”

Cuando el Web Dispatcher de SAP


está configurado para SSL de
extremo a extremo, utilizando un
servicio HTTPS con el protocolo del
enrutador,
podemos ver la información sobre
el envío de solicitudes en el
elemento de envío de extremo a
extremo de SSL que estamos
viendo en este momento.

Más detalles sobre el enrutador de


protocolo que veremos en la
Unidad 5.

The next menu tree is Dispatching


Module.

When the SAP Web Dispatcher is


configured for End to End SSL, using an
HTTPS service with the router protocol,
we can see the information about the
dispatching of requests at the SSL End to
End Dispatching item that we are seeing
right now.

More details about the protocol router


we will see at the Unit 5. 27
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page
Accediendo a la página de Administración Web SAP Web Dispatcher puede realizar el filtrado de URL.
El elemento Filtro de URL muestra la configuración de esta función si se configuró.

The SAP Web Dispatcher can


perform URL filtering.
The URL Filter item shows this
feature's settings if it was
configured.

28
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page
Accediendo a la página de Administración Web

Debajo de este árbol de


menús, también hay un
elemento llamado
Parámetros.

Aquí podemos ver la


configuración de las
diferentes funciones
relacionadas con el envío
de solicitudes a los sistemas
de fondo.

Under this menu tree, there is an item called Parameters as


well.

Here we can see the settings of the different features related


to the dispatching of requests to backend systems.
29
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page
Accediendo a la página de Administración Web

El elemento de envío de
sesión “Session
Dispatching”

muestra la información de
envío sobre sesiones
relacionadas con
conexiones HTTP y HTTPS,
excepto para el escenario
SSL de extremo a extremo,
ya que esto se muestra
como el elemento de
menú anterior que
acabamos de discutir.

The Session Dispatching item


shows the dispatching information about sessions related to HTTP and HTTPS connections,
except for the End to End SSL scenario, as this is shown as the previous menu item that we
have just discussed.

30
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page The Edge Authentication item is a new feature in the SAP Web Dispatcher and the SAP Single Sign-On product.
Accediendo a la página de Administración Web
This item shows the sessions related to this feature.

El elemento de
autenticación perimetral
“Edge Authentication”
es una nueva
característica en el SAP
WEB Dispatcher y el
producto de inicio de
sesión único de SAP.

Este elemento muestra


las sesiones relacionadas
con esta función.

31
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page
Accediendo a la página de Administración Web

En el elemento Información
del sistema de fondo,
“Backend System Info”

podemos ver un resumen de


todos los sistemas de fondo
configurados en este
Despachador web.

En la Unidad 4 de esta
semana, aprenderemos sobre
la configuración de un SAP
WEB Dispatcher para
múltiples sistemas.

At the Backend System Info item, we


can see a summary of all backend
systems configured at this Web
Dispatcher.

We will learn about the configuration


of an SAP Web Dispatcher for
multiple systems at the Unit 4 of this
week.
32
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page
Accediendo a la página de Administración Web

El elemento de la tabla de
envío “Dispatching Table”
muestra los diferentes
criterios de selección
configurados para el SAP WEB
Dispatcher,
para determinar qué sistema
de fondo recibirá la solicitud.

Más detalles sobre esto en la


Unidad 4 también.

The Dispatching Table item shows the different selection criteria configured for the
SAP Web Dispatcher,
to determine which backend system will receive the request.

More details about this at Unit 4 as well.


33
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page
Accediendo a la página de Administración Web

El último árbol de menús


está relacionado con el
sistema de fondo que
hemos configurado.

El nombre del árbol es el


ID del sistema, el SID, del
sistema de fondo.

Si hubiéramos configurado
este SAP Web Dispatcher
para múltiples sistemas,
veríamos un árbol para
cada sistema de fondo en
la parte inferior del árbol
de menús.

Habrá tres elementos para


cada sistema de fondo.

The last menu tree is related to the


backend system we have configured.
The name of the tree is the system ID,
the SID, of the backend system.

If we had configured this SAP Web


Dispatcher for multiple systems, we
would see one tree for each backend
system at the bottom of the menu
tree.

There will be three items for each


backend system.
34
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page
Accediendo a la página de Administración Web

En los Servidores de
aplicaciones Monitor,
“Monitor Application Servers”
podemos ver el estado de cada
instancia de ese sistema.

Si este sistema de fondo es un


sistema Dual Stack, también
podemos ver el estado de cada
Stack, ABAP y Java, de cada
instancia.

El nombre de la instancia es un
menú, como podemos ver,
y tenemos opciones para activar
o desactivar la instancia, para
abrir un "ping directo" a la
instancia utilizando los
protocolos HTTP o HTTPS.

At the Monitor Application Servers,


we can see the status of each
instance of that system.

If this backend system is a dual-stack


system, we can also see the status of
each stack, ABAP and Java, of each
instance.

The instance name is a menu, as we


can see, and we have options to
activate or deactivate the instance, to
open a “direct ping” to the instance
using HTTP or HTTPS protocols. 35
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page
Accediendo a la página de Administración Web
El elemento Supervisar grupos de servidores, “Monitor
Server Groups”
muestra los grupos de inicio de sesión configurados en el
sistema de fondo y qué prefijos de URL pertenecen a
cada grupo.
SAP Web Dispatcher también tiene grupos internos.
El grupo! DIAG incluye todas las instancias que tienen
una Stack ABAP y tienen el protocolo HTTP configurado.
Habrá un grupo! DIAGS para instancias ABAP con HTTPS
configurado.
De manera similar, habrá los grupos
! J2EE y! J2EES para instancias con un Stack Java.
El grupo ALL incluye todas las instancias.
Si el prefijo de URL al que accede el cliente no forma
parte de un grupo de inicio de sesión específico, se
utilizarán estos grupos internos predeterminados.

Si se configuró un grupo de inicio de sesión para un


prefijo de URL, asegúrese de que todos los prefijos de
URL a los que accede esta aplicación también formen
parte del mismo grupo de inicio de sesión.
De lo contrario, esto puede causar problemas, como
tiempos de espera de sesión aleatorios o pantallas en
blanco.

The Monitor Server Groups item shows the logon groups configured at the backend system, and which URL prefixes belong to each group.
The SAP Web Dispatcher also has internal groups.
The !DIAG group includes all the instances that have an ABAP stack and have the HTTP protocol configured.
There will be an !DIAGS group for ABAP instances with HTTPS configured.
In a similar way, there will be the !J2EE and !J2EES groups for instances with a Java stack.
The group !ALL includes all instances.
If the URL prefix being accessed by the client is not part of a specific logon group, then these internal default groups will be used.
If a logon group was configured for a URL prefix, make sure that all URL prefixes accessed by this application are also part of the same logon group.
Otherwise, this can cause issues, like random session timeouts or blank screens. 36
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page
Accediendo a la página de Administración Web

En el último elemento del menú, la


asignación de URL, “URL Method”
podemos ver una tabla con los
prefijos de URL disponibles para ese
sistema de fondo y su grupo de
inicio de sesión correspondiente, si
un grupo de inicio de sesión se
configuró en el sistema de fondo,
por supuesto.
Ahora que cubrimos todas las
opciones de la página de
administración web, volvamos a la
administración de usuarios.

At the last menu item, the URL Mapping, we can see a


table with the URL prefixes available for that backend
system and their corresponding logon group, if a logon
group was configured at the backend system, of course.

Now that we covered all the options from the web


administration page, let us go back to the user
administration.

37
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page
Accediendo a la página de Administración Web
Al crear un usuario,
debemos proporcionar el nombre del grupo para
este usuario.
Incluir al usuario en el grupo de administración
otorgará derechos de administrador.
Cualquier otro nombre de grupo que usaremos
otorgará solo derechos de monitoreo.
Además de una contraseña,
también podemos configurar los datos del
certificado del cliente, para que el usuario pueda
iniciar sesión con un certificado de cliente SSL, sin
tener que proporcionar una contraseña.
Esto sería como una función de inicio de sesión
único para la página de administración web.
Si queremos deshabilitar la contraseña, por lo que
el inicio de sesión debe realizarse con un
certificado, defina los campos de contraseña con
la letra "x".
Podemos ver que la contraseña se deshabilita,
aquí: establecer en ninguno.

Para cambiar la contraseña de un usuario,


deberá conocer la contraseña anterior.
Si se perdió la contraseña o no conoce la
contraseña para la ID de usuario predeterminada,
que es webadm,
debe iniciar sesión en el servidor en el nivel del When creating a user, we must provide the name of the group for this user.
sistema operativo como SIDadm Including the user in the admin group will grant admin rights.
Any other group name that we will use will grant just monitoring rights.
y luego usar la herramienta icmon o wdispmon
Besides a password, we can also configure the client certificate data, so the user can log on using an SSL client certificate, without having to provide a password. This
para cambiar la contraseña. would be like a single sign-on feature for the web administration page.
If we want to disable the password, so the logon must be performed using a certificate, define the password fields using the letter “x”.
We can see that the password is then disabled, here: set to none.
To change the password for a user, you would need to know the old password.
If the password was lost or you do not know the password for the default user ID, which is webadm, you must log on to the server at operating system level as SIDadm,
and then use the icmon or wdispmon tool to change the password.
39
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
The Web Admin Page The slide with the documentation references has a
link to a WIKI page that shows this procedure in
Documentation references detail.

 Internet Communication Manager (ICM) - SAP NetWeaver There is also the possibility to maintain a user ID for
the administration page with authentication at
 Managing PSE files at the Web Dispatcher (WIKI page) operating system level.

 SAP Note 1026191: Limitations on the HTTP router protocol in Web Dispatcher In other words, the ICM or SAP Web Dispatcher
would collect the logon data and perform the
 Web Dispatcher as a URL filter authentication at the operating system where it is
running.
 SAP KBA 2078179: Issues with CRM, SRM, etc via Web Dispatcher when using logon groups
This feature is available at the SAP kernel release
 Managing user IDs for the Web Administration Page (WIKI page) 749 and newer.
To use this, edit the icmauth.txt file and replace the
 SAP Note 2390858: ICM - Web Dispatcher: Whitelist for OS user authentication password field with the string ‘system’ in uppercase
letters within curly brackets, .

La diapositiva con las referencias de documentación tiene un enlace a una página


WIKI que muestra este procedimiento en detalle.

También existe la posibilidad de mantener una identificación de usuario para la


página de administración con autenticación a nivel del sistema operativo.

En otras palabras, ICM o SAP Web Dispatcher recopilarían los datos de inicio de
sesión y realizarían la autenticación en el sistema operativo donde se está
ejecutando.

Esta característica está disponible en el kernel de SAP versión 749 y posteriores.

Para usar esto, edite el archivo icmauth.txt y reemplace el campo de contraseña


con la cadena "sistema" en letras mayúsculas entre corchetes,.

That’s it for today. Thank you for listening and see


you at the next units!
39
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
Week 3: ICM and SAP Web Dispatcher Services
Unit 3: Tuning the ICM/SAP Web Dispatcher
for High Load
Hello and welcome to Week 3, Unit 3. Hola y bienvenidos a la Semana 3, Unidad 3.
At this unit, we will discuss the resource parameters of the ICM and SAP Web Dispatcher,
En esta unidad, discutiremos los parámetros de recursos del ICM y el Web Dispatcher de
and how to configure them for high load situations.
SAP, y cómo configurarlos para situaciones de alta carga.
Tuning the ICM/SAP Web Dispatcher for High Load Comenzaremos por cada parámetro de recurso.
Parameters (1) We will start by going through each resource parameter.
El número máximo de conexiones abiertas concurrentes se define mediante el parámetro icm / max_conn.
 ICM and SAP Web Dispatcher The maximum number of concurrent open connections
is defined by the parameter icm/max_conn. El ICM requiere un socket de red para cada conexión.
– icm/max_conn: maximum number of SAP Web Dispatcher requiere dos sockets:
The ICM requires one network socket for each
concurrent open connections connection. 1. Uno que se utilizará para recibir la solicitud del cliente
– icm/req_queue_len: maximum number of
The SAP Web Dispatcher requires two sockets: 2. y el otro para conectarse al backend y enviarle la solicitud.
one that will be used to receive the request from the
requests waiting for processing client and the other to connect to the backend and
Tenga en cuenta que el SO puede limitar la cantidad máxima de sockets que se pueden usar.
forward the request to it.
– icm/min_threads: minimum En servidores Linux y Unix, verifique los límites del sistema operativo con los comandos limit o ulimit -a,
Notice that the operating system can limit the maximum
number of worker threads number of sockets that can be used. dependiendo del shell en uso.
– icm/max_threads: maximum number of In Linux and Unix servers, verify the operating system
limits with the commands limit or ulimit -a, depending
worker threads on the shell in use.
Busque el límite llamado "archivos abiertos“(Open Files) o "descriptores“ (Descriptors)
Los límites generalmente se aplican por usuario y no por proceso.
– mpi/total_size_MB: size of the MPI memory Look for the limit called “open files” or “descriptors”.
The limits are usually applied per user, and not per
Por lo tanto, este es el límite que incluirá todas las conexiones de red abiertas por todos los procesos del
area
process. usuario.
– mpi/max_pipes: maximum number of So, this is the limit that will include all network
memory pipes (event-flags, semaphores)
connections opened by all processes from the user. El límite del sistema operativo debe establecerse en un valor lo suficientemente alto, por lo que todos los
available The operating system limit must be set to a high enough procesos de SAP que se ejecutan bajo el usuario SIDadm tengan suficientes recursos.
value, so all SAP processes running under the SIDadm
– mpi/buffer_size: size of each MPI buffer/block user have enough resources. Si todos los hilos de trabajo están ocupados, se pueden poner en cola nuevas solicitudes entrantes.
El parámetro icm / req_queue_len determina el número máximo de solicitudes en la cola, esperando el
If all worker threads are busy, new incoming requests
PARAMETROS- ICM y SAP Web Dispatcher can be queued. procesamiento.
₋ icm / max_conn: número máximo de conexiones abiertas The parameter icm/req_queue_len determines the
concurrentes maximum number of requests on the queue, waiting for Durante el inicio, ICM y SAP Web Dispatcher ya crearán algunos SubWP.
processing.
₋ icm / req_queue_len: número máximo de solicitudes en El número inicial de hilos de trabajo, es también el número mínimo de hilos de trabajo que se mantendrán
espera de procesamiento During startup, the ICM and the SAP Web Dispatcher will "vivos" en todo momento.
already create some worker threads.
₋ icm / min_threads: número mínimo de SubWP o threads The initial number of worker threads is also the
Esto se define mediante el parámetro icm / min_threads.
₋ icm / max_threads: número máximo de SubWP o threads minimum number of worker threads that will be kept Si se requieren más SubWP, estos se pueden crear dinámicamente.
“alive” at all time.
₋ mpi / total_size_MB: tamaño del área de memoria MPI This is defined by the parameter icm/min_threads. El número máximo de SubWP que pueden existir en paralelo
If more worker threads are required, these can be
₋ mpi / max_pipes: número máximo de canales de memoria created dynamically. se controla mediante el parámetro icm / max_threads.
(indicadores de evento, semáforos) disponibles The maximum number of worker threads that can exist Si un SubWP que se creó dinámicamente está inactivo durante algún tiempo, finalizará.
in parallel is controlled by the parameter
₋ mpi / buffer_size: tamaño de cada búfer / bloque MPI icm/max_threads.
If a worker thread that was created dynamically is idle
for some time, it will be terminated. Ya discutimos los parámetros MPI en la Unidad 1, pero solo para recapitular:
A. El parámetro mpi / total_size_MB define el tamaño del área de memoria MPI.
We already discussed the MPI parameters at Unit 1, but
just to recap: B. El parámetro mpi / max_pipes define cuántas tuberías están disponibles,
The parameter mpi/total_size_MB defines the size of C. y el parámetro mpi / buffer_size define el tamaño de cada búfer o bloque MPI.
the MPI memory area.
The parameter mpi/max_pipes defines how many pipes
are available, and the parameter mpi/buffer_size
defines the size of each MPI buffer or block.
Todos los parámetros que discutimos hasta ahora se aplican tanto a ICM como a SAP Web Dispatcher.
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 5
1
Tuning the ICM/SAP Web Dispatcher for High Load
Parameters (2)
 SAP Web Dispatcher only:
– wdisp/HTTP/max_pooled_con: maximum number of
HTTP connections to each back-end server
– wdisp/HTTPS/max_pooled_con: maximum number of
HTTPS connections to each back-end server

PARAMETROS- Solo SAP Web Dispatcher


wdisp / HTTP / max_pooled_con: número máximo de conexiones
HTTP a cada servidor de fondo
wdisp / HTTPS / max_pooled_con: número máximo de conexiones
HTTPS a cada servidor de fondo

All the parameters we discussed so far


apply to both the ICM and the SAP Los dos parámetros que vemos en esta próxima diapositiva
Web Dispatcher.
The two parameters that we see on se aplican solo a SAP Web Dispatcher.
this next slide apply to the SAP Web
Dispatcher only.
They define the maximum number of Definen el número máximo de conexiones HTTP y HTTPS
parallel HTTP and HTTPS connections, paralelas, respectivamente, que pueden abrirse para cada
respectively, that can be open to each
instance of the backend system. instancia del sistema de fondo.
It is not recommended to change their No se recomienda cambiar su valor predeterminado.
default value.

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 5


2
En esta diapositiva, podemos ver los valores predeterminados para cada parámetro.
Tuning the ICM/SAP Web Dispatcher for High Load At this slide, we can see the default values
for each parameter.
Parameters (3) Vale la pena mencionar que el valor máximo para el parámetro mpi / total_size_MB es 2000.
It is worth mentioning that the maximum
value for the parameter mpi/total_size_MB
 Default values: Esto se considera en la fórmula que es el valor predeterminado del parámetro. is 2000.
This is considered at the formula that is the
– icm/max_conn = 2000 for ICM / chosen at Establecer este parámetro en un valor más alto hará que el ICM o SAP Web Dispatcher no se inicie. default value of the parameter.
installation time for the SAP Web Dispatcher (2000 is Setting this parameter to a higher value
the default suggestion)
Desde la versión 740 del kernel de SAP, los parámetros se pueden definir mediante fórmulas. will cause the ICM or SAP Web Dispatcher
Esto facilitó la configuración para situaciones de alta carga del ICM y el Web Dispatcher de SAP, ya que solo necesitamos not to start.
– icm/req_queue_len = 6000
considerar dos parámetros. Since the SAP kernel release 740,
– icm/min_threads = 10 parameters can be defined using formulas.
Establecer el valor para icm / max_conn ajustará automáticamente todos los demás parámetros que también necesitarían This made the setup for high load
– icm/max_threads = 500 situations of the ICM and the SAP Web
ajuste. Dispatcher much easier, as we only need
– mpi/total_size_MB = 6% of icm/max_conn + 50; to consider two parameters.
maximum of 2000 (megabytes) Todos los parámetros que tienen un valor fijo, ya tienen un valor razonable, siendo muy raro tener que cambiarlos.
Quizás la única excepción sería el parámetro icm / min_threads. Setting the value for icm/max_conn will
– mpi/max_pipes = 2x icm/max_conn automatically adjust all other parameters
Si el sistema está ocupado la mayor parte del tiempo, tiene sentido aumentar este parámetro. that would need tuning as well.
– mpi/buffer_size = 65536 (bytes; 64KB)
De esta manera, estaríamos eliminando la sobrecarga administrativa de crear nuevos subprocesos según sea necesario, y
– wdisp/HTTP/max_pooled_con = icm/max_conn tal vez terminando algunos subprocesos inactivos para que se creen pronto nuevamente.
All the parameters that have a fixed value
already have a reasonable value, being
– wdisp/HTTPS/max_pooled_con = icm/max_conn very rare to have to change them.
En tales escenarios, puede establecer este parámetro en 100, 250 o incluso valores más altos. Maybe the only exception would be the
parameter icm/min_threads.
 Tuning for high load:
La única observación es que no debe ser superior al parámetro icm / max_threads, por supuesto. If the system is busy most of the time, it
makes sense to increase this parameter.
₋ change “icm/max_conn” and “icm/min_threads” only Puede usar la opción Monitor de la página de administración web que vimos en la unidad anterior, This way we would be eliminating the
para tener una idea de lo que sería un buen valor para los min_threads para su sistema. administrative overhead of creating new
threads as required, and maybe
PARAMETROS- Valores predeterminados: Simplemente vigílelo durante las horas pico de carga y determine el promedio de subprocesos que siempre están "vivos“ terminating some idle threads just so they
₋ icm / max_conn = 2000 para ICM / elegido en el (ALIVE) are created soon again.

momento de la instalación de SAP Web Dispatcher Por lo general, no es necesario cambiar icm / max_threads ya que una conexión no ocupa un hilo en todo momento. In such scenarios, you could set this
parameter to 100, 250 or even higher
(2000 es la sugerencia predeterminada) Durante el ciclo de una conexión habrá un tiempo de inactividad, durante el cual el mismo hilo puede manejar una values.
₋ icm / req_queue_len = 6000 conexión diferente. Sin embargo, es posible aumentar max_threads. The only observation is that it must not be
higher than the parameter
₋ icm / min_threads = 10 icm/max_threads, of course.
₋ icm / max_threads = 500
You can use the Monitor option of the web
₋ mpi / total_size_MB = 6% de icm / max_conn + 50; administration page that we saw at the
máximo de 2000 (megabytes) previous unit to have an idea of what
would be a good value for the min_threads
₋ mpi / max_pipes = 2x icm / max_conn for your system.
₋ mpi / buffer_size = 65536 (bytes; 64 KB) Just monitor it during peak load hours and
determine the average of threads that are
₋ wdisp / HTTP / max_pooled_con = icm / max_conn always “alive”.
₋ wdisp / HTTPS / max_pooled_con = icm / max_conn It is usually not required to change the
icm/max_threads as one connection does
Ajuste para alta carga: not occupy a thread at all time.

cambie "icm / max_conn" y "icm / min_threads" During the cycle of a connection there will
solamente be some idle time, during which the same
thread can handle a different connection.
Increasing the max_threads is possible,
though.
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 5
3
Tuning the ICM/SAP Web Dispatcher for High Load Ahora analizaremos algunas entradas de rastreo que Now we will analyze some trace
entries that can be written by the ICM
High load situations (1) pueden ser escritas por el ICM o el Web Dispatcher de SAP or the SAP Web Dispatcher during high
durante situaciones de alta carga. load situations.

The first error entry is related to the


*** WARNING => IcmReadFromConn(id=3/118): temporarily out of MPI buffers -> roll out [icxxthrio.c 3223] *1*La primera entrada de error está relacionada con el área MPI memory area, as highlighted in
– A single connection sending a large request or too many connections in parallel? de memoria MPI, como se resalta en la diapositiva en color the slide in red color.
This could be caused by a single
rojo.
– Free dialog work processes? Esto podría ser causado por una sola conexión que intenta
connection trying to send a request
that is too large, or if many
connections are sending requests at
enviar una solicitud que es demasiado grande, the same time.
*** ERROR => no more free event-flags. [mpixx.c6070] MpiEvtOpen -1 -1 -> MPI_EEVT: Event flag error o si muchas conexiones envían solicitudes al mismo tiempo. The ID highlighted in orange is unique
for each connection.
*** ERROR => MpiIEvtOpen(0) failed: 11 [mpixx.c 1793] MPI:3999 create pipe c0000000e02039d0 0 *La ID resaltada en naranja es única para cada conexión. You can use this ID to determine
*** ERROR => IcmConnInitBuffer: MpiCreate2 failed (rc=MPI_EEVT: Event flag error/11) [icxxconn.c 4957] whether these trace entries are from a
Puede usar esta ID para determinar si estas entradas de single connection or from multiple
– “mpi/max_pipes” is not high enough. rastreo provienen de una única conexión o de varias connections.

conexiones. For both, the ICM and SAP Web


Situaciones de alta carga (1) Dispatcher, one common cause is
Para ambos, ICM y SAP Web Dispatcher, una causa común simply that the resources are
*** ADVERTENCIA => IcmReadFromConn (id = 3/118): undersized.
es simplemente que los recursos son de tamaño
temporalmente fuera de las memorias intermedias MPI -> You should delete the parameter
insuficiente. mpi/total_size_MB, if it is set at the
desplegar [icxxthrio.c 3223] *2*La segunda entrada de error está relacionada profile, and increase the parameter
con los canales MPI. Debe eliminar el parámetro mpi / total_size_MB, si está icm/max_conn.
-¿Una sola conexión que envía una solicitud grande o hay This will set the MPI memory size to
configurado en el perfil, the appropriate value, as well as
demasiadas conexiones en paralelo? El parámetro mpi / max_pipes no se establecería
y aumentar el parámetro icm / max_conn. prepare other resources for high load
en el valor apropiado. situations.
-Work Process de Dialogo Libres? Esto establecerá el tamaño de la memoria MPI en el valor
La recomendación sería eliminar este parámetro apropiado, y preparará otros recursos para situaciones de For the ICM, another common cause
for this issue is lack of free dialog
*** ERROR => no más evento-flags mpixx.c 6070] del perfil, de modo que el ICM y el Web Dispatcher alta carga. processes.
MpiEvtOpen -1 -1 -> MPI_EEVT: error de indicador de calculen los valores apropiados en función del If enough dialog work processes are
Para el ICM, otra causa común de este problema es la falta configured at the instance, the ICM
evento parámetro icm / max_conn. will stream the data directly to the
de Work Process de Dialogo Libres . work process, as we learned at Unit 1
of this week.
*** ERROR => MpiIEvtOpen (0) falló: 11 [mpixx.c 1793] The ICM will hold the data at the MPI
Si se configuran suficientes Work Process de Dialogo en la
MPI: 3999 create pipe c0000000e02039d0 0 area only if there is no dialog work
instancia, el ICM transmitirá los datos directamente al WP, process free to take the request.
So you can analyze what is happening
como aprendimos en la Unidad 1 de esta semana.
*** ERROR => IcmConnInitBuffer: MpiCreate2 falló (rc = at the instance and with the work
processes.
MPI_EEVT: error de indicador de evento / 11) [icxxconn.c El ICM mantendrá los datos en el área MPI solo si no hay un
4957] WP de diálogo libre para tomar la solicitud.
"Mpi / max_pipes" no es lo suficientemente alto. Para que pueda analizar lo que está sucediendo en la
instancia y con los WP.

The second error entry is related to the MPI pipes.


The parameter mpi/max_pipes would not be set to the appropriate value.
The recommendation would be to delete this parameter from the profile, so the ICM and the Web Dispatcher calculate the appropriate values based on the
2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
parameter©icm/max_conn. 5
4
Tuning the ICM / SAP Web Dispatcher for high load La siguiente entrada de rastreo indica que se
High load situations (2) están abriendo demasiadas conexiones al ICM o
al Web Dispatcher de SAP.
Aumentar el parámetro icm / max_conn es la
*** WARNING => IcmAcceptClient: server overload: conn: 500 - accept delayed[icxxman.c5290] solución, y esto permitirá el procesamiento de
– Increase “icm/max_conn”. más conexiones en paralelo.
[Thr 139780162316160] *** ERROR => IcmAcceptClient: NiAccept from <client IP address>failed with NI error -8 (NIEINVAL) [icxxman.c 5386]
[Thr 139780162316160] *** ERROR => NiIAccept: SiAccept failed for hdl 33/sock11 (SI_EMFILE/24; I4; ST; own high 499; max hds 2000) [nixxi.cpp3607] La última entrada de error indica que
– Operating system limit “open files” / “nofiles” / “descriptors” has been reached. no se pudo aceptar una nueva
SAP Note 2007212: Tuning SAP Web Dispatcher and ICM for highload conexión de red porque se alcanzó el
límite del sistema operativo para
Situaciones de alta carga (2) "archivos abiertos".
*** ADVERTENCIA => IcmAcceptClient: sobrecarga del servidor: conexión: 500 - aceptar retrasado [icxxman.c5290] La solución es ajustar la
- Aumente "icm / max_conn". configuración del sistema operativo,
[Thr 139780162316160] *** ERROR => IcmAcceptClient: NiAccept de <dirección IP del cliente> falló con el error NI -8 (NIEINVAL) [icxxman.c 5386] aumentando este límite.
Después de eso, SAP debe reiniciarse,
[Thr 139780162316160] *** ERROR => NiIAccept: SiAccept falló para hdl 33 / sock 11 (SI_EMFILE / 24; I4; ST; propio alto 499; max hds 2000) [nixxi.cpp3607] ya que los procesos que ya se están
ejecutando seguirían utilizando el
- Se ha alcanzado el límite del sistema operativo "archivos abiertos" / "nofiles" / "descriptores". límite anterior.

Es importante recordar reiniciar el proceso sapstartsrv también, ya


que no se detiene cuando se detiene SAP, como vimos en la Unidad 1
de la primera semana de este curso.
Entonces, después de ajustar los límites del sistema operativo,
This next trace entry indicates that too many connections are being opened to the ICM or debe detener SAP, para reiniciar el proceso sapstartsrv y luego iniciar
SAP Web Dispatcher. SAP nuevamente.
Increasing the parameter icm/max_conn is the solution, and this will enable the processing
of more connections in parallel.

The last error entry indicates that a new network connection could not be accepted
because the operating system limit for “open files” was reached.
The solution is to adjust the settings of the operating system, increasing this limit.
After that SAP must be restarted, as the already running processes would still be using the
old limit.

It is important to remember to restart the sapstartsrv process as well, as it is not stopped


when SAP is stopped, as we saw at Unit 1 of the first week from this course.
So, after adjusting the operating system limits, you need to stop SAP, restart the sapstartsrv
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 5
process, and then start SAP again.
5
Week 3: ICM and SAP Web Dispatcher Services
Unit 4: SAP Web Dispatcher for Multiple Systems
Welcome to Week 3, Unit 4.
We will learn how to configure the SAP Web Dispatcher for multiple backend systems,
including the selection criteria available for the SAP Web Dispatcher to determine which
backend system should process the request.

Bienvenido a la Semana 3, Unidad 4.


Aprenderemos cómo configurar SAP Web Dispatcher para múltiples sistemas de back-end,
incluidos los criterios de selección disponibles para que SAP Web Dispatcher determine qué
sistema de back-end debe procesar la solicitud.
Each backend system is configured through a
SAP Web Dispatcher for Multiple Systems parameter wdisp/system and then an index number.
Configuring the systems Cada sistema de fondo (Backend)
The mandatory arguments for this parameter are:
The SID, that defines the system ID of the backend
 Parameter “wdisp/system_<index>” se configura mediante un parámetro wdisp / system y luego un número de índice. being configured,
MSHOST, that defines the hostname of the Message
– SID = <backend System ID> Los argumentos obligatorios para este parámetro son: Server of the backend system,
– MSHOST = <hostname of Message Server> *El SID, que define la ID del sistema del backend que se está configurando, MSPORT, that defines the HTTP port of the Message
*MSHOST, que define el nombre de host del Message Server del sistema de fondo (Backend), Server.
– MSPORT = <HTTP port of Message Server> or *MSPORT, que define el puerto HTTP del servidor de mensajes. You can also use the argument MSSPORT to define
*También puede usar el argumento MSSPORT para definir un puerto HTTPS. an HTTPS port instead.
– MSSPORT = <HTTPS port of Message Server>
SAP Web Dispatcher se conectará al Message Server para recolectar información sobre el sistema de fondo The SAP Web Dispatcher will connect to the
– <argument(s) for selection criteria> Message Server to collect information about the
(Backend), como por ejemplo:
– Parameter “wdisp/system_conflict_resolution” • la lista de instancias que están disponibles actualmente, backend system,
like the list of instances that are currently available,
– Web Dispatcher for Multiple Systems WIKI • qué stacks están disponibles en la instancia, como si se tratara de un sistema ABAP, Java o doble stack,
which stacks are available at the instance, like it is
• los puertos HTTP y HTTPS de cada instancia, entre otras cosas an ABAP system, Java, or dual-stack,

Configurando los Sistemas


Luego podemos definir uno o más criterios de selección para cada sistema.
Si utilizamos más de un criterio, la solicitud entrante debe coincidir con todos los criterios de selección que
! the HTTP and HTTPS ports of each instance,
among others things.

Parámetro "wdisp / system_ <índice>“ utilizamos. We can then define one or more selection criteria
De lo contrario, SAP Web Dispatcher concluirá que el sistema no es el correcto para manejar la solicitud y for each system.
₋ SID = <ID del sistema de fondo (Backend)>
probará el siguiente sistema en la lista. If we use more than one criteria, the incoming
₋ MSHOST = <nombre de host del servidor de mensajes> request must match all the selection criteria we
₋ MSPORT = <puerto HTTP del servidor de mensajes> o Dependiendo de los criterios de selección en uso, necesitaríamos establecer el parámetro used.
₋ MSSPORT = <puerto HTTPS del servidor de mensajes> wdisp / system_conflict_resolution. Otherwise, the SAP Web Dispatcher will conclude
₋ <argumento (s) para los criterios de selección> El valor más común utilizado en este parámetro es 1, that the system is not the correct one to handle the
₋ Parámetro "wdisp / system_conflict_resolution" lo que significa que se utilizará el primer sistema que coincida con la solicitud. request and will test the next system in the list.
₋ Despachador web para sistemas múltiples WIKI
Esto hace que el orden de las definiciones de back-end sea relevante en el perfil. Depending on the selection criteria in use, we would
El orden se define por el número de índice de los parámetros de wdisp / system, y no el orden de aparición en need to set the parameter
el perfil. wdisp/system_conflict_resolution.
The most common value used at this parameter is 1,
Incluimos un enlace a una página SAP WIKI que explica los criterios de selección en esta diapositiva para su which means that the first system that matches the
referencia, pero déjenos verlos ahora. request will be used.

This makes the order of the backend definitions


relevant in the profile.
The order is defined by the index number of the
wdisp/system parameters, not the order of
appearance at the profile.

We included a link to an SAP WIKI page that explains


the selection criteria in this slide for your reference,
but let us see them right now.
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 5
7
SAP Web Dispatcher for Multiple Systems
Selection criteria (1)
 SRCURL
– wdisp/system_0 = SID=ECC, …, SRCURL=/sap;/nwbc
– wdisp/system_1 = SID=EPP, …, SRCURL=/

Criterios de selección (1)


SRCURL
₋ wdisp / system_0 = SID = ECC, ..., SRCURL = / sap; / nwbc
₋ wdisp / system_1 = SID = EPP, ..., SRCURL = /

Si queremos usar el prefijo URL como criterio de selección, debemos definir el argumento SRCURL en el parámetro wdisp / system.
Como podemos ver, podemos definir múltiples prefijos para cada sistema.
If we want to use the URL prefix as the selection criteria, we must define the SRCURL
argument at the wdisp/system parameter. Cada prefijo debe estar separado por un punto y coma. !
As we can see, we can define multiple prefixes for each system. El ejemplo que vemos en esta diapositiva funcionará solo si establecemos el parámetro wdisp / system_conflict_resolution en 1.
Each prefix must be separated by a semicolon. Si no configuramos este parámetro,
Web Dispatcher ni siquiera se iniciará, informando que existe un conflicto de configuración entre los sistemas.
The example we see at this slide will work only if we set the parameter Esto se debe a que establecemos el prefijo "/" para el sistema 1,
wdisp/system_conflict_resolution to 1.
If we do not set this parameter, the Web Dispatcher will not even start, informing that
y al ser un prefijo, "/" incluirá / cualquier cosa, como / sap y / nwbc, prefijos que se definieron para el sistema 0.
there is a configuration conflict between the systems.
Una vez que el parámetro se estableció en 1, se iniciará SAP Web Dispatcher, y así es como funcionará:
This is because we set the prefix “/” for the system 1, and being a prefix, “/” will include Si el usuario accede a /sap/bc/gui y luego a la URL de webgui,
/anything, like /sap and /nwbc – prefixes that were defined for the system 0. Web Dispatcher intentará hacer coincidir esta solicitud con el sistema 0, y coincidirá.
Once the parameter was set to 1, the SAP Web Dispatcher will start, and this is how it Esto se debe al prefijo /sap en el argumento SRCURL.
will work: Luego, esta solicitud se enviará al sistema ECC.
If the user accesses /sap/bc/gui and then the webgui URL, the Web Dispatcher will try to
match this request with the system 0, and it will match. Si el usuario accede a /irj/portal,
This is because of the /sap prefix at the SRCURL argument. SAP Web Dispatcher también intentará hacer coincidirlo con el sistema 0.
Then, this request will be sent to the ECC system.
Sin embargo, en este caso no coincidirá.
If the user accesses /irj/portal, the SAP Web Dispatcher will try to match it to system 0 as Luego, el Web Dispatcher de SAP se mueve al siguiente sistema.
well.
However, in this case it will not match. La solicitud coincidirá con el sistema 1 porque, como acabamos de comentar, el prefijo "/" incluirá / todo.
Then, the SAP Web Dispatcher moves to the next system. Esta solicitud se enviará al sistema EPP.
The request will match the system 1 because, as we have just discussed, the prefix “/”
will include /everything.
This request
© 2017will
SAP then beSAP
SE or an forwarded to the
affiliate company. All EPP
rightssystem.
reserved. ǀ PUBLIC 5
8
SAP Web Dispatcher for Multiple Systems
Selection criteria (2)
 SRCSRV
– icm/server_port_0 = …, PORT=80, …
– icm/server_port_1 = …, PORT=8080, …
 Using the port:
– wdisp/system_0 = SID=ECC, …, SRCSRV=*:8080
– wdisp/system_1 = SID=EPP, …, SRCSRV=*:80

Criterios de selección (2)


SRCSRV
Además de usar el prefijo URL,
• icm/server_port_0 = …, PORT=80, …
también podemos usar el nombre de host o el número de puerto como criterio de selección.
• icm/server_port_1 = …, PORT=8080, …
Para eso usamos el argumento SRCSRV del parámetro wdisp / system.
Usando el Puerto: Este argumento recibe dos valores separados por dos puntos.
• wdisp/system_0 = SID=ECC, …, SRCSRV=*:8080 1. El primer valor es el nombre de host
• wdisp/system_1 = SID=EPP, …, SRCSRV=*:80 2. y el segundo es el número de puerto.

Veamos un ejemplo usando el número de puerto.


Según la configuración que vemos en esta diapositiva,
• Si un usuario accede al Web Dispatcher a través del puerto 8080, la solicitud se enviará al sistema ECC.
• Si la solicitud llega al Despachador web a través del puerto 80, se enviará al sistema EPP.

Como el nombre de host tiene un "*", no se considera.


Besides using the URL prefix, we can also use the hostname or port number
as the selection criteria.
For that we use the argument SRCSRV of the parameter wdisp/system.
This argument receives two values separated by a colon.
The first value is the hostname and the second one is the port number.

Let us see an example using the port number.


Based on the settings we see at this slide,
if a user accesses the Web Dispatcher through the port 8080, the request
will be sent to the ECC system.
If the request reaches the Web Dispatcher through the port 80, it will then
be forwarded to the EPP system.

Since©the
2017hostname
SAP SE or anhas
SAP a “*”, company.
affiliate it is notAll
considered.
rights reserved. ǀ PUBLIC 5
9
SAP Web Dispatcher for Multiple Systems
Selection criteria (3)

 SRCSRV
– icm/server_port_0 = …, PORT=80, …
– icm/server_port_1 = …, PORT=8080, …
 Using the (physical!) host:
– wdisp/system_0 = SID=ECC, …, SRCSRV=ecc.company.com:*
– wdisp/system_1 = SID=EPP, …, SRCSRV=ep.company.com:*

Criterios de selección (3) En el siguiente ejemplo, utilizaremos solo el nombre de host.


SRCSRV Si la solicitud llega al SAP WEB Dispatcher a través del nombre de host ecc.company.com, se enviará al
• icm/server_port_0 = …, PORT=80, … sistema ECC.
• icm/server_port_1 = …, PORT=8080, … Si el usuario accedió al nombre de host ep.company.com, SAP Web Dispatcher reenvía la solicitud al sistema
EPP.
Usando el Host Físico:
Es importante mencionar que estos nombres de host deben estar físicamente asociados al servidor donde se
• wdisp/system_0 = SID=ECC, …, SRCSRV=ecc.company.com:*
está ejecutando SAP Web Dispatcher.
• wdisp/system_1 = SID=EPP, …, SRCSRV=ep.company.com:* En otras palabras, cada nombre de host debe estar asociado a una dirección IP configurada y activa en el
servidor SAP Web Dispatcher.
Además, cada nombre de host debe tener su propia dirección IP.
At this next example, we will use the hostname only.
If the request reaches the SAP Web Dispatcher through the hostname ecc.company.com, it will be forwarded to De lo contrario, SAP Web Dispatcher generará un error de conflicto de configuración y no se iniciará.
the ECC system. Esto se debe a que, al final, SAP Web Dispatcher utilizará la dirección IP local que recibió la conexión como
criterio de selección, y no el nombre de host en sí.
If the user accessed the hostname ep.company.com, the SAP Web Dispatcher forwards the request to the EPP
system. Establecer el parámetro wdisp / system_conflict_resolution en 1 no ayuda en este caso,
It is important to mention that these hostnames must be physically associated to the server where the SAP Web porque todas las solicitudes se reenviarían al sistema 0,
Dispatcher is running.
In other words, each hostname must be associated to an IP address that is configured and active at the SAP Web
causando problemas a los usuarios que acceden a través del host ep.company.com.
Dispatcher server.

Furthermore, each hostname must have its own IP address.


Otherwise, the SAP Web Dispatcher will raise a configuration conflict error and it will not start.
This is because, in the end, the SAP Web Dispatcher will use the local IP address that received the connection as
the selection criteria, and not the hostname itself.

Setting the parameter wdisp/system_conflict_resolution to 1 does not help in this case, because all the requests
2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 6
would be©forwarded to system 0, causing issues to users that are accessing through the host ep.company.com.
0
SAP Web Dispatcher for Multiple Systems
Selection criteria (4)

 SRCSRV
– icm/server_port_0 = …, PORT=80, …
– icm/server_port_1 = …, PORT=8080, …
 Using both:
– wdisp/system_0 = SID=ECC, …, SRCSRV=ecc.company.com:8080
– wdisp/system_1 = SID=EPP, …, SRCSRV=ep.company.com:80

Criterios de selección (4)


El argumento SRCSRV también nos permite utilizar una combinación de host y puerto como criterio de
SRCSRV selección.
₋ icm / server_port_0 = ..., PORT = 80, ... Si la solicitud no coincide con el host y el puerto definidos en este argumento, SAP Web Dispatcher no
₋ icm / server_port_1 = ..., PORT = 8080, ... reenviará la solicitud a ningún sistema de fondo.
Usando ambos: Si la solicitud no coincidía con ningún sistema de fondo, el SAP WEB Dispatcher devolverá al cliente un error
₋ wdisp / system_0 = SID = ECC,…, SRCSRV = ecc.company.com: 8080 "503 Servicio no disponible".
₋ wdisp / system_1 = SID = EPP,…, SRCSRV = ep.company.com: 80

The SRCSRV argument also allows us to use a combination of both host and port as the selection criteria.
If the request does not match both the host and port defined at this argument, the SAP Web Dispatcher will not forward the
request to any backend system.

If the request did not match any backend system, then the SAP Web Dispatcher will return a “503 Service Unavailable” error
back to© 2017
the client.
SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 6
1
SAP Web Dispatcher for Multiple Systems
Selection criteria (5)
 SRCVHOST
– Works in the same way as SRCSRV
– Uses the HTTP header “host”
– No DNS lookup performed (DNS alias can be used)

– wdisp/system_0 = SID=ECC, …, SRCVHOST=ecc.mycompany.com:8080


– wdisp/system_1 = SID=ECC, …, SRCVHOST=ep.mycompany.com:80
En lugar de usar nombres de host físicos, podemos usar nombres de host virtuales o alias DNS.
Criterios de selección (5) Esto es posible utilizando el argumento SRCVHOST.
Funciona de la misma manera que el argumento SRCSRV, con una excepción.
SRCVHOST
₋ Funciona de la misma manera que SRCSRV
SAP Web Dispatcher no buscará una dirección IP local asociada al nombre de host.
₋ Utiliza el encabezado HTTP "host"
Utilizará la información enviada por el cliente en el encabezado HTTP llamado "host".
₋ No se realizó una búsqueda de DNS (se puede usar un alias de DNS)
Esto permite el uso de alias DNS para los criterios de conexión.
₋ wdisp / system_0 = SID = ECC,…, SRCVHOST = ecc.mycompany.com: 8080
₋ wdisp / system_1 = SID = ECC,…, SRCVHOST = ep.mycompany.com: 80

Instead of using physical hostnames, we can use virtual hostnames, or DNS aliases.
This is possible by using the SRCVHOST argument.

It works in the same way as the SRCSRV argument, with one exception.
The SAP Web Dispatcher will not look for a local IP address associated to the hostname.
It will use the information sent by the client at the HTTP header named “host”.
© 2017
This enables SAP
the SE or an
usage ofSAP
DNSaffiliate
aliasescompany. All rights
for the reserved. ǀ criteria.
connection PUBLIC 6
2
Week 3: ICM and SAP Web Dispatcher Services
Unit 5: Load Balancing with the SAP Web Dispatcher
Welcome to Week 3, Unit 5.
At this unit, we will learn how the SAP Web Dispatcher performs the load balancing.
Before we see that, we need to cover some introductory topics.

Bienvenido a la Semana 3, Unidad 5.


En esta unidad, aprenderemos cómo SAP Web Dispatcher realiza el equilibrio de carga.
Antes de ver eso, necesitamos cubrir algunos temas introductorios.
Hay dos tipos de solicitudes: sin estado y con estado.
Load Balancing with the SAP Web Dispatcher There are two types of requests:
stateless and stateful.
Introduction: stateless vs. stateful Una solicitud sin estado
es independiente de las solicitudes anteriores. A stateless request is independent
Esto significa que cada solicitud enviada por el cliente, from the previous requests.
Stateless: no necesita ninguna información o datos de una solicitud anterior This means that each request sent
by the client does not need any
 Each request is independent of previous requests. para ser procesados ​por el servidor.
information or data from a
 Each request can be load-balanced. Dado que cada solicitud sin estado es independiente entre sí, previous request to be processed
cada solicitud sin estado se puede equilibrar en carga a diferentes by the server.
servidores. Since each stateless request is
Introducción: sin estado versus con estado independent from each other,
Sin Estado: each stateless request can be
• Cada solicitud es independiente de las En un escenario con estado, load-balanced to different
solicitudes anteriores. la información sobre el estado de la aplicación, y su lógica, servers.
• Cada solicitud puede ser de carga se mantiene en el servidor.
Por lo tanto, la siguiente solicitud puede confiar en esta información y In a stateful scenario, information
equilibrada. about the state of the application
el estado de la aplicación.
and its logic is kept at the server.
Por lo general, se requiere autenticación para escenarios con estado Thus, the next request can rely on
! ya que se creará una sesión de usuario al iniciar sesión. this information and application
state.
Una vez que existe una sesión, Authentication is usually required
Stateful: for stateful scenarios since a user
todas las solicitudes relacionadas con esta sesión,
session will be created upon the
 A request can depend on information from previous requests (application no deben tener equilibrio de carga.
logon.
state). Deben enviarse a la misma instancia donde existe la sesión.
De lo contrario, la solicitud fallará ya que las otras instancias no Once a session exists, all the
 Only the first stateful request must be load-balanced. tendrán la información de la sesión, que incluye el estado de la requests related to this session
aplicación y sus datos relacionados. must not be load-balanced.
Introducción: sin estado versus con estado They must be sent to the same
Esto se llama "persistencia de sesión" o "rigidez de sesión". instance where the session exists.
Con Estado:
Otherwise, the request will fail as
• Una solicitud puede depender de la the other instances will not have
información de solicitudes anteriores the session information, which
(estado de la aplicación). includes the application state and
• Solo la primera solicitud con estado its related data.
debe tener equilibrio de carga. This is called “session
persistence” or “session
stickiness”.

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 6


4
Load Balancing with the SAP Web Dispatcher The message server is a component present in every ABAP
system and it can perform the load balance of HTTP requests as
well.
Introduction: El Message Server es un componente presente en todos los sistemas ABAP y también puede realizar el
load balance through the message server equilibrio de carga de las solicitudes HTTP. Sin embargo, tiene algunas limitaciones.
However, it has some limitations.
The message server performs the load balancing by sending
HTTP redirect responses to the client.
 Message server load balances with HTTP El Message Server realiza el equilibrio de carga, enviando respuestas de redireccionamiento HTTP al cliente. The target of the redirect is the instance that should receive the
redirects. Client must be able to access all load balanced request.
El objetivo de la redirección es la instancia, que debería recibir la solicitud de carga equilibrada. Therefore, the clients must be able to reach not only the
instances directly. Por lo tanto, los clientes deben poder llegar no solo al Message Server , sino también a todas las instancias message server, but all the instances of the system as well.
del sistema.
 Only one load balance algorithm is available. If an SAP Web Dispatcher is installed in front of the system, the
clients must be able to reach the SAP Web Dispatcher only as it
Si se instala un SAP WEB Dispatcher frente al sistema, will act as an intermediary and it will be the SAP Web Dispatcher
 Not supported for Stateful applications. los clientes deben poder comunicarse con el Dispatcher, solo porque actuará como intermediario y será el that will connect to the instances.

 Bookmarked pages will bypass the load quien se conectará a las instancias. The picture shows an example of load balancing through the
message server.
balancing mechanism. La imagen muestra un ejemplo de equilibrio de carga a través del Message Server . The first request is sent to the HTTP port of the message server.

Balanceo de Carga ! -La primera solicitud se envía al puerto HTTP del Message Server .
--Podemos ver que responde con una respuesta de redireccionamiento HTTP, lo que indica que el
We can see that it replies with an HTTP redirect response,
indicating that the internet browser has to access the ICM port
of the instance that was chosen by the message server.
Introducción: equilibrio de carga a través del Message Server navegador de Internet, debe acceder al puerto ICM de la instancia elegida por el Message Server . The internet browser automatically connects to the target
instance.
• Los saldos de carga del Message Server con El navegador de Internet se conecta automáticamente a la instancia de destino.
redireccionamientos HTTP. El cliente debe poder acceder The message server has only one load balance algorithm
a todas las instancias directamente. El Message Server solo tiene un algoritmo de equilibrio de carga disponible, available, which is to send the request to the server that has the
best “quality”.
• Solo hay un algoritmo de equilibrio de carga disponible. que es enviar la solicitud al servidor que tenga la mejor "calidad". This would be the current logon instance that we can see at the
• No es compatible con aplicaciones con estado. Esta sería la instancia de inicio de sesión actual que podemos ver en la transacción SMLG, transaction SMLG, menu Goto, Load Distribution.

• Las páginas marcadas evitarán el mecanismo de equilibrio menú Pasar a, Distribución de carga. Load balancing through the message server is not supported for
stateful applications because the message server does not have
de carga. the capability of interpreting the session cookies and keep the
El equilibrio de carga a través del Message Server no es compatible con aplicaciones con estado, session persistence.
porque el Message Server no tiene la capacidad de interpretar las cookies de sesión y mantener la All requests that reach the message server are treated as
stateless requests.
persistencia de la sesión.
Todas las solicitudes que llegan al Message Server se tratan como solicitudes sin estado. The SAP Web Dispatcher, on the other hand, understands the
SAP session cookies and session IDs, so it can detect stateful
requests and keep the session persistence.
El SAP WEB Dispatcher, por otro lado, comprende las cookies de sesión de SAP y los ID de sesión, por lo que
Lastly, if the user bookmarks the page after the load balance
puede detectar solicitudes con estado y mantener la persistencia de la sesión. took place, which would most likely occur as the redirect should
be very fast and it does not require user interaction, accessing
the bookmark page will effectively bypass the load balance
Por último, si el usuario marca la página después del balance de carga, mechanism and the user accesses the same instance all the time
lo que probablemente ocurriría ya que la redirección debería ser muy rápida y no requiere la interacción disregarding its current load situation.
del usuario,
acceder a la página de marcadores omitirá efectivamente el mecanismo de balance de carga y el usuario
accederá la misma instancia todo el tiempo sin tener en cuenta su situación de carga actual.

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 6


5
Load Balancing with the SAP Web Dispatcher
Introduction: load balance through the message server

La imagen muestra un
ejemplo de equilibrio de
carga a través del
Message Server .
La primera solicitud se
envía al puerto HTTP del
Message Server .
Podemos ver que
responde con una
respuesta de
redireccionamiento HTTP,
lo que indica que el
navegador de Internet
debe acceder al puerto
ICM de la instancia
elegida por el Message
Server .
El navegador de Internet
se conecta
automáticamente a la
instancia de destino.

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 6


6
Load Balancing with the SAP Web Dispatcher
Load balance algorithms (1)
Configured with the parameter “wdisp/load_balancing_strategy”.
 Possible values:
– simple_weighted_round_robin
– weighted_round_robin (default)
– adaptive

Algoritmos de equilibrio de carga (1)


Configurado con el parámetro "wdisp / load_balancing_strategy".
Valores posibles:
• simple_weighted_round_robin
• weighted_round_robin (predeterminado)
• adaptativo

We will now see the three different load Ahora veremos los tres algoritmos de equilibrio de carga diferentes disponibles para el SAP WEB Dispatcher.
balancing algorithms available for the SAP
Web Dispatcher.
The parameter
El parámetro wdisp / load_balancing_strategy se puede usar para configurar qué algoritmo se usará.
!
wdisp/load_balancing_strategy can be used
to configure which algorithm will be used.

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 6


7
Load Balancing with the SAP Web Dispatcher
Load balance algorithms (2)
simple_weighted_round_robin
 A server with “k” capacity receives “k” requests before the next server takes over.
 Capacity = number of dialog work processes

Algoritmos de Equilibrio de Carga (2)


simple_weighted_round_robin
• Un servidor con capacidad "k" recibe solicitudes "k" antes de que el siguiente servidor se haga cargo.
!
• Capacidad = número de WP de diálogo.

When using the Al utilizar el algoritmo simple_weighted_round_robin,


simple_weighted_round_robin algorithm, el SAP WEB Dispatcher determinará la capacidad de cada instancia.
the SAP Web Dispatcher will determine the
capacity of each instance. La capacidad es el número de WP de diálogo disponibles en la instancia.
The capacity is the number of dialog work
processes available at the instance. Luego, SAP Web Dispatcher reenvía la misma cantidad de solicitudes a la primera instancia,
Then, the SAP Web Dispatcher forwards the antes de comenzar a enviar las solicitudes a la siguiente instancia.
same number of requests to the first
En este ejemplo, tenemos un sistema SAP con dos instancias detrás de SAP Web Dispatcher.
instance, before it starts sending the
requests to the next instance. 1. La instancia 00 tiene 40 WP de diálogo, lo que significa que su capacidad será 40.
2. La instancia 01 tiene 20 WP de diálogo.
In this example, we have an SAP system
with two instances behind the SAP Web
1. Las primeras 40 solicitudes se enviarán a la instancia 00.
Dispatcher. 2. Las siguientes 20 solicitudes se enviarán a la instancia 01.
The instance 00 has 40 dialog work
Luego, Web Dispatcher comenzará a enviar las siguientes solicitudes nuevamente a la instancia 00, y así
processes, which means that its capacity will
be 40. sucesivamente.
The instance 01 has 20 dialog work
processes. La carga real del sistema de fondo (Backend) no se considera.

The first 40 requests will all be forwarded to


the instance 00.
The next 20 requests will all be forwarded to
the instance 01.
Then, the Web Dispatcher will start sending
the next requests again to instance 00, and
so on.
The actual load from the backend system is
not considered.
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 6
8
Load Balancing with the SAP Web Dispatcher
Load balance algorithms (3)
Algoritmos de Equilibrio de Carga (3)
weighted_round_robin
weighted_round_robin
 Uses a “load factor” (estimation of the current load). • Utiliza un "factor de carga" (estimación de
 Instance with the lowest “load factor” receives the next request. la carga actual).
• La instancia con el "factor de carga" más
 Requests pending for the instances are also taken into
bajo recibe la siguiente solicitud.
account.
• Las solicitudes pendientes para las
 “Load factor” is calculated per instance. instancias también se toman en cuenta.
• El "factor de carga" se calcula por instancia.
The default algorithm is weighted_round_robin.
This algorithm uses a “load factor” to estimate the current load of
each instance.
The instance that has the lowest load factor receives the next
request.
The SAP Web Dispatcher also considers the number of pending
requests for each instance, that is, the number of requests that are
still being processed by that instance
El algoritmo predeterminado es
The load factor is a static value calculated based on the capacity of weighted_round_robin.
each instance. Este algoritmo utiliza un "factor de carga" (Load Factor)
Each time a request is sent to an instance, it increases the load para estimar la carga actual de cada instancia.
factor of that instance.
La instancia que tiene el factor de carga más bajo
Once the response is sent back, the load factor is decreased. En la tabla, podemos ver un ejemplo de cómo funciona este algoritmo.
At the table to the right, we can see an example of how this recibe la siguiente solicitud.
algorithm works. Al principio, la carga de ambas instancias es cero.
SAP Web Dispatcher también considera, el N° de
At the beginning, the load from both instances is zero. Cuando se recibe la primera solicitud, SAP Web Dispatcher la reenvía a la primera
When the first request is received, the SAP Web Dispatcher solicitudes pendientes para cada instancia, es decir,
instancia disponible, que es la instancia 00, en este caso.
forwards it to the first instance available, which is instance 00, in el N° de solicitudes que esa instancia aún está
Luego aumenta el factor de carga de esa instancia utilizando su propio valor de
this case. procesando
factor de carga calculado.
Then it increases the load factor of that instance using its own
calculated load factor value. El factor de carga (Load Factor), es un valor estático
La segunda solicitud se enviará a la instancia 01, ya que la instancia 00 tiene el
calculado en función de la capacidad de cada instancia.
factor de carga de 400 y la instancia 01 todavía tiene el factor de carga cero.
The second request will be sent to the instance 01, since instance
Cada vez que se envía una solicitud a una instancia,
00 has the load factor of 400 and the instance 01 still has the load Luego, la instancia 00 envía la respuesta de la primera solicitud.
factor zero. aumenta el factor de carga (Load Factor) de esa
Web Dispatcher disminuye su factor de carga.
Then, the instance 00 sends back the response from the first instancia.
request. Una vez que se devuelve la respuesta, el factor de Las solicitudes tercera y cuarta se enviarán a la instancia 00, porque tendrá el
The Web Dispatcher decreases its load factor. carga disminuye. factor de carga más bajo en ese momento.
The third and fourth requests will be sent to instance 00, because it
will have© the
2017 lowest load
SAP SE or factor
an SAP atcompany.
affiliate that time.
All rights reserved. ǀ PUBLIC 6
9
Load Balancing with the SAP Web Dispatcher
Load balance algorithms (4) El último algoritmo disponible se llama adaptativo.
Funciona de la misma manera que el algoritmo anterior que vimos, el
adaptive weighted_round_robin.
La diferencia está en cómo se calcula el factor de carga (Load Factor).
 Works in the same way as the “weighted_round_robin” algorithm.
SAP Web Dispatcher envía periódicamente solicitudes de "ping" a las instancias, para
 Difference: “load factor” dynamically calculated based on the “ping” response time. confirmar que son accesibles y responden.
El tiempo de respuesta de estas solicitudes de "ping" se utiliza para calcular el factor de
Algoritmos de Equilibrio de Carga (3)
carga (Load Factor).
Adaptativo Cuanto menor es el tiempo de respuesta,
• Funciona de la misma manera que el algoritmo "weighted_round_robin".
• Diferencia: "factor de carga" calculado dinámicamente en función del tiempo de respuesta "ping".
menor es el incremento del factor de carga actual para cada instancia.
!

The last algorithm available is called adaptive.


It works in the same way as the previous algorithm
that we saw, the weighted_round_robin.
The difference is on how the load factor is
calculated.

The SAP Web Dispatcher periodically sends “ping”


requests to the instances, to confirm that they are
reachable and responsive.

The response time of these “ping” requests is used


to calculate the load factor.
The smaller the response time, the smaller the
increment of the current load factor for each
instance.

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 7


0
Load Balancing with the SAP Web Dispatcher The SAP Web Dispatcher can use the SAP session cookies and session IDs to keep the session persistence only if its ports are configured
with the HTTP or HTTPS protocols.
Session persistence This is because it will then be able to see the HTTP traffic being exchanged by the client and the backend system.
If the SAP Web Dispatcher is configured with an HTTPS port using the protocol router, then it is unable to see the HTTP traffic.
SAP Web Dispatcher puede usar las cookies de sesión de SAP y los ID de sesión This is because the SAP Web Dispatcher will not have the SSL certificate.
para mantener la persistencia de la sesión, solo si sus puertos están configurados con los In this scenario, the SSL certificate will be stored at the backend instances.
protocolos HTTP o HTTPS. What the Web Dispatcher does, in this case, is simply to forward the raw HTTPS requests from the client to one of the backend
instances, and then forward the raw HTTPS response back to the client, without decrypting any traffic.
Esto se debe a que podrá ver el tráfico HTTP intercambiado por el cliente y el sistema de fondo Because of that, the only information it can use to guarantee the session persistence is the IP address of the client.
(Backend). Thus, when using the protocol router, all requests from one IP address will be forwarded to the same backend instance.
This can cause issues if the clients do not reach the SAP Web Dispatcher directly, but perform the access through another equipment,
Si el Dispatcher está configurado con un puerto HTTPS, utilizando el enrutador de protocolo, like a proxy.
entonces no puede ver el tráfico HTTP. For example, if you have 2000 users reaching the Web Dispatcher through a proxy server, the SAP Web Dispatcher will consider that all
Esto se debe a que SAP Web Dispatcher no tendrá el certificado SSL. 2000 users are coming from the same IP address: the proxy.
This will cause all 2000 users to be load-balanced to the same backend instance.
En este escenario, el certificado SSL se almacenará en las instancias de fondo.
The parameter wdisp/HTTPS/sticky_mask can be used to combine groups of client IP addresses, so all IP addresses from the group are
Lo que hace el Web Dispatcher, en este caso, es simplemente reenviar las solicitudes HTTPS sin load-balanced to the same instance.
procesar del cliente, a una de las instancias de back-end, It works as a bitmask in the same way as the network mask of the IPv4 configuration from a network card.
Setting this parameter to 255.255.255.255 effectively disables the grouping of client IP addresses, making every client IP address to be
y luego reenviar la respuesta HTTPS sin procesar al cliente, sin descifrar ningún tráfico. load-balanced individually.
Debido a eso, la única información que puede usar para garantizar la persistencia de la sesión
es la dirección IP del cliente.
Por lo tanto, cuando se utiliza el enrutador de protocolo, todas las solicitudes de una dirección
IP se enviarán a la misma instancia de back-end.
Esto puede causar problemas si los clientes no llegan directamente al SAP WEB Dispatcher, sino
que realizan el acceso a través de otro equipo, como un proxy.
Por ejemplo, si tiene 2000 usuarios llegando a Web Dispatcher a través de un servidor proxy, El
Dispatcher considerará que todos los 2000 usuarios provienen de la misma dirección IP:
el proxy.
Esto hará que todos los 2000 usuarios tengan un equilibrio de carga en la misma instancia de
back-end.
El parámetro wdisp / HTTPS / sticky_mask se puede usar para combinar grupos de direcciones
IP de clientes, por lo que todas las direcciones IP del grupo tienen equilibrio de carga en la
misma instancia.
Funciona como una máscara de bits de la misma manera que la máscara de red de la
configuración de IPv4 desde una tarjeta de red.
!
Establecer este parámetro en 255.255.255.255 deshabilita efectivamente la agrupación de las
direcciones IP del cliente, haciendo que cada dirección IP del cliente sea balanceada de carga
individualmente.

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 7


1
Load Balancing with the SAP Web Dispatcher
Session persistence
 HTTP / HTTPS El parámetro wdisp / HTTPS / sticky_mask se
– Session cookies puede usar para combinar grupos de
direcciones IP de clientes, por lo que todas
– Session ID las direcciones IP del grupo tienen equilibrio
 ROUTER de carga en la misma instancia.
Funciona como una máscara de bits de la
– IP address of the client misma manera que la máscara de red de la
– Parameter “wdisp/HTTPS/sticky_mask” configuración de IPv4 desde una tarjeta de
red.
Persistencia de la sesión
Establecer este parámetro en
HTTP / HTTPS 255.255.255.255 deshabilita efectivamente
• Cookies de sesión la agrupación de las direcciones IP del
• ID de sesión cliente, haciendo que cada dirección IP del
ROUTER cliente sea balanceada de carga
• Dirección IP del cliente
• Parámetro "wdisp / HTTPS / sticky_mask"
individualmente.
!

HTTP header:
cookie: sap-contextid=SID%3aANON%3aeccbrasil_PLR_30%3apE2WgyjLq4kyIYAOyYkI6c-sl5V3hAjcpeCAAjKH-ATT

URI parameter
http://webdispatcher/sap(bD1kZSZjPTAwMA==)/bc/bsp/sap/it00/basic_abap.htm
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 7
2
Load Balancing with the SAP Web Dispatcher
Final considerations
 Load balance values are reset at every two minutes
(“wdisp/lb/auto_reset=1” by default;
“wdisp/auto_refresh= 120” by default).
 Number of logged on users, memory, and
CPU power are not considered (directly) by
any of the load balance algorithms.
 Number of HTTP sessions is not a good indicator of the
load balance distribution.

Consideraciones Finales
Now, some final considerations about the load balancing through the SAP
• Los valores de equilibrio de carga se restablecen cada dos minutos Web Dispatcher.
• ("wdisp / lb / auto_reset = 1" por defecto;
The values of the load factors that we discussed at the
"wdisp / auto_refresh = 120 "por defecto). weighted_round_robin and adaptive algorithms are reset at every two
• El número de usuarios registrados, la memoria y la potencia de la CPU no son considerados (directamente) por ninguno de los algoritmos de equilibrio de carga. minutes, by default.
This means that, once the reset occurs, the current load situation will not
• El número de sesiones HTTP no es un buen indicador de la distribución del equilibrio de carga. matter any longer and all servers will be treated with zero load again.

The reset interval is taken from the parameter wdisp/auto_refresh, which


Ahora, algunas consideraciones finales sobre el equilibrio de carga a través de SAP Web Dispatcher. also controls the interval for the SAP Web Dispatcher to connect to the
backend system and collect an updated list of available instances, logon
*Los valores de los factores de carga que discutimos en weighted_round_robin y los algoritmos adaptativos se restablecen cada dos minutos, por defecto. groups and URL mappings.
Esto significa que, una vez que se produce el restablecimiento, la situación de carga actual ya no importará y todos los servidores serán tratados con carga cero
The number of logged on users, memory installed on the server and the
nuevamente. CPU power are not considered by any of the load balance algorithms that
we discussed. At least not directly.
*El intervalo de reinicio se toma del parámetro wdisp / auto_refresh, que también controla el intervalo para que el SAP WEB Dispatcher se conecte al sistema de fondo y
recopile una lista actualizada de instancias disponibles, grupos de inicio de sesión y asignaciones de URL. Memory and CPU power might influence the response time of the “ping”
requests sent by the SAP Web Dispatcher, which means that this could
*Ninguno de los algoritmos de equilibrio de carga que analizamos, considera el número de usuarios conectados, influence the adaptive algorithm in an indirect way.

la memoria instalada en el servidor y la potencia de la CPU. Al menos no directamente. Lastly, the number of HTTP sessions at an instance is not a good indicator
Es decir, La memoria y la potencia de la CPU pueden influir en el tiempo de respuesta de las solicitudes de "ping" enviadas por SAP Web Dispatcher, lo que significa que of load distribution.
This is because only stateless requests can be load-balanced, as we
esto podría influir en el algoritmo adaptativo de forma indirecta. already discussed at this unit.

*Por último, el número de sesiones HTTP en una instancia no es un buen indicador de la distribución de carga. Stateful requests that belong to a particular session must all be
forwarded to the same instance where the session exists.
Esto se debe a que solo las solicitudes sin estado pueden equilibrar la carga, como ya discutimos en esta unidad.
Instead of the number of HTTP sessions, we should look at the number of
*Las solicitudes con estado que pertenecen a una sesión en particular deben enviarse a la misma instancia donde existe la sesión. stateless and stateful requests sent to each application server.
We can do this at the web administration page tool of the SAP Web
*En lugar de la cantidad de sesiones HTTP, deberíamos observar la cantidad de solicitudes sin estado y con estado enviadas a cada servidor de aplicaciones. Dispatcher, at the Monitor Application Servers menu item that we saw at
the Unit 2 of this week.
Podemos hacerlo en la herramienta de la página de administración web de SAP Web Dispatcher,
en el elemento del menú Supervisar servidores de aplicaciones que vimos en la Unidad 2 de esta semana. At the next units, we will see how the integration between the SAP Web
Dispatcher and other systems looks like.
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 7
En las siguientes unidades, veremos cómo se ve la integración entre SAP Web Dispatcher y otros sistemas.
3
Week 3: ICM and SAP Web Dispatcher Services
Unit 6: SAP Web Dispatcher Integration with Other
Systems
Welcome to Week 3, Unit 6, the last unit of this openSAP course.
At this unit, we will see examples of integration of different systems
with an SAP Web Dispatcher, including configuration examples.

Bienvenido a la Semana 3, Unidad 6, la última unidad de este curso openSAP.


En esta unidad, veremos ejemplos de integración de diferentes sistemas.
con un SAP WEB Dispatcher, incluidos ejemplos de configuración.
SAP Web Dispatcher Integration with Other Systems
SAP Enterprise Portal + ABAP back end
 No changes required at the ABAP back end.
 iView (System Object, actually) at the EP should point to the SAP Web Dispatcher.
 SAP Web Dispatcher configured for multiple systems:
– wdisp/system_conflict_resolution = 1
– wdisp/system_0 = SID=<ABAP>, …,SRCURL=/sap;/nwbc
– wdisp/system_1 = SID=<EP>, …, SRCURL=/
SAP Enterprise Portal + ABAP back-end
• No se requieren cambios en el back-end ABAP.
• iView (objeto del sistema, en realidad) en el EP debe apuntar al SAP WEB Dispatcher.
• SAP Web Dispatcher configurado para múltiples sistemas:
- wdisp / system_conflict_resolution = 1
- wdisp / system_0 = SID = <ABAP>, ..., SRCURL = / sap; / nwbc
- wdisp / system_1 = SID = <EP>,…, SRCURL = /

En el primer escenario, SAP Web Dispatcher estará frente a dos sistemas:


un SAP Enterprise Portal y un sistema ABAP, como un ERP.

Cuando se introduce SAP Web Dispatcher en este panorama, no debería ser necesario cambiar nada en el
backend ABAP.
Sin embargo, se requerirán cambios en la configuración de SAP Enterprise Portal.
In the first scenario, the SAP Web Dispatcher will be in front of two systems:
Los iViews que apuntan al sistema ABAP deberán ajustarse para que apunten al SAP WEB Dispatcher. an SAP Enterprise Portal and an ABAP system, like an ERP.
Estas configuraciones no se almacenan en el iView en sí.
When the SAP Web Dispatcher is introduced in this landscape, it should not be required to change anything at the ABAP backend.
Se almacenan en el objeto del sistema utilizado por el iView. Changes will be required at the configuration of the SAP Enterprise Portal, though.
Podemos ver un ejemplo de la configuración de Objetos del sistema en la captura de pantalla a la derecha.
The iViews that are pointing to the ABAP system will have to be adjusted so they point to the SAP Web Dispatcher instead.
These settings are not stored at the iView itself.
Las propiedades del conector no deben modificarse. They are stored at the System Object used by the iView.
We can see an example of System Object settings at the screenshot to the right.
Deben continuar apuntando directamente al backend ABAP. The Connector properties must not be changed.
Los cambios deben realizarse solo en las propiedades ITS y Web AS. They must continue to point to the ABAP backend directly.
The changes must be made at the ITS and Web AS properties only.
At the SAP Web Dispatcher, we can use the system_conflict_resolution set to 1 and add the ABAP system as the system_0, using the /sap and
En el Web Dispatcher de SAP, podemos usar el sistema_conflict_resolution establecido en 1 y agregar el sistema /nwbc URL prefixes as the selection criteria.
All other requests would be forwarded to the portal system, which we would add as the system_1 with the URL prefix “/”.
ABAP como system_0, usando los prefijos URL / sap y / nwbc como criterios de selección.

Todas las demás solicitudes se enviarían al sistema del portal, que agregaríamos como system_1 con el prefijo de
7
URL "/". 5
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
SAP Web Dispatcher Integration with Other Systems
SAP HANA / SAP HANAXS
En este próximo escenario, queremos agregar un SAP HANA detrás de
 Access to the topology information has to be enabled manually as of SAP un SAP WEB Dispatcher.
HANA SPS 09 rev. 95 Es importante mencionar que SAP HANA tiene un Despachador web
(SAP Note 2146931). interno.
Este Web Dispatcher interno no debe usarse frente a otros sistemas.
 SAP Web Dispatcher configured for multiple systems: Por lo tanto, otro SAP Web Dispatcher debe configurarse frente a SAP
– wdisp/system_conflict_resolution = 1 HANA. Lo llamaremos el Web Dispatcher externo.
– wdisp/system_0 = SID=<HANA>, XSSRV=<HANA>,SRCURL=/sap/hana
En el sistema HANA, es posible que necesitemos habilitar el acceso a
– wdisp/system_1 = SID=<ABAP>, …,SRCURL=/sap;/nwbc
la información de topología como se describe en la nota 2146931 de
SAP HANA / SAP HANA XS SAP.
El acceso a la información de topología debe habilitarse manualmente a partir Vemos los pasos ilustrados en la imagen de la derecha.
de SAP HANA SPS 09 rev. 95
(Nota SAP 2146931). Después de acceder a SAP HANA a través de HANA Studio, haga doble
SAP Web Dispatcher configurado para múltiples sistemas: clic en el sistema para abrir su vista de administración.
wdisp / system_conflict_resolution = 1 Luego, cambie a la pestaña Configuración y expanda el árbol
wdisp / system_0 = SID = <HANA>, XSSRV = <HANA>, SRCURL = / sap / hana webdispatcher.ini, perfil.
wdisp / system_1 = SID = <ABAP>,…, SRCURL = / sap; / nwbc El parámetro wdisp / filter_xs_internal_uri debe cambiarse a "falso".
Luego, se debe reiniciar el Web Dispatcher interno.
At this next scenario, we want to add an SAP HANA behind an SAP Web Dispatcher.
It is important to mention that the SAP HANA has an internal Web Dispatcher.
This internal Web Dispatcher must not be used in front of other systems. El Web Dispatcher externo se configuraría para múltiples sistemas, ! The external Web Dispatcher would be configured for
multiple systems, using the system_conflict_resolution set
to 1.We can then use the URL prefix /sap/hana to indicate
Thus, another SAP Web Dispatcher should be configured in front of the SAP HANA. We will call utilizando el sistema_conflict_resolution establecido en 1.
the requests that must be sent to the HANA system,
it the external Web Dispatcher. Luego podemos usar el prefijo URL / sap / hana para indicar las
adding it as the system_0.
At the HANA system, we might need to enable the access to the topology information as solicitudes que deben enviarse al sistema HANA, agregándolo como We can see a new argument of the wdisp/system
described at the SAP Note 2146931. system_0. parameter: XSSRV.
We see the steps illustrated at the picture on the right.
We can point this argument to the SAP HANA host and
After accessing the SAP HANA through the HANA Studio, double click at the system to open its
Podemos ver un nuevo argumento del parámetro wdisp / system: port number of the internal Web Dispatcher.
administration view.
Then, switch to the Configuration tab and expand the tree webdispatcher.ini, profile.
The parameter wdisp/filter_xs_internal_uri must be changed to “false”. Then, the internal Web
XSSRV.
Podemos señalar este argumento al host de SAP HANA y al número de
! This way, the external Web Dispatcher can download the
topology file and perform the load balance to all SAP HANA
instances that are active.
Dispatcher must be restarted. puerto del Web Dispatcher interno.
De esta manera, el Web Dispatcher externo puede descargar el
archivo de topología y realizar el equilibrio de carga en todas las
instancias de SAP HANA que estén activas.

7
© 2017 SAP SE or an SAP affiliate company. All rights reserved.
6 ǀ PUBLIC
SAP Web Dispatcher Integration with Other Systems Ahora veremos una vista de escenario en Fiori.
El escenario más completo de SAP Fiori incluiría tres tipos de aplicaciones
SAP Fiori (+ SAP NetWeaver Gateway 2.0) + SAP HANA + INAsearch SAP Fiori:
transaccionales, hojas informativas y aplicaciones analíticas.
 SAP Web Dispatcher configured for multiple systems:
– wdisp/system_conflict_resolution = 1 El último realiza solicitudes a un SAP HANA XS.
También incluiría solicitudes de protocolo de búsqueda INA que deben ser
– wdisp/system_0 = SID=<frontend with Fiori and NW GW>, ..., SRCURL=/sap/opu/odata;/sap/public;/sap/bc
procesadas por el backend ERP.
– wdisp/system_1 = SID=<backend with INA search>, ...,SRCURL=/sap/es Se recomienda tener el SAP Fiori y el SAP NetWeaver Gateway 2.0 en el
– wdisp/system_2 = SID=<HANA>, ..., SRCURL=/sap/hba;/sap/hana;/sap/bi;/sap/viz;/sap/vi;/sap/ui5 mismo sistema, en lugar de habilitarlos en el sistema de fondo.
La imagen de la derecha muestra cómo se ve ese paisaje típico de SAP
SAP Fiori (+ SAP NetWeaver Gateway 2.0) + SAP HANA + INA search
Fiori.
SAP Web Dispatcher configured for multiple systems:
₋ wdisp / system_conflict_resolution = 1 Por supuesto, tendremos que configurar SAP Web Dispatcher para
₋ wdisp / system_0 = SID = <frontend with Fiori and NW GW>, ..., SRCURL = / sabe / OPU / odata; / sabe / public; / sabe / bc múltiples sistemas, utilizando el sistema_conflict_resolution establecido
₋ wdisp / system_1 = SID = <backend with INA search>, ..., SRCURL = / sabe / se en 1.
₋ wdisp / system_2 = SID = <HANA>, ..., SRCURL = / sabe / HBA; / sabe / hana; / sabe / bi; / sabe / viz; / sabe / vino; / sabe / ui5
Luego agregamos tres sistemas: el sistema frontend llamado, que tiene
Now we will see a scenario view in Fiori.
The most complete SAP Fiori scenario would include three types of SAP Fiori apps:
habilitado el SAP Fiori y el SAP NetWeaver Gateway 2.0, el sistema
transactional, factsheets and analytical apps. backend llamado, que típicamente sería un sistema ERP, y luego el sistema
SAP HANA.
The later makes requests to an SAP HANA XS.
It would also include INA search protocol requests that have to be processed by the ERP backend. Deberíamos usar el prefijo de URL como criterio de selección, y los
It is recommended to have the SAP Fiori and the SAP NetWeaver Gateway 2.0 at the same system, instead of ejemplos de los parámetros que podemos ver en la diapositiva muestran
enabling them at the backend system itself.
The picture at the right shows what such typical SAP Fiori landscape looks like.
todos los prefijos de URL que deben definirse para cada sistema.
Of course, we will have to configure the SAP Web Dispatcher for multiple systems, using the
system_conflict_resolution set to 1. Para este escenario, el único criterio de selección que podemos usar es el
We then add three systems: the called frontend system, that has the SAP Fiori and the SAP NetWeaver prefijo URL.
Gateway 2.0 enabled, the called backend system, which would typically be an ERP system, and then the SAP Esto se debe a que todas las solicitudes relacionadas con un paisaje SAP
HANA system. Fiori deben realizarse al mismo host, incluido el protocolo y el número de
We should use the URL prefix as the selection criteria, and the examples of the parameters we can see at the
slide show all the URL prefixes that should be defined for each system.
puerto.
Esto se denomina "política del mismo origen" y dicho requisito es por
For this scenario, the only selection criteria that we can use is the URL prefix. razones de seguridad.
This is because all requests related to an SAP Fiori landscape have to be made to the same host, including the
protocol and port number. También estamos utilizando el prefijo de URL como criterio de selección
This is called “same origin policy” and such requirement is for security reasons. para los otros escenarios que se discuten solo como ejemplos.
We are also using the URL prefix as the selection criteria for the other scenarios being discussed just as
examples.
Para otros escenarios, también se pueden usar los otros criterios de
For other scenarios, the other selection criteria that we saw at Unit 4 can be used as well. selección que vimos en la Unidad 4.
7
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
7
SAP Web Dispatcher Integration with Other Systems
External, non-SAP systems
 wdisp/system_X = SID=EXT, EXTSRV=<list>, …
 Examples:
– EXTSRV=http://srv1.external.com:8080;http://srv2.external.com:8080
– EXTSRV=https://srv1.other.com;https://srv2.other.com;https://srv3.other.com
 All requests considered as stateless. Add “STICKY=true” for session persistence.
 Simple round robin (one request per server).
 Static list of servers SAP Web Dispatcher también se puede utilizar para equilibrar la carga del acceso HTTP o HTTPS a sistemas que no
son de SAP.
Sistemas externos que no son de SAP Para configurar este escenario, podemos usar el argumento EXTSRV del parámetro wdisp / system, proporcionando
• wdisp / system_X = SID = EXT, EXTSRV = <lista>, ... una lista de todos los servidores del sistema externo, incluido el protocolo y, si es necesario, el número de puerto.
• Ejemplos:
- EXTSRV = http: //srv1.external.com: 8080; http: //srv2.external.com: 8080 Debe separar cada servidor de la lista con un punto y coma.
- EXTSRV = https: //srv1.other.com; https: //srv2.other.com; https: //srv3.other.com
• Todas las solicitudes se consideran Sin Estado. Agregue "STICKY = true" para la
! Agregamos dos ejemplos en la diapositiva.

persistencia de la sesión. El SID en este caso puede ser cualquier SID, no necesariamente el SID de un sistema SAP en su entorno.
• Round robin simple (una solicitud por servidor). Solo necesita cumplir con el estándar de ID del sistema SAP.
• Lista estática de servidores Debe comenzar con una letra, los dos últimos caracteres pueden ser letras o números, y todas las letras deben estar
en mayúsculas.
The SAP Web Dispatcher can also be used to load-balance the HTTP or HTTPS access to non-SAP
systems.
To configure this scenario, we can use the EXTSRV argument of the wdisp/system parameter, Por defecto, todas las solicitudes serán tratadas como sin estado en este escenario.
providing a list of all servers of the external system including the protocol and, if required, the port Si se debe mantener la persistencia de la sesión, puede agregar el argumento STICKY = true en el parámetro wdisp /
number.
You need to separate each server of the list with a semicolon system.
We added two examples at the slide.
The SID in this case can be any SID, not necessarily the SID of an SAP system in your landscape.
It just needs to comply with the SAP system ID standard. Web Dispatcher mantendrá la persistencia de la sesión de la misma manera que funciona el protocolo ROUTER:
It must start with a letter, the last two characters can be letters or numbers, and all letters must be in según la dirección IP del cliente.
uppercase.
By default, all requests will be treated as stateless in this scenario. Esto se debe a que no es posible configurar SAP Web Dispatcher para comprender cómo funcionan las cookies de
If the session persistence must be kept, then you can add the argument STICKY=true at the sesión o los ID de sesión del sistema externo.
wdisp/system parameter.
The Web Dispatcher will then keep the session persistence in the same way as the ROUTER protocol
works: based on the client IP address. SAP Web Dispatcher utilizará solo un algoritmo de equilibrio de carga para sistemas externos:
This is because it is not possible to configure the SAP Web Dispatcher to understand how the session
cookies or session IDs of the external system work. un simple round robin, enviando una solicitud a cada servidor en la lista.
The SAP Web Dispatcher will use only one load balance algorithm for external systems:
a simple round robin, sending one request to each server on the list. Además, no hay forma de proporcionar una lista dinámica de servidores disponibles para sistemas externos.
In addition, there is no way to provide a dynamic list of available servers for external systems. Se debe proporcionar una lista estática en el argumento EXTSRV.
A static list has to be provided at the EXTSRV argument.
7
8
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
Thank you.
Contact information:

open@sap.com

Das könnte Ihnen auch gefallen