Lección: Procesos de Diálogo ABAP
1. LA CAPA DE PRESENTACION
Los usuario pueden utilizar diferentes FRONT-ENDS, tal como el clasico SAP GUI el cual usaremos durante el curso pero tambien podran utilizar un navegador y asi trabajar con las aplicaciones de SAP que esten desarrolladas para browser.
En ambos casos, los programas que conforman esas aplicaciones estan desarrollados para que sean ejecutados en el entorno de ejecución BAP de nuestro sistema SAP. Sin importar si son transacciones clasicas o aplicaciones web seran ejecutadas por el proceso de dialogo de la instancia de ABAP.
2. Procesando solicitudes SAP GUI.
El procesamiento involucra diferentes procesos entre las capas ( presentación, aplicación y base de datos)
Cuando un usuario llama a una transaccion o cambia de pantalla dentro de una misma función, esto es tomado por el programa de presentación SAP GUI, el cual convierte en un formato interno y enviado al AS ABAP.
el dispatcher ABAP es el proceso central de AS ABAP. Se encarga de gestionar los recursos para las aplicaciones escritas en ABAP en coordinación con el S.O respectivo donde corre nuestro sistema SAP.
Las principales tareas del dispatcher incluyen las distribución de solicitudes entre sus work processes, la integración de la capa de presentación y la organización de las comunicaciones.
La solicitud del SAP GUI entra en una cola de solicitudes en el dispatcher. En cuanto existe un proceso de dialogo libre, la solicitud es enviada por el dispatcher a este work process. Esto indica que no hay relación fija entre los work process y los usuarios.
Para poder procesar las solicitudes de usuario, frecuentemente el work process necesitará leer datos desde o escribirlos en la base de datos del sistema. Es por esto que cada work process esta conectado directamente a la base de datos.
FInalmente, una vez que la solicitud ha sido completamente procesada por el work process la respuesta es enviada nuevamente a través del dispatcher al SAP GUI. EL SAP GUI interpreta la respuesta y genera una pantalla para el usuario.
Los buffers en el area indicada de shared memory ayudan a agilizar el tiempo de la respuesta por parte del servidor de aplicación a la capa de presentación sap gui ya que son datos accedidos frecuentemente que pueden alojarse en alguno de estos buffers en vez de tener que solicitarlos a través de una consulta a la base de datos.
3. INTERFACE CON LA BASE DE DATOS DEL SISTEMA
Dentro del lenguaje de programación ABAP el programador puede utilizar lo que se conoce como ABAP open SQL para acceder a los datos de aplicación ABAP. Cuando se elige este método el programador se independiza del RDBMS sobre el cual se instalo el sistema SAP.
La interfaz de base de datos, que existe en cada work process del AS ABAP, traaduce la sentencia Open SQL al correspondiente lenguaje SQL para la base de datos especifica utilizada que seria el NAtive SQL.
Esto es importante porque de esta manera los programas ABAP aseguran que sean independientes de la base de datos.
Muchas información no suele cambiar frecuentemente es la que se aloja en estos buffers de AS ABAP, entre otros, se encuentran programas ABAP, las pantallas, información del diccionario ABAP y tablas con datos estaticos.
Sin embargo es posible utilizar NAtive SQL para acceder a los objetos de la base de datos, esto significa que la interface de base de datos y el buffer local no serán utilizados en estos casos.
Si el programa ABAP tiene su codigo sentencias NATIVE SQL, este pierde la independencia de la plataforma de base de datos del sistema SAP.