Documente Academic
Documente Profesional
Documente Cultură
Introduccin
Qu es un ambiente distribuido? Es una coleccin de computadoras separadas fsicamente y conectadas entre s por una red de comunicaciones distribuida, cada mquina hardware y software posee componentes que el usuario percibe como un solo sistema y accede a los recursos remotos (RPC) de la misma manera que a recursos locales Por qu evolucionaron las aplicaciones informticas?
Trabajo a distancia Compartir informacin Accesibilidad Seguridad en la proteccin de la informacin (tener la base de datos particionada en dos o ms nodos) Independencia de lugares.
Actualmente cualquier aplicacin cuenta con: Interfaz de usuario Lgica de negocio Gestin de datos
Datos
Aplicacin monoltica
Tambin se les llamada de una capa y los datos se encuentran mezclados o altamente mezclados lo que indica que no puede hacerse una separacin fsica o lgica para verificar si alguna de las partes puede ser reutilizable Ejemplos: Procesador de texto, MS-DOS Consulta BD 5Mb
Aplicaciones monolticas
Ventajas:
Rpida Fcil implementacin Difcil mantenimiento Poco escalable
Desventajas:
Requieren HW ms potente Congestionan la red local Difcil mantenimiento Poco escalable Solo la red local puede conectarse
Funciones
Aceptar requerimientos de bases de datos y procesarlos Formatear datos para trasmitirlos a los clientes. Procesar la lgica de la aplicacin Realizar validaciones a nivel de bases de datos.
Este modelo provee: Usabilidad, flexibilidad, interoperabilidad y escalabilidad en las comunicaciones Se us a principios de los 80s
Cliente
Protocolo
Servidor
Definicin:
Sistema distribuido entre mltiples procesadores, donde hay clientes que solicitan servicios y servidores que los proporcionan. Cada uno de ellos est en la plataforma ms adecuada.
Modelo Cliente-Servidor
Es una arquitectura distribuida, que permite a usuarios en entornos multiplataforma tener acceso a los datos de forma transparente. La separacin Cliente-Servidor es lgica. Un mismo equipo puede realizar ambos roles, en momentos diferentes. Ejemplo: PCs & Mainframes
El ambiente es heterogneo
Algunos tipos especficos de servidores: o Servidor Web o Servidor de correo o Servidor de archivos
Servidor de Archivos:
DBMS
Qu necesitamos gestionar? Dnde estarn situados los procesadores y estaciones de trabajo? Cuntos tipos distintos se soportarn? Qu tipo de soporte es necesario y quin lo proporciona?
Ventajas:
Las plataformas hardware son cada vez ms baratas Facilita integracin de sistemas para compartir informacin Favorece el uso de GUI Rpido desarrollo Favorece soluciones locales para su integracin global Evita duplicidad de datos
Desventajas:
Difcil mantenimiento de sistemas por la integracin de Hd-Sw Herramientas de administracin escasas Clientes y servidores deben usar los mismos mecanismos RPC sockets Se necesitan estrategias de manejo de errores (consistencia) La seguridad al verificar clientes o servidores El trfico en la red
Nivel de Abstraccin:
Aplicaciones del Usuario Reglas del Negocio Base de Datos Una de las principales aportaciones de esta arquitectura a los sistemas de informacin, es la interfaz grfica de usuario.
1. 2. 3. 4. 5. 6.
Interfaz grfica Redes de computadora Programacin de negocios Bases de datos Programacin de Bases de datos Distribucin de sistemas
Aplicacin de 2 capas:
Desventaja
Nivel de repositorio.
Capa donde se almacenan los datos y la informacin procesada.
Aplicacin de 3 capas
1. Capa de Presentacin
2. Capa de negocio
3. Capa de datos
Navegador
Navegador
Aplicacin de n capas
Es una aplicacin distribuida en n capas, no solo lgicas, sino tambin fsicas, los procesos se ejecutan en diferentes equipos, de incluso diferentes plataformas o sistemas operativos. Equipo con configuracin distinta y optimizadas para realizar el papel asignado en la estructura de la aplicacin. Optimizando los recursos y la eficiencia global del sistema.
Nueva Economa
Las aplicaciones n-capas distribuidas es la arquitectura predominante en la construccin de aplicaciones multiplataforma en la mayor parte de las empresas
Aplicaciones distribuidas
Sus componentes se ejecutan en entornos separados, normalmente en diferentes plataformas conectadas a travs de una red. Las tpicas aplicaciones distribuidas son: Dos niveles (cliente-servidor) Tres niveles (cliente-middleware-servidor) Multinivel.
2. Topologa de la red:
El ancho de banda y el trfico de red El tipo de red (LAN o WAN) La aplicacin ser o no accesible a travs de Internet. La distribucin de los procesos de la aplicacin
Interfaces
Seales de humo
La evolucin de la interfaz de usuario no tiene mucho tiempo en desarrollo ya que anteriormente no haba interaccin entre el usuario y el lenguaje
En la actualidad realmente existe una interaccin usuario-maquina. Por medio de representaciones graficas y acciones podemos representar la informacin.
Cronologa
Hasta 1945
La interaccin era directa con el hardware
1945-1955
Programacin en modo catch o por lotes. Las interfaces no eran interactivas. Actualmente el correo electrnico les ha dado nueva vida
1955-1965
Aparecieron las interfaces en lnea. En 1960 Aparecen los sistemas de tiempo compartido. La interaccin era: Pregunta-respuesta
1980-1995
Ventanas, conos, mens y ratn GUI WIMP(Windows, Icons, Menus, Pointer) La interaccin: manipulacin directa
1995- El futuro
Interfaces no basadas en mandatos. Sistemas de realidad virtual: aaden tiempo, sonido y voz Sern altamente portables y personales
La
El sistema tomar las decisiones basado en las observaciones que haga al comportamiento del usuario, reconocimiento de gestos, emociones y dems.
interaccin:
Aqu es donde su aplicacin presenta informacin a los usuarios y acepta entradas o respuestas del usuario para usar su programa. La interfaz de usuario no debera desarrollar ningn procesamiento de negocios o reglas de validacin de los propios negocios.
Debe relegar a la capa de negocios la manipulacin de los diferentes asuntos que presentan los usuarios.
La aplicacin puede tener mltiples interfaces de usuario
Algunas tecnologas de interfaz de usuario son: 1. API Win 32 2. HTML 3. DELL HTML 4. Lenguajes Scripts
Domtica
Esta capa se encarga de la revisin de los aspectos de calidad Se encarga de la revisin del mantenimiento general, y lo que un servicio de calidad requiere. Manejo de las caches Gestin de excepciones Rendimiento, entre otros. Aplicaciones independientes del sistema que soportan usuarios reales o programas de aplicacin
CF (Control Function):
Permite el dilogo y la administracin de ASOs
Entidad de Aplicacin:
Representa el conjunto de capacidades de comunicacin de un proceso de aplicacin en particular (intercambio de archivos o mensajes) Formado por un conjunto de ASEs (Application Service Elements)
Ejemplos:
- Soporte de red - DNS - Internet - Correo electrnico - Establecimiento conexin - Interrupcin de conexin - Telnet - Transferencia de archivos - Transferencia de hipertexto
3. De Base de Datos
La evolucin de las bases de datos distribuidas se debe Demanda organizacional de mayor capacidad en BD Necesidad de integracin de informacin de distintos sitios La tecnologa de las bases de datos es el resultado de la evolucin que a lo largo de varias dcadas ha tenido lugar en el procesamiento de los datos y en la gestin de la informacin. La tecnologa de acceso a datos se ha desarrollado desde los mtodos primitivos de los aos 50 hasta los potentes e integrados sistemas de la actualidad
Los nuevos sistemas han surgido por necesidades de la sociedad, negocios y economa. La administracin solo acepta un sistema nuevo si mejora el anterior y es ms econmico que ste. Las nuevas tecnologas: BDOO y la plataforma Cliente-Servidor generan nuevos problemas y requieren soluciones verstiles
Nuevas tecnologas de BD
Algunas tecnologas de base de datos son: OLEB ADO XML SQL Herramientas para modelado (UML)
4. De Comunicacin de Datos
La comunicacin entre distintos equipos informticos puede realizarse entre: Computadora y computadora Perifrico y computadora Perifrico y perifrico
Emisor Receptor Medios o canales de comunicacin Protocolos de comunicacin Mensaje Dispositivos de comunicacin Operador
Tipos de redes
Redes de rea Local (RAL o LAN) creadas para responder a necesidades de tratamiento de informacin a pequeas distancias.
Redes de rea Extensa satisfacen necesidades de transmisin de datos a distancia superior a unos pocos kilmetros. Permite conexiones entre mltiples usuarios y dispositivos de todo tipo
Topologas de Redes:
Las ltimas tendencias de las grandes empresas de tecnologa, como Sun con su estrategia Sun One, o Microsoft con DotNET (.Net)
Intranet. Internet.
Cdigo ASCII
ASCII no es el nico formato en uso. IBM en los 60s adopt EBCDIC (Extended Binary Coded cdigo de intercambio decimal) y todava se utiliza hoy en mainframes. Cdigos HTML Unicode: Los puntos del cdigo se representan utilizando notacin hexadecimal agregando el prefijo U+ . El valor hexadecimal se completa con ceros hasta 4 dgitos hexadecimales cuando es necesario, si la longitud es mayor a cuatro dgitos no se agregan ceros.
Aplicacin de 1 capa
Aplicacin de 2 capas
TAREA 1:
Investigar los principales problemas en el desarrollo y utilizacin de las aplicaciones distribuidas
1. 2. 3. 4. 5.
Qu problemas se presentan y con qu frecuencia? Cmo afectan al desarrollo de las aplicaciones distribuidas? Cmo se enfrentan? Qu se est haciendo para disminuirlos? Cules afectan ms al desempeo de las aplicaciones distribuidas?
Etc Los resultados de tu investigacin se comentarn en clase, en una mesa redonda, se tomar en cuenta la calidad de la informacin, las fuentes de la misma y tu participacin en el debate.
Aplicacin de 3 capas
Requerimientos comunes en AD
Persistencia Transacciones Distribuidas Performance Sesin Reportes Balanceo de carga / Alta disponibilidad Concurrencia
Existen soluciones de bajo costo y altas prestaciones. Las telecomunicaciones se han integrado a la informtica corporativa. Aplicaciones de comunicacin y de proceso de datos (telemtica). Aparicin de Internet reduce los costos en las tecnologas asociadas.
1.4 Problemas comunes en el desarrollo y uso de aplicaciones distribuidas Investigacin a comentar en mesa redonda
Antes de las aplicaciones .NET se usaron las arquitecturas: RPC (llamadas a procedimientos remoto) Arquitecturas basadas en mensajes
Problemas:
Uso de llamadas sncronas en ambientes distribuidos Uso de mltiples componentes Balanceo de carga Priorizacin & Picos de carga de trabajo Tolerancia a fallas Firewall: El rango de puertos abiertos debe ser alto Interoperatividad: Se pierde informacin al hacer traducciones entre los diferentes protocolos usados Traduccin de formato de datos entre diferentes protocolos RPC
Problemas:
Manejo de envo y recepcin del mensaje en cdigo Uso de tecnologa propietaria (interoperabilidad) Flujo de carga y secuenciamiento de mensajes
Los problemas de las arquitecturas RPC y basadas en mensajes se resuelven utilizando los protocolos Web estndares