Procesos de Diálogos ABAP
Capa de Presentación:
Los usuarios pueden loguearse al sistema SAP utilizando diferentes (Front-End) como el clásico SAP-GUI, aunque también podría utilizarse un navegador y trabajar con las aplicaciones desarrolladas para ese tipo de interface.
En ambos casos los programas que conforman esas aplicaciones están diseñados para que se ejecuten en un entorno ABAP del sistema SAP.
Las aplicaciones Web también podrían ser desarrolladas en JAVA y serían procesadas por este entorno. Al llegar la solicitud se determina si es ABAP o JAVA y se reenvía al entorno adecuado.
PROCESANDO SOLICITUDES SAP GUI
- En el procesamiento de solicitud de un usuario se involucran los diferentes procesos (presentación, aplicación y base de datos).
- Al usuario llamar a una transacción, esta es tomada por el programa de presentación SAP-GUI, que lo convierte en un formato interno y lo envía al AS ABAP.
- El dispatcher ABAP es el proceso central del AS ABAP, se encarga de gestionar los recursos para las aplicaciones escritas en ABAP en coordinación con el sistema operativo sobre el que esté instalado SAP.
- La solicitud enviada por el SAP-GUI entra a la cola de solicitudes del Dispatcher y en cuanto existe un proceso de dialogo libre, la solicitud es enviada al work process. (lo que significa que no hay una relación fija entre los work process y los usuarios)
- El work process está conectado directamente a la base de datos, ya que necesitará leer datos o escribirlos en la base de datos del sistema, para poder procesar las solicitudes del usuario.
- Una vez la solicitud ha sido procesada por el work process, la respuesta se envía nuevamente al SAP-GUI a través del dispatcher. El SAP GUI interpretara la respuesta y generará una pantalla para el usuario.
Principales tareas del dispatcher:
- Distribución de solicitudes entre sus work procees.
- La integración de la capa de presentación.
- La organización de las comunicaciones.
Los procesos de dialogo SAP, tienen un tiempo de vida, y no puede demorar más de 600 segundos para dar una respuesta. Si el proceso excede este tiempo se envía un dump y así asegurar una alta disponibilidad del sistema. Si se necesita correr un proceso que se prevé dure más de 10 min, se puede hacer configurando un parámetro en el sistema mediante la transacción RZ11, pudiéndose hacer en forma dinámica.
Buffers. como memoria compartida (Shared Memory) ayudas a agilizar el tiempo de respuesta por parte del servidor de aplicación a la capa de presentación SAP-GUI ya que datos que son accedidos frecuentemente, pueden alojarse en alguno de los buffers en vez de tener que solicitarlos por consulta en la base de datos.
Interface con la base de datos del sistema.
Dentro de ABAP el programador puede utilizar lo que se conoce como ABAP Open SQL para acceder a los datos de la aplicación ABAP. Cuando se elige este método, el programador se independiza del RDBMS sobre el cual se instaló el sistema SAP.
La interfaz de base de datos, que existe en cada work process del AS ABAP, traduce la sentencia Open SQL al correspondiente lenguaje SQL para la base de datos especifica utilizada, que sería el Native SQL.
Otra ventaja de usar Open SQL es que cuando la interface de la base de datos del work process, interpreta la sentencia intenta utilizar de manera óptima los buffers del servidor de aplicación SAP para acceder a los datos rápidamente.
Se puede utilizar Native SQL para acceder a los objetos de la Base de datos, pero significa que la interface de la Base de datos y el Buffer local no serán utilizados en estos casos.
Si el programa ABAP contiene en su código sentencias Native SQL, éste pierde la independencia de la plataforma de base de datos del sistema SAP