You are on page 1of 26

Panorama general de las

aplicaciones distribuidas

Objetivo de la Unidad

El estudiante reconocer la evolucin,


caractersticas y la naturaleza de las
aplicaciones distribuidas.

Contenido de la Unidad
1.1 Evolucin de las aplicaciones informticas.
1.1.1 Aplicaciones monolticas.
1.1.2 Aplicaciones cliente/servidor.
1.1.3 Aplicaciones de 2,3 y n capas.
1.1.4 Aplicaciones distribuidas.
1.2 Evolucin de las tecnologas para el desarrollo de aplicaciones distribuidas.
1.2.1 De interfaz de usuario.
1.2.2 De aplicacin.
1.2.3 De base de datos.
1.2.4 De comunicacin de datos.
1.2.5 De conexin entre capas.
1.3 Escenarios de utilizacin de las aplicaciones distribuidas.
1.4 Problemas comunes en el desarrollo y uso de aplicaciones distribuidas.

Modelos de aplicaciones

Los

departamentos

de

informtica

empresas de desarrollo tienen que decidir,


a la hora de planificar la creacin de una
nueva aplicacin, cual de los modelos
posibles quiere utilizar.

Evolucin de las aplicaciones


informticas
Aplicaciones
Distribuidas

Necesidades a cubrir

Trabajo a distancia
Compartir informacin
Accesibilidad
Seguridad en la proteccin de la
informacin (tener la base de datos
particionada en dos o mas nodos)
Independencia lugares

Cualquier aplicacin actual cuenta


generalmente con tres
partes diferenciadas:
Una

interfaz de usuario: Elemento con el que


interacciona el usuario de la aplicacin, ejecutando
acciones, introduciendo u obteniendo informacin.

Lgica

Reglas de negocio: Son las que procesan


la informacin para generar los resultados que
persiguen, siendo el elemento fundamental que
diferencia unas aplicaciones de otras.

Gestin

de datos: Se ocupa del almacenamiento y


recuperacin de la informacin.

Aplicaciones Monolticas
En una aplicacin monoltica las tres partes
forman un todo y se ejecutan en la misma
maquina.

Interface de usuario
Datos
Lgica de negocio

Ejemplo:
Resulta caro y los costos de mantenimiento son
tambin altos.

Aplicacin Monoltica

Una aplicacin
monoltica duplica en
cada computadora
todos sus elementos:
interfaz de usuario,
lgica o reglas de
negocio y acceso a
datos.

Interface de usuario
Lgica de negocio

Datos

Aplicacin Monoltica
Ventajas

Funcionan mas
rpido.
Fcil de desarrollar.
difcil de mantener,
poco escalable y que
Precisa de cierta
potencia de proceso.

Desventajas

Requieren ms y mejor HW en las estaciones


de trabajo

Son infinitamente ms lentos en el


procesamiento de peticiones sencillas

Ocupan mayor ancho de banda, provocando


congestionamiento en la Red Local

Requieren habilitar el acceso real a la carpeta


de datos para todos los usuarios de la
aplicacin
Su actualizacin es ms costosa

No permiten el acceso en lnea desde fuera


de la Red Local requieren de
implementaciones de soluciones de
conectividad muy costosas

Aplicaciones
cliente/servidor

Cliente Se le representa por un software


de aplicacin y lo utilizan los usuarios de
Internet para acceder a un determinado
servicio.

Servidor En cambio un servidor tiene un


software de servidor que lo utiliza para
ofrecer al cliente toda la funcionalidad
utilizada por el cliente. El cliente y el
servidor se comunican a travs de Internet
por un protocolo que ellos mismos definen.

Cliente / Servidor

HTTP

Aplicaciones en
dos capas

Presentacin y Lgica

Datos

Aplicaciones en tres
capas

Presentacin

Lgica

Datos

Aplicacin de n capas

Aplicacin en n-capas

El modelo n-tier (n-capas) de informtica distribuida ha


emergido como la arquitectura predominante para la
construccin de aplicaciones multiplataforma en la mayor
parte de las empresas pertenecientes a Fortune 1000. Este
cambio radical en los modelos de computacin, desde los
sistemas monolticos basados en mainframe y los
tradicionales sistemas cliente-servidor, hacia sistemas
distribuidos multiplataforma altamente modulables.

Compaas como Sun con su estrategia Sun Tone, o


Microsoft con DotNET (.Net) estan apostando crear
herramientas para el diseo en n-capas .

Aplicacin en n-capas
Ventajas del modelo
Desarrollos

paralelos (en cada capa).

Aplicaciones

ms robustas debido al encapsulamiento.

Mantenimiento

y soporte ms sencillo (es ms sencillo cambiar un


componente que modificar una aplicacin monoltica).

Mayor

flexibilidad (se pueden aadir nuevos mdulos para dotar al sistema


de nueva funcionalidad)

Alta

escalabilidad . La principal ventaja de una aplicacin distribuida bien


diseada es su buen escalado, es decir, que puede manejar muchas
peticiones con el mismo rendimiento simplemente aadiendo ms hardware.
El crecimiento es casi lineal y no es necesario aadir ms cdigo para
conseguir esta escalabilidad.

Qu es una aplicacin distribuida

Diseando Aplicaciones
Distribuidas

El diseo de aplicaciones modernas involucra la


divisin de una aplicacin en mltiples capas; la
interfaz de usuario, la capa media de objetos de
negocios, y la capa de acceso a datos. Puede ser
til identificar los tipos de procesamiento que
podemos esperar que una aplicacin realice..

Diseando Aplicaciones
Distribuidas.
Muchas aplicaciones pueden, al menos, hacer lo
siguiente:
Clculos

u otros procesos de negocios.


Ejecucin de reglas de negocios.
Validacin de datos relacionados al negocio.
Manipulacin de datos.
Ejecucin de las reglas de datos relacional.
Interactuar con aplicaciones externas o servicios.
Interactuar con otros usuarios.

No Confundir
Algo que se tiene que dejar claro es que
no podemos confundir una aplicacin
distribuida con un sistema distribuido
Un sistema distribuido se define como una coleccin de
computadores autnomos conectados por una red, con el
software distribuido adecuado para que el sistema sea visto por
los usuarios como una nica entidad capaz de proporcionar
facilidades de computacin
Ejemplo:

Evolucin de las tecnologas


para el desarrollo de
aplicaciones distribuidas De
Interfaz de usuario

Evolucin
De bases de datos

Escenarios de utilizacin de las


aplicaciones distribuidas

Ejemplos de aplicaciones
Distribuidas

Problemas comunes en el
desarrollo y uso de aplicaciones
distribuidas.

Disponibilidad de los servidores.


Acceso a los sistemas de manera remota.
Posibilidad de que pueden ser vistos (pero
no accesados) por muchas personas.
Capacidad de los equipos donde se
almacenan las fuentes.

You might also like