Está en la página 1de 7

Arquitectura de SAP NetWeaver AS ABAP

ARQUITECTURA DEL SISTEMA SAP NetWeaver


La arquitectura de un sistema SAP es la siguiente:

USUARIO

SERVIDOR

BASE DE DATOS

Un sistema SAP tiene los siguientes componentes básicos:

El KERNEL (NÚCLEO) Y LOS SERVICIOS DE ADMINISTRACIÓN:

El kernel (escrito en C) es el entorno en el que se ejecutan todas las


aplicaciones ABAP. Es decir, el kernel proporciona servicios de
administración a los distintos procesos que se están ejecutando al
mismo tiempo en una máquina SAP. El kernel es independiente del
ordenador en el que esté instalado, del sistema operativo o de la
base de datos:

 Crea una máquina virtual para que se ejecute cada proceso.


 Permite a los usuarios conectarse al servidor y gestiona el
entorno multiusuario.
 Interactúa con el sistema operativo del host. De hecho los
programas ABAP sólo pueden acceder al sistema operativo
residente a través del servidor.
 Accede a la base de datos y al sistema gestor de base de datos.
Al igual que con el sistema operativo, los programas ABAP no
pueden acceder a la base de datos directamente.
 Ofrece servicios de comunicación con otros sistemas SAP o con
sistemas externos.

Alejandro Torrijos Página 1


Arquitectura de SAP NetWeaver AS ABAP

 Incluye programas que permiten administrar y configurar el


sistema.

WORKBENCH O BANCO DE TRABAJO

Es el entorno de desarrollo de aplicaciones en lenguaje ABAP.

COMPONENTE DE PRESENTACIÓN

Es el componente que permite al usuario interactuar con los


programas ABAP.

De forma gráfica podríamos representarlo así:

USUARIOS

COMPONENTE DE PRESENTACIÓN

WORKBENCH APLICACIÓN1 APLICACIÓN2

KERNEL Y SERVICIOS DE ADMINISTRACIÓN DEL SERVIDOR

SISTEMA GESTOR DE LA BASE DE DATOS

BASE DE DATOS

Alejandro Torrijos Página 2


Arquitectura de SAP NetWeaver AS ABAP

ARQUITECTURA EN CAPAS

Desde el punto de vista del software podemos distinguir tres capas.


Cada capa proporciona servicios a la capa inmediatamente superior
(cliente) y solicita servicios a la capa inferior (servidor).

1. Capa de presentación: A través de un GUI (Graphical User


Interface) esta capa hace de interfaz entre el usuario y el
sistema. La capa de presentación envía la información del
usuario al sistema y muestra al usuario la respuesta del
sistema.
2. Capa de aplicaciones: En esta capa están los servidores que
procesan las aplicaciones ABAP y un servidor de
comunicaciones que permite la comunicación entre ellos.
3. Capa de Base de Datos: Incluye una base de datos
centralizada y un sistema gestor de la base de datos. Todos los
datos del servidor se almacenan allí, incluido los datos de
configuración del servidor o los programas ABAP. Estos últimos
se almacenan en una sección de la base de datos llamada
repositorio.

En realidad no es normal que todos los componentes de un sistema


APAP estén en un solo ordenador. Lo normal es que la arquitectura
sea la de un sistema distribuido, instalando la base de datos y cada
uno de los servidores en máquinas independientes. De hecho los
distintos servidores suelen especializarse en cierto tipo de tareas
(diálogos con el usuario, impresión de listados…). Los programas
necesarios para la capa de presentación se suelen instalar en la
máquina del usuario (normalmente un ordenador de sobremesa).

La arquitectura distribuida supone también distribuir la carga de


trabajo entre diferentes máquinas conectadas en red, mejorando así
el rendimiento. También permite ampliar fácilmente el sistema (por
ejemplo añadiendo más servidores).

Desde el punto de vista del usuario SAP no es más que una serie de
ventanas que aparecen en su pantalla. Las ventanas o pantallas se
crean en la capa de presentación.

Las fases de trabajo para un usuario son las siguientes:

1. Lo primero que hace el usuario es conectarse al sistema a


través de una aplicación específica que se llama Logon.

Alejandro Torrijos Página 3


Arquitectura de SAP NetWeaver AS ABAP

2. El servidor de comunicaciones selecciona el servidor con la


menor carga de trabajo (dentro de los que pueden realizar esa
tarea).
3. Se crea una conexión al servidor y se despliega una interfaz
gráfica. El programa Logon termina.
4. El usuario puede abrir un total de seis pantallas (sesiones de
trabajo) que permiten ejecutar hasta seis aplicaciones en
paralelo.
5. El usuario puede ejecutar aplicaciones que requieran abrir una
ventana adicional. Estas ventanas pertenecen a la aplicación
que las llamó.
6. Desde su ordenador el usuario podría iniciar nuevas conexiones
al mismo o a otro servidor ejecutando nuevamente el programa
Logon. Cada una de estas conexiones sería independiente del
resto.

El SERVIDOR DE APLICACIONES ABAP

Las aplicaciones ABAP sólo se pueden ejecutar en un servidor. El


servidor también se comunica con las pantallas y con la base de
datos. También se comunica con otros servidores a través del
servidor de comunicaciones o mensajes (message). El servidor tiene
los siguientes componentes:

PROCESOS DE TRABAJO: Al ejecutar una aplicación se genera un


proceso. Cada proceso tiene asignado un espacio propio en la
memoria conde se almacena su contexto (datos). Esta arquitectura
de procesos independientes es idónea para un sistema con varios
procesadores.

DISPATCHER: Es el lazo de unión entre los procesos y el usuario.

GATEWAY: Es la puerta de acceso del servidor al resto de la red.

MEMORIA COMPARTIDA: Esta memoria almacena los datos


comunes (por ejemplo constantes) o el contexto (datos de cada
proceso). La memoria interna hace de buffer entre el servidor y el
almacenamiento secundario por lo que se reduce el tránsito de datos.

Alejandro Torrijos Página 4


Arquitectura de SAP NetWeaver AS ABAP

PROCESOS DE TRABAJO

Los procesos tienen la siguiente estructura:

USUARIO

PROCESADOR
DE PANTALLAS

PROCESADOR
DE ABAP

INTERFAZ CON
LA BASE DE
DATOS

BASE DE DATOS

Procesador de pantallas (screens):

En ABAP la interacción con el usuario se hace a través de pantallas.


Las pantallas determinan el flujo (la lógica) de interacción.

ABAP tiene un lenguaje de programación especial para programar


pantallas. El procesador de pantallas, vía el dispatcher, ejecuta las
acciones que el usuario solicita y las pasa al procesador de código
ABAP.

Alejandro Torrijos Página 5


Arquitectura de SAP NetWeaver AS ABAP

Procesador de ABAP:

El procesador ABAP ejecuta la lógica de la aplicación y se comunica


con la base de datos. El procesador de pantallas le dice al procesador
de ABAP cuál es el próximo módulo que se debe de ejecutar.

Interfaz con la base de datos:

Permite acceder a la base de datos, a los objetos del repositorio (que


incluyen los programas ABAP y las pantallas), al diccionario ABAP y
administrar el buffer de tablas.

Hay dos formas de acceder a una base de datos, a través del Open
SQL y del Native SQL.

 Open SQL: Es un subconjunto del estándar SQL, más


concretamente las instrucciones de manipulación de datos que
permite acceder a cualquier tipo de base de datos. Consiste en

o instrucciones de lectura (SELECT)


o modificación de datos (INSERT, UPDATE, DELETE)

El resto de las instrucciones de SQL básicamente se sustituyen


por diccionario de ABAP.

 Native SQL: SAP permite usar el lenguaje SQL de la base de


datos con la que estemos trabajando, de una forma casi
independiente a la programación ABAP.

SAP incluye un módulo que permite acceder a la base de datos con la


que estemos trabajando. Obviamente este módulo es distinto para
cada base de datos. Este módulo se configura cuando se instala del
SAP. Cuando trabajamos con SQL nativo este módulo no tiene casi
utilidad, ya que las instrucciones que el usuario escribe en la pantalla
son enviadas casi directamente a la base de datos (Oracle, MySQL...)
para que las interprete y las procese.

TIPOS DE PROCESOS

Cuando instalamos un servidor ABAP podemos definir el tipo de


procesos de puede ejecutar. Con esta especialización se gana en
rapidez y en eficiencia en el uso de los recursos. El dispatcher es el
encargado de discriminar y dirigir los procesos que solicita el usuario
al servidor correspondiente. Los procesos pueden ser:

Alejandro Torrijos Página 6


Arquitectura de SAP NetWeaver AS ABAP

 Diálogos con el usuario.


 Actualizaciones de la base de datos.
 Procesos residentes que se realizan de forma silenciosa (en el
background) sin intervención del usuario.
 Procesos que administran la tabla de locks (llaves que cierran
el acceso de otros usuarios a un objeto).
 Procesos que administran la cola (spool) de impresión.

Un servidor SAP puede dar uno o más de estos servicios. El


administrador del sistema puede incluso configurar el servicio que
presta un servidor. Por ejemplo configurar un servidor para que
durante el día preste servicios de diálogo con los usuarios y durante
la noche ejecute procesos de background.

Alejandro Torrijos Página 7