top of page
Buscar

ARQUITECTURA CLIENTE - SERVIDOR

  • Foto del escritor: Tania Karina Ponce Torca
    Tania Karina Ponce Torca
  • 21 mar 2015
  • 7 Min. de lectura

QUÉ ES CLIENTE?

El cliente es el proceso que permite al usuario formular los requerimientos y pasarlos al servidor, se le conoce con el término front-end.

Normalmente maneja todas las funciones relacionadas con la manipulación y despliegue de datos, por lo que están desarrollados sobre plataformas que permiten construir interfaces gráficas de usuario (GUI), además de acceder a los servicios distribuidos en cualquier parte de una red.

Las funciones que lleva a cabo el proceso cliente son:

  • Administrar la interfaz de usuario.

  • Interactuar con el usuario.

  • Procesar la lógica de la aplicación y hacer validaciones locales.

  • Generar requerimientos de bases de datos.

  • Recibir resultados del servidor.

El front-end en diseño de software y desarrollo web hace referencia a la visualización del usuario navegante o, dicho de otra manera, es la parte que interactúa con los usuarios.

De una manera práctica, el front-end sería todos esos formularios que rellenamos en las webs, las aplicaciones que manejamos y todas esas cosas que tengan que realizar los usuarios.

foto1.jpg

QUE ES SERVIDOR?

Es el proceso encargado de atender a múltiples clientes que hacen peticiones de algún recurso administrado por él. Al proceso servidor se le conoce con el término back-end.

El servidor normalmente maneja todas las funciones relacionadas con la mayoría de las reglas del negocio y los recursos de datos.

Las funciones que lleva a cabo el proceso servidor son:

  • Aceptar los requerimientos de bases de datos que hacen los clientes.

  • Procesar requerimientos de bases de datos.

  • Procesar la lógica de la aplicación y realizar validaciones a nivel de bases de datos.

La información se comparte fácilmente a través de redes en donde los servidores almacenan datos que pueden ser compartidos por los clientes.

Back-end es la parte que procesa la entrada de datos que se efectuó desde el front-end es decir, son los procesos que utiliza el administrador del sitio con sus respectivos sistemas para resolver las peticiones de los usuarios.

foto2.jpg

En manera conjunta el front-end y el back-end interactúan en un sistema web o software para resolver las necesidades de los usuarios.

Una máquina que suministra una serie de servicios como Bases de Datos, Archivos, Comunicaciones)

Los Servidores, según la especialización y los requerimientos de los servicios que debe suministrar pueden ser:

  • Mainframes

  • Miniordenadores

  • Especializados (Dispositivos de Red, Imagen, etc.)

Una característica a considerar es que los diferentes servicios, según el caso, pueden ser suministrados por un único Servidor o por varios Servidores especializados.

QUE ES UNA ARQUITECTURA?

Es un entramado de componentes funcionales que aprovechando diferentes estándares, convenciones, reglas y procesos, permite integrar una amplia gama de productos y servicios informáticos, de manera que pueden ser utilizados eficazmente dentro de la organización.

ELEMENTOS DE LA ARQUITECTURA CLIENTE/SERVIDOR

Arquitectura Cliente/Servidor, debemos identificar los componentes que permitan articular dicha arquitectura, considerando que toda aplicación de un sistema de información está caracterizada por tres componentes básicos:

  • Presentación/Captación de Información

  • Procesos

  • Almacenamiento de la Información

Por tamaño de componentes: Se basa en quien lleva la mayor carga de procesos, acá tenemos dos clasificaciones:

  • Fat Client: El peso de la aplicación es ejecutada por el cliente.

  • Fat Server: El peso de la aplicación es ejecutada por el servidor, el cliente tiene solo la interfaz de usuario.

Por naturaleza del servicio:

  • Servidores de ficheros

  • Servidores de Bases de Datos

  • Servidores de Transacciones

  • Servidores de objetos

  • Servidores Web

  • Servidores Proxy

foto3.jpg

Por reparto de funciones entre Cliente y Servidor: Las distintas arquitecturas cliente-servidor varían en su forma de operar sobre la base de tres conceptos generales:

  • La lógica de acceso a datos. Funciones que gestionan todas las interacciones entre el SW y los almacenes de datos.

  • La lógica de presentación Funciones que gestionan la interfaz entre los usuarios del sistema y el SW.

  • La lógica de negocio o lógica de la aplicación. Funciones que transforman entradas en salidas.

Según cómo se distribuyen estas tres funciones clasificamos en:

  • Presentación Distribuida: El cliente asume parte de las funciones de presentación de la aplicación, ya que siguen existiendo programas en el servidor dedicados a esta tarea. El resto de funciones de la aplicación residen en el servidor.

  • Presentación remota: Toda la lógica de negocio y acceso a datos se ejecuta en el servidor. Todas las funciones de presentación son ejecutadas en el cliente.

  • Lógica o proceso distribuido: La lógica de los procesos se divide entre los distintos componentes del cliente y del servidor. El diseñador de la aplicación debe definir los servicios y las interfaces del sistema de información de forma que los papeles de cliente y servidor sean intercambiables, excepto en el control de los datos que es responsabilidad exclusiva del servidor.

  • Acceso a datos remoto: El cliente realiza tanto las funciones de presentación como los procesos. El servidor almacena y gestiona los datos que permanecen en una base de datos centralizada.

  • Bases de datos distribuidas: Similar al modelo anterior, pero además el gestor de base de datos divide sus componentes entre el cliente y el servidor. Las interfaces entre ambos están dentro de las funciones del gestor de datos y, por lo tanto, no tienen impacto en el desarrollo de las aplicaciones

Y se integran en una arquitectura Cliente/Servidor en base a los elementos que caracterizan dicha arquitectura, es decir:

  • Puestos de Trabajo

  • Comunicaciones

El Puesto de Trabajo o Cliente

Una Estación de trabajo o microcomputador (PC: Computador Personal) conectado a una red, que le permite acceder y gestionar una serie de recursos el cual se perfila como un puesto de trabajo universal.

foto4.jpg

Nos referimos a un microcomputador conectado al sistema de información y en el que se realiza una parte mayoritaria de los procesos.

Las Comunicaciones en sus dos vertientes:

  • Infraestructura de redes Componentes Hardware y Software que garantizan la conexión física y la transferencia de datos entre los distintos equipos de la red.

  • Infraestructura de comunicaciones Componentes Hardware y Software que permiten la comunicación y su gestión, entre los clientes y los servidores.

foto5.jpg

CARACTERÍSTICAS DE LA ARQUITECTURA CLIENTE/SERVIDOR

  • Combinación de un cliente que interactúa con el usuario, y un servidor que interactúa con los recursos compartidos.

  • El proceso del cliente proporciona la interfaz entre el usuario y el resto del sistema.

  • El proceso del servidor actúa como un motor de software que maneja recursos compartidos tales como bases de datos, impresoras, módems, etc.

  • Las tareas del cliente y del servidor tienen diferentes requerimientos en cuanto a recursos de cómputo como velocidad del procesador, memoria, velocidad y capacidades del disco y input-output devices.

  • Se establece una relación entre procesos distintos, los cuales pueden ser ejecutados en la misma máquina o en máquinas diferentes distribuidas a lo largo de la red.

  • La relación establecida puede ser de muchos a uno, en la que un servidor puede dar servicio a muchos clientes, regulando su acceso a recursos compartidos

  • Los clientes corresponden a procesos activos en cuanto a que son éstos los que hacen peticiones de servicios a los servidores. Estos últimos tienen un carácter pasivo ya que esperan las peticiones de los clientes.

  • No existe otra relación entre clientes y servidores que no sea la que se establece a través del intercambio de mensajes entre ambos. El mensaje es el mecanismo para la petición y entrega de solicitudes de servicio.

  • El ambiente es heterogéneo. La plataforma de hardware y el sistema operativo del cliente y del servidor no son siempre la misma. Precisamente una de las principales ventajas de esta arquitectura es la posibilidad de conectar clientes y servidores independientemente de sus plataformas.

  • El concepto de escalabilidad tanto horizontal como vertical es aplicable a cualquier sistema Cliente/Servidor.

  • La escalabilidad horizontal permite agregar más estaciones de trabajo activas sin afectar significativamente el rendimiento.

  • La escalabilidad vertical permite mejorar las características del servidor o agregar múltiples servidores.

foto6.jpg

TIPOS DE CLIENTES

  • “Cliente flaco”:

  • Servidor rápidamente saturado.

  • Gran circulación de datos de interfase en la red.

  • “Cliente gordo”:

  • Casi todo el trabajo en el cliente.

  • No hay centralización de la gestión de la BD.

  • Gran circulación de datos inútiles en la red.

TIPOS DE SERVIDOR

  • Servidores de archivos donde se almacena archivos y aplicaciones de productividad como por ejemplo procesadores de texto, hojas de cálculo, etc.

  • Servidores de bases de datos Servidor donde se almacenan las bases de datos, tablas, índices.

  • Servidores de transacciones Servidor que cumple o procesa todas las transacciones.

  • Servidores de Groupware utilizado para el seguimiento de operaciones dentro de la red.

  • Servidores de objetos Contienen objetos que deben estar fuera del servidor de base de datos. Estos objetos pueden ser videos, imágenes, objetos multimedia en general.

  • Servidores Web Se usan como una forma inteligente para comunicación entre empresas a través de Internet.

DEFINICIÓN DE CLIENTE/SERVIDOR

Sistema distribuido entre múltiples procesadores donde hay clientes que solicitan servicios y servidores que los proporcionan. Separa los servicios situando cada uno en su plataforma más adecuada.

Desde el punto de vista funcional, se puede definir la computación Cliente/Servidor como una arquitectura distribuida que permite a los usuarios finales obtener acceso a la información en forma transparente aún en entornos multiplataforma.

foto7.jpg

C/S es una relación entre procesos corriendo en máquinas separadas

  • El servidor (S) es un proveedor de servicios.

  • El cliente (C) es un consumidor de servicios.

C y S Interactúan por un mecanismo de pasaje de mensajes:

  • Pedido de servicio.

  • Respuesta

COMPONENTES PRINCIPALES CLIENTE/SERVIDOR

Un proceso cliente/servidor toma cualquier tarea y la divide en tres partes, una de las cuales es ejecutada por el Cliente que es el nodo (Front-End) origen de las operaciones y que interactúa directamente con el usuario final. Otra parte es asumida por el Servidor (Back-End) que proporciona servicios e información al cliente, y la última es una porción de Red (Middleware) que une o comunica a las dos anteriores.

foto8.jpg

Front-End

Los productos de Front-End o productos de usuario final, se pueden clasificar en aplicaciones y herramientas.

  • Las aplicaciones, desarrollos particulares de software, son sistemas del tipo “llave en mano” o paquetes cerrados. Un alto porcentaje de estos paquetes incorporan características de acceso a servidores de bases de datos, la categoría tradicionalmente más representativa de Back-End’s.

  • Las herramientas incluyen generalmente compiladores, lenguajes de programación, generadores de reportes, y otros. Los llamados 4GL’s (Fourth Generation Languages)

Back-End

Los servidores pueden ser de una naturaleza muy variada: de archivos, de correo electrónico, de impresión y red, entre muchos otros. El software del servidor consiste de un proceso lógico que proporciona servicios a procesos solicitantes. Más aún, los servidores permiten compartir las capacidades de dispositivos que ofrecen beneficios importantes.

ELEMENTOS DEL BACK-END

El hardware utilizado para los servidores debe tener suficiente poder de procesamiento y espacio de almacenamiento para satisfacer las necesidades de las aplicaciones que van a soportar.

Interfaces Gráficas

  • Contribuyen de manera significativa a la popularidad de los ambientes cliente/servidor porque facilitan el uso y mejoran la productividad de los sistemas que lo componen.

  • Se caracterizan por ofrecer capacidades como la multi-tarea (multitasking), la conmutación entre tareas (task-switching) y el intercambio de datos entre aplicaciones.

  • Consisten además de una programación por eventos donde el código responde a acciones tomadas por los usuarios.


 
 
 

Entradas recientes

Ver todo

Comments


Posts Destacados
Vuelve pronto
Una vez que se publiquen entradas, las verás aquí.
Posts Recientes
Archive

© 2015 por Tania Karina Ponce Torca

  • Facebook Clean
  • Twitter Clean
  • Google+ Clean
  • LinkedIn Clean
bottom of page