Você está na página 1de 8

UNIDAD I. PANORAMA GENERAL DE LAS APLICACIONES DISTRIBUIDAS 1.1 EVOLUCION DE LAS APLICACIONES INFORMATICAS.

La evolucin de las aplicaciones informticas se dio debido a los siguientes factores: 1. Trabajo a distancia. 2. Compartir informacin. 3. Accesibilidad. 4. Seguridad en la proteccin de la informacin (tener la base de datos particionada en dos o ms nodos). 5. Independencia lugares. En la actualidad cualquier aplicacin cuenta generalmente con tres partes diferenciadas: 1. Una interfaz de usuario: Elemento con el que interacciona el usuario de la aplicacin, ejecutando acciones, introduciendo u obteniendo informacin. 2. 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. 3. Gestin de datos: Se ocupa del almacenamiento y recuperacin de la informacin.

1.1.1 APLICACIONES MONOLITICAS


Son aquellas en las que el software se estructura en grupos funcionales muy acoplados, involucrando los aspectos referidos a la presentacin, procesamiento y almacenamiento de la informacin.

1.1.2 APLICACIONES CLIENTE/SERVIDOR


Esta arquitectura consiste bsicamente en un cliente que realiza peticiones a otro programa (el servidor) que le da respuesta. Aunque esta idea se puede aplicar a programas que se ejecutan sobre una sola computadora es ms ventajosa en un sistema operativo multiusuario distribuido a travs de una red de computadoras. En esta arquitectura la capacidad de proceso est repartida entre los clientes y los servidores, aunque son ms importantes las ventajas de tipo organizativo debidas a la centralizacin de la gestin de la informacin y la separacin de responsabilidades, lo que facilita y clarifica el diseo del sistema. La separacin entre cliente y servidor es una separacin de tipo lgico, donde el servidor no se ejecuta necesariamente sobre una sola mquina ni es necesariamente un slo programa. Los tipos especficos de servidores incluyen los servidores web, los servidores de archivo, los servidores del correo, etc. Mientras que sus propsitos varan de unos servicios a otros, la arquitectura bsica seguir siendo la misma. 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.

APLICACIONES DE 2 CAPAS.

La arquitectura de dos capas en la actualidad es muy utilizada, aunque con muchas fallas, todava no se ha podido dejar de usar. Estas arquitecturas fueron las primeras en aprovecharse de la estructura cliente-servidor. Aplicacin de dos capas. Las capas que esta arquitectura presenta son las siguientes: Nivel de aplicacin: Este nivel es en el que se encuentra toda la interfaz del sistema y es la que el usuario puede disponer para realizar su actividad con el sistema. Nivel de la base de datos: Este nivel de la Base de Datos tambin llamado el Repositorio de Datos, es la capa en donde se almacena toda la informacin ingresada en el sistema y que se deposita en forma permanente.

La arquitectura de dos capas si bien ayud en unos aos atrs, se vio la necesidad de crear una nueva arquitectura ya que en dos capas se tena algunos problemas en la capa de aplicacin ya que la principal desventaja de esta era el peso que tenia para el cliente, como se mencion anteriormente.
APLICACIONES DE TRES CAPAS

Nivel de Aplicacin La diferencia de este nivel aplicado ahora en una arquitectura de tres capas es que solo tiene que trabajar con la semntica propia de aplicacin, sin tener que preocuparse de cmo esta implementado este ni de su estructura fsica. Nivel de Dominio de la aplicacin. En cambio este nivel se encarga de toda la estructura fsica y el dominio de aplicacin. Algo muy importante y que es la mayor ventaja de esta arquitectura es que ahora nicamente se cambia la regla en el servidor de aplicacin y esta actuar en todos los clientes, cosa que ni suceda con la arquitectura en dos capas que si alguna regla se la cambia, se tena que ir a cada cliente a realizar el cambio.

Nivel de Repositorio. Sigue siendo la capa en donde se almacenan los datos y toda la informacin.

APLICACIONES DE N CAPAS

En una aplicacin distribuida en n-capas los diferentes procesos estn distribuidos en diferentes capas no slo lgicas, sino tambin fsicas. Los procesos se ejecutan en diferentes equipos, que pueden incluso residir en plataformas o sistemas operativos completamente distintos. Cada equipo posee una configuracin distinta y est optimizado para realizar el papel que le ha sido asignado dentro de la estructura de la aplicacin, de modo que tanto los recursos como la eficiencia global del sistema se optimicen.

Aplicacin n capas. El surgimiento de la tecnologa de componentes distribuidos es la clave de las arquitecturas de n-capas. Estos sistemas de computacin utilizan un nmero variable de componentes individuales que se comunican entre ellos utilizando estndares predefinidos y frameworks de comunicacin como: CORBA: (Common Object Request Broker Architecture) del Object Management Group (OMG). DNA: (Distributed Network Applications) de Microsoft (incluye COM/DCOM y COM+ adems de MTS, MSMQ, etc. EJB : (Enterprise Java Beans) de Sun Microsystems XML : (eXtensible Markup Language) del World Wide Web Consortium (W3 .NET: de Microsoft que incluye nuevos lenguajes como Visual Basic.net, C#.

1.1.4 APLICACIONES DISTRIBUIDAS


(distributed application). Aplicacin hecha de distintos componentes que se ejecutan en entornos de ejecucin separados, generalmente sobre diferentes plataformas conectadas por una red. LAS APLICACIONES DISTRIBUIDAS TPICAS las cliente/servidor (two-tier), cliente/middleware/servidor (middleware o three-tier) y multitier.

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. La evolucin de las aplicaciones distribuidas se dio de la siguiente forma:

De interfaz de usuario De aplicacin De base de datos De comunicacin de datos De conexin entre capas

1.2.1 DE INTERFAZ DE USUARIO.


Aqu es donde su aplicacin presenta informacin a los usuarios y acepta entradas o respuestas del usuario para usar por su programa. Idealmente, la IU no desarrolla ningn procesamiento de negocios o reglas de validacin de negocios. Por el contrario, la IU debera relegar sobre la capa de negocios para manipular estos asuntos.

TIPOS DE INTERFAZ DE USUARIO

SEGN SU CONSTRUCCION: INTERFAZ DE HARDWARE: Se trata de un conjunto de controles o dispositivos que permiten que el usuario intercambie datos con la mquina, ya sea introducindolos (pulsadores, botones, teclas, reguladores, palancas, manivelas, perillas) o leyndolos (pantallas, diales, medidores, marcadores, instrumentos).

INTERFAZ DE SOFTWARE: Son programas o parte de ellos, que permiten expresar nuestros deseos al ordenador o visualizar su respuesta.

SEGN LA FORMA DE INTERACTUAR DEL USUARIO INTERFACES ALFANUMRICAS: (intrpretes de comandos) que solo presentan texto.

INTERFACES GRFICAS DE USUARIO: (GUI, graphic user interfaces), las que permiten comunicarse con el ordenador de una forma muy rpida e intuitiva representando grficamente los elementos de control y medida. INTERFACES TCTILES: que representan grficamente un "panel de control" en una pantalla sensible que permite interactuar con el dedo de forma similar a si se accionara un control fsico.

FUNCIONES PRINCIPALES
Sus principales funciones son los siguientes: Puesta en marcha y apagado. Control de las funciones manipulables del equipo. Manipulacin de archivos y directorios. Herramientas de desarrollo de aplicaciones. Comunicacin con otros sistemas. Informacin de estado. Configuracin de la propia interfaz y entorno. Intercambio de datos entre aplicaciones. Control de acceso. Sistema de ayuda interactivo.

1.2.2.

DE APLICACIONES

Capa de aplicacin ( Servicios de aplicacin): Es la capa de mantenimiento general, se encarga normalmente de los requerimientos de calidad de servicio, como las caches, la gestin de excepciones, rendimiento, etc.

La capa de aplicacin es donde ocurre toda la interaccin del usuario con la computadora, y por ejemplo, cualquier browser funciona an sin el stack de TCP/IP instalado, sin embargo, el browser (googlechrome, mozilla firefox, internet

Explorer, opera) no es parte de la capa de aplicacin, sino que es el programa que se comunica con dicha capa.

EN ESTA CAPA APARECEN DIFERENTES PROTOCOLOS:


FTP (File Transfer Protocol ) Protocolo de transferencia de archivos DNS (Domain Name Service) Servicio de nombres de dominio DHCP (Dynamic Host ConfigurationProtocol) Protocolo de configuracin dinmica de anfitrin HTTP (HyperText Transfer Protocol) para acceso a paginas web

NAT (Network AddressTranslation) Traduccin de direccin de red POP (Post Office Protocol) para correo electrnico. SMTP (Simple Mail Transport Protocol). SSH (SecureSHell) TELNET para acceder a equipos remotos. TFTP (Trival File Transfer Protocol).

1.2.3.- DE

BASE DE DATOS

onsiste de una coleccin de datos interrelacionados y un conjunto de programas que permiten acceder esos datos. La evolucin de las bases de datos distribuidas se debe por una parte a razones

organizacionales las cuales han demandado que mayores capacidades sean incorporadas a las bases de datos, tales como la integracin de informacin desde distintos sitios donde se

encuentre la empresa distribuida hacia algn sitio por ejemplo, para una consulta. Por otra parte, el desarrollo de las tecnologas de comunicacin han permitido enlazar datos con aplicaciones que se encuentran en sitios distintos y remotos, por ejemplo las transacciones bancarias realizadas en mquinas-cajeros automticos (ATM) que se encuentran ubicados en centros comerciales, empresas y escuelas, no seran posibles si no tuviramos sistemas de comunicacin para enlazarnos a bases de datos localizadas en diferentes sitios financieros.

1.3 ESCENARIOS DE UTILIZACION DE APLCACIONES DISTRIBUIDAS


Algunas de las aplicaciones distribuidas ms conocidas son remote login, correo electrnico, navegacin Web, streaming, telefona IP y comparticin de ficheros (P2P). Algunos escenarios que utilizan aplicaciones distribuidas son: - PHP - ASP

Como por ejemplo: EDUCACIN A DISTANCIA - MODDLE. CREACIN DE BLOGS - WORDPRESS. CREADOR DE WIKIS - MEDIAWIKI. ADMINISTRAR BD EN WEB - PHPMYADMIN.

1.4 PROBLEMAS COMUNES EN EL DESARROLLO Y USO DE APLICACIONES DISTRIBUIDAS.


Hay una serie de problemas comunes en el diseo de las aplicaciones distribuidas: La compatibilidad de los Tipos de Datos: Distintos sistemas operativos tienen diferentes tipos de datos que no son siempre compatibles entre s. Fallas del Servidor: Debido a que los componentes pueden ser remotos, una falla de cualquiera de ellos puede hacer que toda la aplicacin falle. Fallas del Cliente: El servidor debe saber cmo responder a las fallas del cliente. Reintento de llamadas: Si por ejemplo, se hace una llamada a un mtodo en un servidor para generar una orden de compra muy grande, y el servidor responde pero

se pierde la respuesta por fallas de red, no es muy eficiente volver a enviar la orden de compra. Seguridad: En aplicaciones distribuidas los problemas de seguridad se multiplican. Por ejemplo, se debe considerar como: Autenticar a los usuarios Autorizarlos a acceder a los recursos, encriptar la informacin que viaja por la red, evitar ataques de denegacin de servicio. Sincronizacin de la hora: Hay operaciones que dependen de la fecha y la hora. Por ejemplo, no es lgico en una aplicacin procesar un envo de mercadera antes de haber recibido la orden de compra. Si el cliente y el servidor tienen fechas distintas, se debe generar un mecanismo de sincronizacin de hora para evitar este problema. La arquitectura basada en RPC: RPC son llamadas a procedimientos o funciones en sistemas remotos, es decir en mquinas distintas a la mquina local. Transparencia de localizacin: El desarrollador utiliza los componentes sin necesidad de saber su ubicacin fsica. Con RPC tanto en el cliente como en la mquina donde reside el componente hay subsistemas que se ocupan de la comunicacin y el intercambio de datos.