Upload
fanyluuu
View
22
Download
1
Embed Size (px)
DESCRIPTION
a
Citation preview
DESARROLLO DE APLICACIONES PARA
AMBIENTES DISTRIBUIDOS
Panorama general de lasaplicaciones distribuidas
OBJETIVO DE LA UNIDAD
El estudiante reconocerá la evolución, características y la naturaleza de las aplicaciones distribuidas.
CONTENIDO DE LA UNIDAD
1.1 Evolución de las aplicaciones informáticas.1.1.1 Aplicaciones monolíticas.1.1.2 Aplicaciones cliente/servidor.1.1.3 Aplicaciones de 2,3 y n capas.1.1.4 Aplicaciones distribuidas.
1.2 Evolución de las tecnologías para el desarrollo de aplicaciones distribuidas.1.2.1 De interfaz de usuario.1.2.2 De aplicación.1.2.3 De base de datos.1.2.4 De comunicación de datos.1.2.5 De conexión entre capas.
1.3 Escenarios de utilización de las aplicaciones distribuidas.
1.4 Problemas comunes en el desarrollo y uso de aplicaciones distribuidas.
¿Qué es una aplicación distribuida?
Es una aplicación con distintos componentes que se ejecutan en entornos separados, normalmente en diferentes plataformas conectadas a través de una red. Las típicas aplicaciones distribuidas son de dos niveles (cliente-servidor), tres niveles (cliente-middleware-servidor) y multinivel.
Ejemplos: Algunas de las aplicaciones distribuidas más conocidas son remote login, correo electrónico,navegación Web, streaming, telefonía IP y compartición de ficheros(P2P).
Una aplicación distribuida que sigue el modelo cliente-servidor tiene los siguientes componentes:
Lado servidor: Programa que se ejecuta en un computador que esta conectado a una red. Esta a la escucha en un puerto, esperando las peticiones de los clientes; por ejemplo, un servidor Web escucha en el puerto 80. Un computador que ejecuta un servidor de aplicación necesita estar conectado a la red para responder a las peticiones de los clientes.
Lado cliente: Programa que ejecuta el usuario de la aplicación. El cliente hace sus peticiones al servidor a través de la red. Por ejemplo, un navegador Web.
Protocolo de aplicación para la comunicación entre el cliente y el servidor. El protocolo define el tipo de mensajes intercambiados; por ejemplo, el protocolo de la capa de aplicación de la Web, HTTP, define el formato y la secuencia de los mensajes transmitidos entre el navegador y el servidor Web.
Formato de los mensajes que se intercambian, algunas veces forma parte del servicio; por ejemplo, en el correo electronico se define el formato de los mensajes electronicos.
MODELOS DE APLICACIONES
Los departamentos de informática y
empresas de desarrollo tienen que
decidir, a la hora de planificar la
creación de una nueva aplicación, cual
de los modelos posibles quiere utilizar.
EVOLUCIÓN DE LAS APLICACIONESINFORMÁTICAS
Aplicaciones Distribuidas
NECESIDADES A CUBRIR
Trabajo a distancia Compartir información Accesibilidad Seguridad en la protección de la
información (tener la base de datos particionada en dos o mas nodos)
Independencia lugares
CUALQUIER APLICACIÓN ACTUAL CUENTA GENERALMENTE CON TRESPARTES DIFERENCIADAS:
Una interfaz de usuario: Elemento con el que interacciona el usuario de la aplicación, ejecutando acciones, introduciendo u obteniendo información.
Lógica ó Reglas de negocio: Son las que procesan la información para generar los resultados que persiguen, siendo el elemento fundamental que diferencia unas aplicaciones de otras.
Gestión de datos: Se ocupa del almacenamiento y recuperación de la información.
APLICACIONES MONOLÍTICAS
En una aplicación monolítica las tres partes forman un todo y se ejecutan en la misma maquina.
Ejemplo: Resulta caro y los costos de mantenimiento son
también altos.
DatosLógica de negocio
Interface de usuario
APLICACIÓN MONOLÍTICA
Una aplicación aplicación monolíticamonolítica duplica en cada computadora todos sus elementos: interfaz de usuario, lógica o reglas de negocio y acceso a datos.
DatosLógica de negocio
Interface de usuario
DatosLógica de negocio
Interface de usuario
APLICACIÓN MONOLÍTICA
Funcionan mas rápido.
Fácil de desarrollar. difícil de mantener,
poco escalable y que
Precisa de cierta potencia de proceso.
Requieren más y mejor HW en las estaciones de trabajo
Son infinitamente más 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 aplicación
Su actualización es más costosa
No permiten el acceso en línea desde fuera de la Red Local ó requieren de implementaciones de soluciones de conectividad muy costosas
Ventajas Desventajas
APLICACIONES CLIENTE/SERVIDOR
Cliente Se le representa por un software de aplicación 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 través de Internet por un protocolo que ellos mismos definen.
CLIENTE / SERVIDOR
HTTP
APLICACIONES EN DOS CAPAS
Presentación y Lógica Datos
APLICACIONES EN TRES CAPAS
Presentación Datos Lógica
¿Aplicación de n capas?
EVOLUCIÓN DE LAS TECNOLOGÍAS PARA ELDESARROLLO DE APLICACIONES DISTRIBUIDASDE INTERFAZ DE USUARIO
EVOLUCIÓNDE BASES DE DATOS
ESCENARIOS DE UTILIZACIÓN DE LAS APLICACIONES DISTRIBUIDAS
EJEMPLOS DE APLICACIONES DISTRIBUIDAS
PROBLEMAS COMUNES EN EL DESARROLLO YUSO 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.
Por su atención.
Gracias!!!