2. Definición
"Sistemas cuyos componentes
hardware y software, que están en
ordenadores conectados en red, se
comunican y coordinan sus
acciones mediante el paso de
mensajes, para el logro de un
objetivo. Se establece la
comunicación mediante un
protocolo prefijado por un esquema
cliente-servidor".
3. Características
Compartición de recursos:
Esta característica no es nueva ni aparece con los sistemas
distribuidos. Los recursos de una computadora multiusuario se
comparten naturalmente entre todos los usuarios. Por el
contrario los usuarios de estaciones monousuario inmersos en
un sistema distribuido no obtienen automáticamente los
beneficios de la compartición de recursos.
Para que la compartición en un sistema
distribuido sea efectiva, esta debe ser
manejada por un programa que ofrezca una
interfaz de comunicación, surge el término
gestor de recursos.
Los recursos en un sistema
distribuido están encapsulados en
una máquina
4. Características
Apertura (openness):
La apertura de los sistemas distribuidos se determina
primordialmente por el grado hacia el qué nuevos servicios de
compartición de recursos se pueden añadir sin perjudicar a los
ya existentes, es decir, la posibilidad de extender o ampliar los
servicios en el sistema
Esto puede ser dado con respecto a las extensiones de:
Hardware: añadir memoria, periféricos o interfaces de
comunicación, etc…
Software: añadir características al sistema operativo,
protocolos de comunicación, servicios de compartición de
recursos, etc…
5. Características
Concurrencia:
En un sistema distribuido hay muchas máquinas, cada una de
ellas con uno o más procesadores centrales. Es decir, si hay M
procesadores puede haber M computadoras en un sistema
distribuido entonces podrán haber hasta M procesos
ejecutándose al mismo tiempo.
En un sistema distribuido la posibilidad de ejecución paralela
ocurre por dos razones:
1.- Muchos usuarios interactúan simultáneamente con
programas de aplicación.
2.- Muchos procesos servidores se ejecutan
concurrentemente, cada uno respondiendo a diferentes
peticiones de los procesos clientes.
6. Características
Escalabilidad:
La demanda de escalabilidad en los sistemas distribuidos ha
conducido a una filosofía de diseño en que cualquier recurso
simple (hardware o software) puede extenderse para
proporcionar servicio a tantos usuarios como se quiera.
Por ejemplo, la frecuencia con la que se accede a los ficheros
crece cuando se incrementa el numero de usuarios y
estaciones de trabajo en un sistema distribuido. Entonces,
debe ser posible añadir ordenadores servidores para evitar el
cuello de botella que se produciría si un solo servidor de
ficheros tuviera que manejar todas las peticiones de acceso a
los ficheros. En este caso el sistema deberá estar diseñado de
manera que permita trabajar con ficheros replicados en
distintos servidores, con las consideraciones de consistencias
que ello conlleva.
7. Características
Tolerancia a fallos:
El diseño de sistemas tolerantes a fallos se basa en dos
cuestiones, complementarias entre sí: Redundancia de
hardware y recuperación del software.
En los sistemas distribuidos la redundancia puede plantearse
en un grano mas fino que el hardware, pueden replicarse los
servidores individuales que son esenciales para la operación
continuada de aplicaciones criticas.
La recuperación del software tiene
relación con el diseño de software que
sea capaz de recuperar (roll-back) el
estado de los datos permanentes antes
de que se produjera el fallo.
8. Características
Transparencia:
La transparencia se define como la ocultación al usuario y al
programador de aplicaciones de la separación de los
componentes de un sistema distribuido, de manera que el
sistema se percibe como un todo, en vez de una colección de
componentes independientes. La transparencia ejerce una
gran influencia en el diseño del software de sistema.
De fallos
De migración
De prestaciones
De escalado
De acceso
De localización
De concurrencia
De replicación
9. Evolución
Procesamiento central (Host).- Uno de los primeros
modelos de ordenadores interconectados, llamados
centralizados, donde todo el procesamiento de la
organización se llevaba a cabo en una sola computadora,
normalmente un Mainframe, y los usuarios empleaban
sencillos ordenadores personales.
Los problemas de este modelo son:
•Cuando la carga de procesamiento aumentaba se tenía que
cambiar el hardware del Mainframe.
•El otro problema que surgió son las modernas interfases
gráficas de usuario, las cuales podían conllevar a un gran
aumento de tráfico en los medios de comunicación y por
consiguiente podían colapsar.
10. Evolución
Grupo de Servidores: También un tanto centralizado, un
grupo de ordenadores actuando como servidores,
normalmente de archivos o de impresión, poco inteligentes
para un número de Minicomputadoras que hacen el
procesamiento conectados a una red de área local.
Los problemas de este modelo son:
•Podría generarse una saturación de los medios de
comunicación entre los servidores poco inteligentes y las
minicomputadoras, por ejemplo cuando se solicitan archivos
grades por varios clientes a la vez, podían disminuir en gran
medida la velocidad de transmisión de información.
11. Evolución
La Computación Cliente Servidor: Este modelo, que
predomina en la actualidad, permite descentralizar el
procesamiento y recursos, sobre todo, de cada uno de los
servicios y de la visualización de la Interfaz Gráfica de
Usuario. Esto hace que ciertos servidores estén dedicados
solo a una aplicación determinada y por lo tanto ejecutarla en
forma eficiente.
Sistema donde el cliente es
una máquina que solicita un
determinado servicio y se
denomina servidor a la
máquina que lo proporciona.
12. CLIENTE – SERVIDOR
Los servicios pueden ser:
•Ejecución de un determinado programa.
•Acceso a un determinado banco de información.
•Acceso a un dispositivo de hardware.
Es un elemento primordial, la presencia de un medio físico de
comunicación entre las máquinas, y dependerá de la naturaleza de
este medio la viabilidad del sistema.
CLIENTE SERVICIO
Solicitud de Recurso
Respuesta
PRG
BD
SERVICIOS
ESQUEMA
CLIENTE/SERVIDOR
13. Categorías de los servidores
Servidores de archivos
Servidores de Base de Datos
Servidores de Software de Grupo
Servidores WEB
Servidores de correo
Servidor de objetos
Servidores de impresión
Servidores de aplicación
14. Arquitecturas cliente – servidor
De dos capas: Consiste en una capa de presentación y
lógica de la aplicación; y la otra de la base de datos
SERVIDOR
CLIENTE
Base de Datos
* Presentación
* Lógica de la Aplicación.
Normalmente esta arquitectura se utiliza en las siguientes situaciones:
•Cuando se requiera poco procesamiento de datos en la
organización.
•Cuando se tiene una base de datos centralizada en un solo
servidor.
•Cuando la base de datos es relativamente estática.
•Cuando se requiere un mantenimiento mínimo
15. Arquitecturas cliente – servidor
De tres capas: Consiste en una capa de la Presentación,
otra capa de la lógica de la aplicación y otra capa de la base
de datos
Normalmente esta arquitectura se utiliza en las siguientes situaciones:
•Cuando se requiera mucho procesamiento de datos en la aplicación.
•En aplicaciones donde la funcionalidad este en constante cambio.
•Cuando los procesos no están relativamente muy relacionados con los
datos.
•Cuando se requiera aislar la tecnología de la base de datos para que sea
fácil de cambiar.
•Cuando se requiera separar el código del cliente para que se facilite el
mantenimiento.
Capa de
Presentación
Capa de la
Aplicación
Capa de Base
de Datos
Objetos de
Negocios B/D
CLIENTES
SERVIDOR
SERVIDOR
16. Clasificación de los sistemas
cliente – servidor
Representación distribuida.- La interacción con el usuario
se realiza en el servidor, el cliente hace de pasarela entre el
usuario y el servidor.
17. Existen redes construidas conectando un conjunto de terminales “tontas” a
una gran computadora (mainframe). Una terminal tonta no tiene capacidad de
procesamiento; está compuesta esencialmente por un monitor y un teclado. En
una red como ésta, el procesamiento y control de operaciones se produce
exclusivamente en la computadora central (host).
18. Clasificación de los sistemas
cliente – servidor
Remota.-La lógica de la aplicación y la base de datos se
encuentran en el servidor. El cliente recibe y formatea los
datos para interactuar con el usuario.
20. Clasificación de los sistemas
cliente – servidor
Lógica Distribuida.- El cliente se encarga de la interacción
con el usuario y de algunas funciones triviales de la
aplicación. Por ejemplo controles de rango de campos,
campos obligatorios, etc. Mientras que el resto de la
aplicación, junto con la base de datos, están en el servidor.
21. Clasificación de los sistemas
cliente – servidor
Remota de Datos.- El cliente realiza la interacción con el
usuario y ejecuta la aplicación y el servidor es quien maneja
los datos.
22. Clasificación de los sistemas
cliente – servidor
Base de Datos Distribuidas.- El cliente realiza la
interacción con el usuario, ejecuta la aplicación, debe
conocer la topología de la red, así como la disposición y
ubicación de los datos. Se delega parte de la gestión de la
base de datos al cliente.
23. Clasificación de los sistemas
cliente – servidor
Cliente servidor a tres niveles.- El cliente se encarga de la
interacción con el usuario, el servidor de la lógica de
aplicación y la base de datos puede estar en otro servidor.