2. 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.
CLIENTE SERVIDOR
Que es el Cliente
3. 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.
4. 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
Que es el Servidor
5. 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.
De esta manera 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.
6. 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.
ARQUITECTURA
CLIENTE SERVIDOR
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
7. 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
8. 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.
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.
9. • 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.
10. 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.
Nos referimos a un
microcomputador conectado al
sistema de información y en el que
se realiza una parte mayoritaria de
los procesos.
11. 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.
12. • 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.
Características de la arquitectura Cliente/Servidor
13. • 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
14. 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.
15. • 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.
DEFINICIÓN DE
CLIENTE SERVIDOR
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
16. • 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
COMPONENTES PRINCIPALES
CLIENTE/SERVIDOR
17. 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.
18. 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.
software más utilizados como
servidores de procesos se encuentran
los administradores de bases de
datos
ELEMENTOS DEL BACK-END
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