Está en la página 1de 38

Sistemas Distribuidos

Ingeniera del Software III


Gabriel Buades
Febrero 2.002

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

Acceso remota Kb/s


a datos

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

Correo internet BBDD


SMTP/POP3
Distribuidas
Aplicacin X 11 Representaci
n distribuida
Telnet
Representaci
n distribuida
Telnet 5250
Representaci
n remota
Applet Java
Ninguna
que convierte
Euros a
Pesetas
Teleproceso
BBDD
bancario
Distribuidas

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

Aspectos a tener en cuenta en el


proceso de ingeniera
Protocolos de comunicaciones:
Son ms importantes que la propia arquitectura
distribuida o centralizada. Un buen protocolo permite que
se pueda pasar, sin un coste adicional de rediseo o
codificacin, de una arquitectura centralizada a una
distribuida, y viceversa:
Pipes
RPC
SQL Remoto
HTTP
X11
Otros
UIB

Sistemas distribuidos

21/2/2002
17

Aspectos a tener en cuenta


Middleware. Es la herramienta o conjunto de
herramientas que nos permitiran gestionar y
coordinar los mecanismos de comunicacin.
Independiza el servicio y su implementacin, del S.O. y
protocolos de comunicaciones
Permite la convivencia de distintos servicios en una
misma mquina
Modelo tradicional: Monitor de teleproceso
CICS, Tuxedo, Encina

Modelo OO: CORBA

UIB

Sistemas distribuidos

21/2/2002
18

Aspectos a tener en cuenta


Fase de anlisis:
Prcticamente no hay diferencias respecto a un S.I.
tradicional
Se debe definir la poltica de empresa: fat client o fat
server.
Se debe definir el coste en comunicaciones que puede
asumir la organizacin.

UIB

Sistemas distribuidos

21/2/2002
19

Aspectos a tener en cuenta


Fase de diseo
El diseo de entidades, en raras ocasiones se vern
stas afectadas
Aparecern nuevos conjuntos de datos en los DFDs. No
se trata de nuevas entidades, sino de informacin que
debe viajar entre nodos
Respecto al diseo de tablas, se debe especificar su
implementacin:
Desde qu nodos debe ser accesible
Qu nivel de acceso se precisa desde cada uno de ellos
Cmo implementarlo

UIB

Sistemas distribuidos

21/2/2002
20

Aspectos a tener en cuenta


Implementacin BB.DD. Distribuidas
No hay entornos puramente distribuidos. Debe
analizarse, tabla a tabla, qu distribuir, qu centralizar y
cmo hacerlo:
Tabla nica
Tablas con rplica simtrica on-line
Tablas con rplica simtrica off-line **
Tabla maestra ms copias instantneas
Tabla maestra ms copias instantneas actualizables **
Especial atencin a las secuencias !!
Especial atencn a los conflictos de rplica (**)
UIB

Sistemas distribuidos

21/2/2002
21

Aspectos a tener en cuenta


Diseo de procesos
Se debern tener en cuenta, no tan slo los procesos de rplica y su
periodicidad, sino el ancho de banda que consuman, mxime si
implican tarificacin por paquetes trasnmitidos:
Pipes y sockets -> Aproximacin analtica
Middleware -> Informacin a transmitir + Sobrecoste en ancho
de banda + Sobrecoste en tiempo de proceso
Protocolos propietarios (SQL) -> Recurrir a benchmarks o
referencias del fabricante
Analizados los consumos de ancho de banda y tiempo estimado de
proceso, se deber replantear la idoneidad de ubicacin de cada
proceso
Extremar las pruebas cuando se requiera disear e implementar
protocolos de comunicacin
UIB

Sistemas distribuidos

21/2/2002
22

Aspectos a tener en cuenta


Fase de pruebas. Debido a la complejidad del
sistema, sern necesarias varias fases:
Pruebas de funcionalidad de la aplicacin. Se puede
llevar a cabo sobre mquinas de desarrollo y estaciones
de trabajo de forma paralela
Pruebas de carga del servidor
Pruebas de integridad de datos. Son especialmente
importantes en el caso de bases de datos distribuidas
Pruebas transaccionales
Pruebas de red

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

Cdigo incrustado en HTML


Se centran en el interface de usuario
Son fciles de crear y modificar
No requieren grandes formalismos
No necesitan una gran formacin
Ejemplos: ASP, JSP, PHP

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

Nuevos tipos de dispositivos


Dispositivos que acceden hoy a internet:
Internet Explorer, Netscape, Set Top Box, Mviles WAP, PDAs
Palm Pilot, Windows CE, ...

Previsiones para los prximos aos:


2.002 el 50% de las transacciones habituales se podrn
realizar desde dispositivos mviles
2.003 el 80% de los usuarios realizarn algn tipo de
transaccin desde dispositivos mviles
2.004 los se querrn realizar el 100% de las transacciones
desde dispositivos mviles
2.005 Se esperan ms de 1.000 millones de usuarios mviles
de internet

UIB

Sistemas distribuidos

21/2/2002
28

Nuevos tipos de dispositivos


Problema a resolver:
Necesidad de adaptar el interface de usuario a cada tipo
de dispositivo

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

Nuevos tipos de dispositivos


Tendencia actual
Navegador

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

Nuevos tipos de dispositivos


Variante de los fabricantes BBDD
Navegador

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

Nuevos tipos de dispositivos


Variante de los fabricantes pasarelas
Navegador
http

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

Pginas JSP / Servlets / Java Beans

Interface de usuario

RMI

Enterprise Java Beans

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

Costes sistema distribuido


Elementos a valorar:
Coste de las comunicaciones: Valorar alternativas
presentadas por los nuevos proveedores de
telecomunicaciones. No descartar el tirar lneas propias
Evaluar el coste adicional en hardware, software y
gestin que implica una arquitectura distribuida. Si las
comunicaciones lo permiten, saldr ms rentable una
arquitectura centralizada
El impacto de los protocolos de comunicaciones ser
vital en el desglose posterior de costes. Se deben
dedicar todos los esfuerzos necesarios para evaluar cul
es el protocolo ptimo.
UIB

Sistemas distribuidos

21/2/2002
37

Costes sistema distribuido


Elementos a valorar:
Se ha de tener en cuenta que plantear un sistema
distribuido implica la aparicin de numerosos problemas
que antes no estaban presentes. Estos problemas se
deben resolver mediante tecnologa, productos,
organizacin y mtodo.
Un sistema bien distribuido puede suponer un pequeo
ahorro de costes de gestin y mantenimiento
Un sistema mal distribuido puede comprometer la validez
de la informacin del sistema

UIB

Sistemas distribuidos

21/2/2002
38

También podría gustarte