Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sistdistr
Sistdistr
UIB
Sistemas distribuidos
21/2/2002
1
ndice
Definicin y concepto
Clasificacin de sistemas distribuidos
Aspectos referentes al proceso de ingeniera
Caso particular: aplicaciones Web
Aspectos relativos al coste
UIB
Sistemas distribuidos
21/2/2002
2
Definicin y concepto
Un sistema distribuido es aquel en el que dos o
ms mquinas colaboran para la obtencin de un
resultado. En todo sistema distribuido se
establecen una o varias comunicaciones siguiendo
un protocolo prefijado mediante un esquema
cliente-servidor.
UIB
Sistemas distribuidos
21/2/2002
3
Definicin y concepto
En un esquema cliente-servidor, se denomina
cliente la mquina que solicita un determinado
servicio y se denomina servidor la mquina que lo
proporciona. El servicio puede ser la ejecucin de
un determinado algortimo, el acceso a determinado
banco de informacin o el acceso a un dispositivo
hardware.
UIB
Sistemas distribuidos
21/2/2002
4
Definicin y concepto
Por extensin, se puede aplicar el esquema
cliente-servidor dentro de una misma mquina,
donde el proceso servidor y el proceso cliente son
dos procesos independientes que corren dentro de
la misma instancia de sistema operativo.
Es por tanto un elemento primordial para que haya
un sistema distribuido, la presencia de un medio
fsico de comunicacin entre ambas mquinas, y
ser la naturaleza de este medio la que marque en
muchos casos la viabilidad del sistema.
UIB
Sistemas distribuidos
21/2/2002
5
Clasificacin
Se clasifican los sistemas cliente servidor de
acuerdo al nivel de abstraccin del servicio que se
ofrece. Se distinguen tres componentes bsicos de
software:
Interaccin con el usuario
Lgica de Aplicacin
Repositorio de datos
UIB
Sistemas distribuidos
21/2/2002
6
Clasificacin
1. Representacin distribuida. La interaccin con
el usuario se realiza bsicamente en el servidor. El
cliente hace de pasarela, de sistema de acceo a
los elementos hardware pantalla y teclado.
Base de datos
Lgica de aplicacin
Interface de usuario
UIB
Sistemas distribuidos
Terminal fsico
21/2/2002
7
Clasificacin
2. Representacin remota. Los datos se envan sin
formatear, y es el cliente el responsable de formatear los
datos y realizar las acciones de interaccin con el usuario.
En este caso, la aplicacin y la base de datos se
encuentran en el servidor
Base de datos
Lgica de aplicacin
Interface avanzado de usuario
UIB
Sistemas distribuidos
Terminal inteligente
Intarface bsico de usuario
21/2/2002
8
Clasificacin
3. Lgica distribuida. En el cliente se llevan a cabo
la interaccin con el usuario y la parte ms trivial
de la lgica de la aplicacin. En este caso, se
llevan a cabo controles bsicos de rango de
campos, campos obligatorios, etc, mientras que el
grueso de la lgica permanece en el servidor.
Base de datos
Lgica de aplicacin
UIB
Sistemas distribuidos
Ordenador de sobremesa
Lgica bsica de aplicacin
Interface de usuario
21/2/2002
9
Clasificacin
4. Gestin remota de datos. Tanto la interaccin con el
usuario como la aplicacin residen en el cilente, siendo el
servidor el depositario de los datos.
Base de datos
UIB
Sistemas distribuidos
Ordenador de sobremesa
Lgica de aplicacin
Interface de usuario
21/2/2002
10
Clasificacin
5. B.D. Distribuidas. El cliente debe conocer la topologa de
la red, as como la disposicin y ubicacin de los datos. En
este caso, se delega parte de la gestin de base de datos a
los clientes.
Base de datos
Base de datos
UIB
Sistemas distribuidos
Ordenador de sobremesa
Distribucin de datos
Lgica de aplicacin
Interface de usuario
21/2/2002
11
Clasificacin
Cliente servidor a tres niveles (three tier). La aplicacin se
distribuye en los tres niveles: aplicacin, datos e interface
de usuario
Base de datos
Lgica de aplicacin
UIB
Sistemas distribuidos
Ordenador de sobremesa
Interface de usuario
21/2/2002
12
Ejemplos
Ejemplo
Clasificacin
Ancho de
banda
Mquina
cliente
Mquina
servidor
Aplicacin
Clipper sobre
servidor
archivos
Windows NT
Aplicacin
Windows sobre
BBDD ClienteServidor
Servidor Web
pginas
estticas
Aplicacin Web
dinmica
contra B.D.
externa
UIB
Sistemas distribuidos
21/2/2002
13
Ejemplos
Ejemplo
Aplicacin
Clipper sobre
servidor
archivos
Windows NT
Aplicacin
Windows sobre
BBDD ClienteServidor
Servidor Web
pginas
estticas
Aplicacin Web
dinmica
UIB
Clasificacin
Ancho de
banda
Acceso remota Mb/s
a datos
Mquina
cliente
Altas
prestaciones
Mquina
servidor
Bajas
prestaciones
Altas
prestaciones
Altas
prestaciones
Representaci Kb/s
n remota
Altas
prestaciones
Bajas
prestaciones
Representaci Kb/s
n remota /
Lgca
distribuida
Altas
prestaciones
Altas
prestaciones
Sistemas distribuidos
21/2/2002
14
Ejemplos
Ejemplo
Clasificacin
Ancho de
banda
Mquina
cliente
Mquina
servidor
Correo internet
SMTP/POP3
Aplicacin X 11
Telnet
Telnet 5250
Applet Java
que convierte
Euros a
Pesetas
Teleproceso
bancario
UIB
Sistemas distribuidos
21/2/2002
15
Ejemplos
Ejemplo
Clasificacin
UIB
Ancho de
banda
Bajo (Kb/s)
Mquina
cliente
Bajas
Mquina
servidor
Bajas
Ancho (Mb/s)
Bajas
Altas
Bajo (Kb/s)
Bajas
Bajas
Bajo (Kb/s)
Bajas
Bajas
Bajo (Kb/s)
Altas
Altas
Sistemas distribuidos
21/2/2002
16
Sistemas distribuidos
21/2/2002
17
UIB
Sistemas distribuidos
21/2/2002
18
UIB
Sistemas distribuidos
21/2/2002
19
UIB
Sistemas distribuidos
21/2/2002
20
Sistemas distribuidos
21/2/2002
21
Sistemas distribuidos
21/2/2002
22
UIB
Sistemas distribuidos
21/2/2002
23
Desarrollos Web
Caso particular de desarrollo cliente servidor con
representacin remota, en la cual disponemos de
un protocolo standard: HTTP y un middleware
denominado WebServer.
Cada pgina puede desencadenar la solicitud de
numerosos peticiones adicionales para finalizar el
proceso de representacin remota.
Se dispone de un lenguaje standard de definicin y
formateo de pginas: HTML
UIB
Sistemas distribuidos
21/2/2002
24
Desarrollos Web
Incrustacin de la lgica de aplicacin en el servidor Web:
CGI: Common Gateware Interface
Cada peticin HTTP genera un nuevo proceso, el cual analiza la solicitud
y genera un resultado. Cada proceso corresponde a una transaccin.
Es flexible, ideal para pequeas aplicaciones de uso reducido
No escala adecuadamente
Plug-ins
Cada peticin HTTP es resuelta por el componente adecuada, dentro del
mismo proceso del Web-Server.
Mejor rendimiento
Compromete la seguridad y fiabilidad del servidor Web
Servidor especializado
Facilidad de desarrollo
Buen rendimiento
Rigidez de configuracin
UIB
Sistemas distribuidos
21/2/2002
25
Desarrollos Web
Tipos de plug-ins
HTML incrustado en cdigo
Se centran en la lgica
Son fcilmente de optimizables
Ejemplos: servlets, Perl, Python
UIB
Sistemas distribuidos
21/2/2002
26
Desarrollo Web
Esquema aplicado a Apache y PHP
Navegador
HTTP
Programa
ejecutable
Parmetros
proceso
Apache
Plug-in PHP
Base de
datos
UIB
Sistemas distribuidos
Pgina PHP
21/2/2002
27
UIB
Sistemas distribuidos
21/2/2002
28
Medidas a tomar:
Separar la lgica de aplicacin del interface de usuario
Utilizar mtodos estndar de comunicacin entre la
lgica de aplicacin y el interface de usuario
Uso de herramientas que permitan adaptar rpidamente
las aplicaciones a los nuevos tipos de dispositivos que
irn apareciendo
UIB
Sistemas distribuidos
21/2/2002
29
Mvil
http
Usuario
Wml binario
Web Server
WAP Server
Gestor
comunicaciones
Pginas HTML
Pginas WML
Interface de usuario
XML
Servidor Aplicaciones
Lgica de negocio
SQL
Base de datos
UIB
Sistemas distribuidos
Datos
21/2/2002
30
Mvil
http
Usuario
Wml binario
Web Server
WAP Server
Gestor
comunicaciones
Pginas HTML
Pginas WML
Interface de usuario
XML
Lgica de negocio
Base de datos
UIB
Sistemas distribuidos
Datos
21/2/2002
31
Usuario
Wml binario
Web Server
-
Mvil
WAP Server
Gestor
comunicaciones
Reglas de
traduccin WML
Pginas HTML
Interface de usuario
Interface de usuario
Lgica de negocio
SQL
Base de datos
UIB
Sistemas distribuidos
Datos
21/2/2002
32
Estndares de mercado
Estrategia Java
Navegador
Mvil
http
Usuario
Wml binario
Web Server
WAP Server
Gestor
comunicaciones
Interface de usuario
RMI
Lgica de negocio
SQL
Base de datos
UIB
Sistemas distribuidos
Datos
21/2/2002
33
Estndares de mercado
Estrategia .NET
Navegador
http
Mvil
Usuario
Wml binario
Web Server
WAP Server
Gestor
comunicaciones
Visual Basic
Pginas ASP
Interface de usuario
XML
OBJECTO COM +
Lgica de negocio
SQL
Base de datos
UIB
Sistemas distribuidos
Datos
21/2/2002
34
Problemas no resueltos
La gestin de la sesin de usuario es todava hoy
deficiente, debido en parte a la naturaleza del
protocolo http
La maleabilidad del interface de usuario es muy
limitada si no se quiere sacrificar la portabilidad
La encadenacin entre pantallas se realiza de
forma artesana. Las herramientas no permiten
implementar pantallas recursivas ni fcilmente
reutilizables
UIB
Sistemas distribuidos
21/2/2002
35
Estrategia a seguir
Valorar la durabilidad temporal de las tecnologas a
aplicar
Separar, en el diseo e implentacin de la
aplicacin, las capas de lgica de aplicacin e
interface de usuario
Prestar mucha atencin a los nuevos tipos de
dispositivos
Examinar con lupa los atajos ofrecidos por los
fabricantes
UIB
Sistemas distribuidos
21/2/2002
36
Sistemas distribuidos
21/2/2002
37
UIB
Sistemas distribuidos
21/2/2002
38