Blog
SAP: Arquitectura de software de dos niveles frente a la de tres niveles (two-tier vs three-tier)
- 01/03/2022
- Escrito por: Grazia Masulli
- Categoría: Otros productos SAP
A veces, cuando se habla de productos SAP, se encuentran términos como “dos niveles” y “tres niveles”. ¿Qué son estos términos? Se refieren a la arquitectura de software de SAP, aquí te explicaré más sobre este tema.
Arquitectura de software de SAP de dos niveles
Empecemos con la arquitectura de software de SAP de dos niveles, utilizada por ejemplo por SAP Business One en la versión “local” con MS SQL server. Esta es una solución que consiste en:
- Nivel de base de datos (los datos, en un servidor centralizado).
- Nivel “cliente” (los “clientes”), es decir, los ordenadores, tabletas y PC que se comunican con la base de datos. Cada usuario de Business One tiene el software instalado en su PC.
En Business One la mayoría de las aplicaciones (es decir, los programas) residen en los clientes. Esta solución tiene el curioso nombre de “fat client”, y en la práctica significa que la funcionalidad es en gran parte local. Es decir, procesada por los PC de los usuarios conectados al sistema.
En la práctica, el cliente envía una solicitud de información al servidor. Este procesa la solicitud y envía los datos que el cliente necesita. El cliente gestiona el nivel de aplicación (las operaciones de datos). Así como el nivel de presentación de resultados (la interfaz de aplicación).
Mientras que el sistema servidor gestiona el nivel de base de datos. Este tipo de solución se utiliza normalmente para las empresas pequeñas y medianas.
Arquitectura de tres niveles
La arquitectura de software de SAP de tres niveles es característica de las soluciones más avanzadas de SAP para grandes empresas. Esta se divide en tres partes:
- El nivel de la base de datos (servidor de la base de datos).
- El nivel de aplicación (servidor de aplicaciones).
- El nivel de presentación (servidor de presentación).
Primer nivel
El nivel de la base de datos, como en el caso anterior, contiene los datos (datos maestros y datos transaccionales). Además de los metadatos y el código fuente de las aplicaciones. Estos datos se comparten con los servidores del nivel de aplicación.
En el nivel de la base de datos, los datos no se procesan: sólo se almacenan. Cuando es necesario, también se actualizan o eliminan. Los datos se comparten con las aplicaciones. Este es probablemente el nivel más crítico, ya que en caso de problemas con este servidor, podríamos perder datos.
Segundo nivel
El nivel de aplicación es el que realiza las operaciones solicitadas por los usuarios. Además, lee y escribe en la base de datos. Por lo que se comunica directamente con los otros dos niveles. También gestiona las sesiones de los usuarios y la caché (almacenamiento temporal) de los datos de la base de datos.
El nivel de aplicación trabaja de forma asincrónica con la base de datos. En la práctica, almacena los datos necesarios en la caché (una zona especial en la memoria o el disco). Luego, los utiliza para realizar las operaciones solicitadas por los usuarios.
Tercer nivel
El nivel de presentación es también llamado SAPgui o GUI (acrónimo de Graphical User Interface). Este procesa finalmente lo que aparece en tu PC, teléfono móvil, tableta, etc. Esta interfaz gráfica se basa en una serie de formularios (o “plantillas” con las que se pueden introducir o leer datos).
La apariencia del formulario cambiará según el formulario que estemos utilizando, la operación que estemos realizando, permisos que tengamos como usuarios, etc. Los productos SAP más modernos están diseñados para ser utilizados con acceso a través de un navegador.
Es decir, el navegador que utilizamos en Internet, desde diversos dispositivos (no sólo PC, sino también tabletas y teléfonos móviles).
Los dos primeros niveles (base de datos y aplicaciones) pueden residir en el mismo servidor o en servidores diferentes. Eso es básicamente en función de la complejidad del sistema y la capacidad de cálculo necesaria.
En este caso, los dos niveles “comparten físicamente” el mismo ordenador. En términos más técnicos, el host es el mismo pero los sistemas y las unidades lógicas son diferentes.
Si se necesita más potencia de cálculo, se instalarán nuevos servidores en el nivel de aplicación. Pero si la base de datos ha aumentado de tamaño, pudiera necesitarse actualizar el hardware del servidor de la base de datos.
Sistema SAP
El sistema SAP es una combinación de estos tres niveles: base de datos, aplicación y presentación. Los tres deben trabajar juntos para que el sistema funcione.
La estructura de tres niveles también explica los tres de “R/3” (la R significa “tiempo real”). En su momento (los años 90), esto supuso un avance gigantesco, ya que permitía a los usuarios trabajar con SAP. Lo hacían sin tener que utilizar costosos mainframes centralizados.
Una de las ventajas de la arquitectura de software de SAP de tres niveles es la independencia y escalabilidad de cada uno de ellos.
Por ejemplo, si la cantidad de datos a almacenar crece rápidamente, se puede aumentar el tamaño de la base de datos. Sin embargo, si se necesita más potencia de cálculo, se pueden añadir procesadores para potenciar el nivel de la aplicación.
En teoría, también se puede pensar en una arquitectura de un solo nivel. En este caso, el cliente, el servidor y la base de datos residen en el mismo ordenador.
Por ejemplo, puedes instalar una base de datos en tu PC y acceder a ella para trabajar con consultas SQL. Si lo haces así, estás utilizando una arquitectura de un solo nivel.
Obviamente, esta solución no tiene aplicación en el mundo de los ERP corporativos. Allí, uno de los principales objetivos es el intercambio de datos en tiempo real entre los usuarios.