Actualizado el 22 de Enero del 2021 (Publicado el 19 de Abril del 2018)
1.827 visualizaciones desde el 19 de Abril del 2018
432,5 KB
11 paginas
Creado hace 12a (01/10/2012)
El Modelo Cliente/Servidor Ing. Emiliano Marini www.linuxito.com
El Modelo Cliente/Servidor
Ing. Emiliano Marini
www.linuxito.com
Octubre de 2012
El modelo Cliente/Servidor es un modelo de aplicación distribuida en el que las tareas se
reparten entre los proveedores de recursos o servicios,
llamados servidores, y los
demandantes, llamados clientes. Las aplicaciones Clientes realizan peticiones a una o varias
aplicaciones Servidores, que deben encontrarse en ejecución para atender dichas demandas.
El modelo Cliente/Servidor permite diversificar el trabajo que realiza cada aplicación, de forma
que los Clientes no se sobrecarguen, cosa que ocurriría si ellos mismos desempeñan las
funciones que le son proporcionadas de forma directa y transparente. En esta arquitectura la
capacidad de proceso está repartida entre los clientes y los servidores, aunque son más
importantes las ventajas de tipo organizativo debidas a la centralización de la gestión de la
información y la separación de responsabilidades, lo que facilita y clarifica el diseño del
sistema. Tanto el Cliente como el Servidor son entidades abstractas que pueden residir en la
misma máquina o en máquinas diferentes.
Una disposición muy común son los sistemas multicapa en los que el servidor se descompone
en diferentes programas que pueden ser ejecutados por diferentes computadoras aumentando
así el grado de distribución del sistema.
Figura 1. El Modelo Cliente/Servidor.
El Modelo de Servicios
Un modelo es una vista abstracta que establece las definiciones, reglas y relaciones entre las
estructuras relacionadas con la aplicación. Sirve de base para el intercambio de ideas durante
el desarrollo lógico de la aplicación y determina cómo será la aplicación resultante. Cuando
alguien habla de una casa, automáticamente asumimos que ésta tendrá un salón, habitaciones,
baños, cocina, etc., sin que se nos diga nada más. Aunque la casa no tuviera salón, el modelo
nos serviría como punto de partida para "entender" el concepto "casa" y empezar a discutir
1
El Modelo Cliente/Servidor Ing. Emiliano Marini www.linuxito.com
fin de independizar
sobre ella. De igual manera, el modelo de una aplicación nos indica lo que hace una aplicación
o más exactamente, lo que uno cree que debe hacer la aplicación.
El modelo de servicios establece tres grandes conjuntos de funcionalidades, en cada uno de
los cuales se encuadran las distintas tareas en las que se ve involucrado cualquier tipo de
proyecto de desarrollo. Dicho modelo establece los siguientes conjuntos que comúnmente
denominamos lógicas.
Lógica de Presentación
Esta lógica es la responsable del control de todos los aspectos relacionados con la interacción
entre el usuario y la aplicación. Para llevar a cabo esta tarea de control, es necesario conocer
qué tipos de usuarios utilizarán la aplicación, qué actividades tienen que realizar y, teniendo en
cuenta estos datos, cuáles son los mejores estilos de interfaz para que esos usuarios realicen
sus tareas. En esta lógica se engloban todas las tareas que deben ser realizadas por la parte
Cliente del modelo general.
(en la medida de lo posible) la interfaz de usuario de las
Con el
características propias de los procesos, debemos tener presente que la codificación de las
tareas asociadas a esta lógica consiste, principalmente, en la llamada a procesos
independientes situados en las otras lógicas, cuya ejecución es totalmente transparente.
Si en la capa que implementa la lógica de presentación no incluimos lógica del negocio ni
accesos directos a datos, conseguiremos que esta capa sea inmune a los cambios introducidos
en los procedimientos de la empresa, así como a los cambios de los sistemas de gestión de
datos utilizados.
Lógica de Negocio
Es la lógica de la aplicación que controla la secuencia de acciones y fuerza el cumplimiento de
las reglas del negocio propias de cada empresa; además, asegura la integridad de las
transacciones de las operaciones necesarias que haya que realizar para que se cumplan
dichas reglas. La lógica del negocio también transforma una serie de datos en información útil
para el usuario mediante la aplicación de las reglas apropiadas.
El objetivo que debe cumplir esta lógica es el de aislar las reglas del negocio, así como las
transformaciones de datos de los consumidores (usuarios y otros componentes de esta misma
capa) y de los sistemas de gestión de datos. Este aislamiento tiene las siguientes ventajas:
● Flexibilidad a la hora de decidir cómo y dónde situar el código de esta lógica: en
componentes dentro de una aplicación servidora; en procedimientos almacenados,
dentro del sistema gestor de datos; o incluso en el cliente.
● La habilidad de colocar distintas interfaces de usuario para un mismo conjunto estándar
de reglas de negocio. Por ejemplo, el conjunto de reglas que define las operaciones
realizables con los clientes puede implementarse como un solo componente que se
ejecuta en un servidor. Los servicios que ofrece este componente pueden utilizarse
desde una macro que se ejecute dentro de Microsoft Office, desde una aplicación
desarrollada con Visual Basic o desde páginas HTML vistas desde Internet Explorer.
2
El Modelo Cliente/Servidor Ing. Emiliano Marini www.linuxito.com
● Facilita el mantenimiento de las reglas del negocio y de su lógica, aislando los cambios
de las interfaces de los usuarios y de los datos.
● La habilidad para sustituir el código de estas reglas, de forma que, aunque el conjunto
de reglas que se encuentra dentro de un conjunto de servicios del negocio varía de un
país a otro, las interfaces de esos servicios pueden permanecer constantes.
Estos procesos, dada su naturaleza, pueden ser cambiantes en cuanto a su construcción, pero
no en cuanto a su funcionalidad. Al regirse por directrices empresariales, éstas podrían cambiar
atendiendo a razones internas, sin variar necesariamente la funcionalidad que proporcionan.
Tomemos como ejemplo el cálculo de los sueldos de los empleados. Dicho cálculo se basa en
algunas normas legales que deben ser respetadas, aunque la compañía también puede
introducir cambios que influyen en dicho cálculo. El proceso que realiza el cálculo en cuestión
proporciona una funcionalidad concreta y específica: el cálculo del sueldo, pero su codificación
dependerá de las directrices de la compañía. Es posible que la compañía establezca un
porcentaje de productividad (dependiendo de la categoría del empleado) que influirá en el
importe total del sueldo, pero también es perfectamente posible que, en un futuro, introduzca
nuevos procedimientos para incentivar, esto supondría un cambio interno en el proceso de
cálculo, pero no en su funcionalidad.
Lógica de Datos
En este conjunto entran los procesos encargados de la gestión de los datos propiamente dicha,
es decir, los procesos encargados del mantenimiento de los datos, de garantizar las reglas de
integridad referencial establecidas, así como de la gestión de las transacciones. Estas tareas
son realizadas, generalmente, por un Sistema de Gestión de Bases de Datos Relacionales,
como SQL Server, Oracle, MySQL, Informix, etc.
Figura 2. El Modelo de Servicios.
Modelo Cliente/Servidor 2 capas
Uno de los objetivos de las aplicaciones de 2 capas es separar la lógica de acceso a los datos
de lo que es la interfaz de usuario y trasladarla al servidor. Habitualmente, se implementan
servicios como
Comentarios de: El Modelo Cliente Servidor (0)
No hay comentarios