sap: arquitectura de un sistema sap

7

Click here to load reader

Upload: alejandro-torrijos

Post on 15-Jun-2015

5.521 views

Category:

Documents


4 download

DESCRIPTION

Tutorial sobre la arquitectura de un sistema SAP

TRANSCRIPT

Page 1: SAP: arquitectura de un sistema SAP

Arquitectura de SAP NetWeaver AS ABAP

Alejandro Torrijos Página 1

ARQUITECTURA DEL SISTEMA SAP NetWeaver

La arquitectura de un sistema SAP es la siguiente:

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.

USUARIO

SERVIDOR

BASE DE DATOS

Page 2: SAP: arquitectura de un sistema SAP

Arquitectura de SAP NetWeaver AS ABAP

Alejandro Torrijos Página 2

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í:

COMPONENTE DE PRESENTACIÓN

WORKBENCH APLICACIÓN1 APLICACIÓN2

KERNEL Y SERVICIOS DE ADMINISTRACIÓN DEL SERVIDOR

USUARIOS

SISTEMA GESTOR DE LA BASE DE DATOS

BASE DE DATOS

Page 3: SAP: arquitectura de un sistema SAP

Arquitectura de SAP NetWeaver AS ABAP

Alejandro Torrijos Página 3

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.

Page 4: SAP: arquitectura de un sistema SAP

Arquitectura de SAP NetWeaver AS ABAP

Alejandro Torrijos Página 4

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.

Page 5: SAP: arquitectura de un sistema SAP

Arquitectura de SAP NetWeaver AS ABAP

Alejandro Torrijos Página 5

PROCESOS DE TRABAJO

Los procesos tienen la siguiente estructura:

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.

PROCESADOR DE PANTALLAS

PROCESADOR DE ABAP

INTERFAZ CON LA BASE DE

DATOS

USUARIO

BASE DE DATOS

Page 6: SAP: arquitectura de un sistema SAP

Arquitectura de SAP NetWeaver AS ABAP

Alejandro Torrijos Página 6

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:

Page 7: SAP: arquitectura de un sistema SAP

Arquitectura de SAP NetWeaver AS ABAP

Alejandro Torrijos Página 7

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.