Beruflich Dokumente
Kultur Dokumente
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)
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).
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.
Explicaremos los tiempos de espera utilizando el ICM, pero lo mismo es válido para el
Web Dispatcher de SAP.
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
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
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.
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
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).
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.
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
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.
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.
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.
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
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
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
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.
En el elemento Servidor de
aplicaciones,
podemos ver detalles sobre el
servidor de aplicaciones local
y una tabla con los prefijos de
URL disponibles.
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.
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.
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.
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
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.
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.
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”
En la Unidad 4 de esta
semana, aprenderemos sobre
la configuración de un SAP
WEB Dispatcher para
múltiples sistemas.
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.
The Dispatching Table item shows the different selection criteria configured for the
SAP Web Dispatcher,
to determine which backend system will receive the request.
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.
En los Servidores de
aplicaciones Monitor,
“Monitor Application Servers”
podemos ver el estado de cada
instancia de ese sistema.
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.
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
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.
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, .
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.
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 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.
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.
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
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:*
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
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)
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.
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.
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.
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.
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.
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.
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