Você está na página 1de 20

INSTITUTO TECNOLOGICO SUPERIOR DE PANUCO

LIC. EN INFORMATICA

UNIDAD 1. Panorama general de las aplicaciones distribuidas.


Un sistema distribuido es aquel en el que los componentes localizados en computadores, conectados en red, comunican y coordinan sus acciones nicamente mediante el paso de mensajes. Existen redes de computadores como Internet, como lo son las muchas redes de las que se compone. Las redes de telfonos mviles, las redes corporativas, todas, tanta separadas como combinadas comparten caractersticas esenciales que las hacen elementos importantes para su estudio bajo el titulo de sistemas distribuidos. Hay tres ejemplos de sistemas distribuidos: * Internet. * Una Intranet. * La computacin mvil y ubicua. EJEMPLOS DE SISTEMAS DISTRIBUIDOS Estn basados en redes de computadores conocidos y utilizados ampliamente: INTERNET Internet es una vasta coleccin de redes de computadas de diferentes tipos interconectados. El diseo y la construccin de los mecanismos de comunicacin Internet (los protocolos Internet) es una realizacin tcnica fundamental, que permite que un programa que se est ejecutando en cualquier parte dirija mensajes a programas en cualquier otra parte. Internet es tambin un sistema distribuido muy grande, permite a los usuarios hacer uso de servicios como el World Wide Web, el correo electrnico, y la transferencia de ficheros. A veces se confunde incorrectamente el Web con Internet. El conjunto de servicios es abierto, puede ser extendido por la adicin de los servidores y nuevos tipos de servicios. Los proveedores de servicios de Internet (ISP) son empresas que proporcionan enlaces de mdem y otros tipos de conexin a usuarios individuales y pequeas organizaciones. Las intranets estn enlazadas conjuntamente por conexiones troncales (backbone). Una conexin o red troncal es un enlace de red con una gran capacidad de transmisin, que puede emplear conexiones de satlite, cables de fibra ptica y otros circuitos de gran ancho de banda. En Internet hay disponibles servicios multimedia, que permite a los usuarios el acceso de datos de audio y video. INTRANETS Una Intranet es una porcin de Internet que es administrada separadamente y que tiene un lmite que puede ser configurado para hacer cumplir polticas de seguridad local. Est compuesta de varias redes de rea local (LANs) enlazadas por conexiones backbone. La configuracin de red de una Intranet particular es responsabilidad de la organizacin que la administra. Una Intranet est conectada a Internet por medio de un encaminador (router), lo que permite a los usuarios hacer uso de servicios de otro sitio y acceder a los servicios que ella proporciona a los usuarios de otras intranets. Muchas organizaciones necesitan proteger sus propios servicios frente al uso no autorizado de programa nocivos.

LIC. ERICK DE PAZ

INSTITUTO TECNOLOGICO SUPERIOR DE PANUCO


LIC. EN INFORMATICA
El papel del cortafuegos es proteger una intranet impidiendo que entren o salgan mensajes no autorizados. Algunas organizaciones no desean conectar sus redes internas a Internet. La solucin que se adopta es realizar una intranet, pero sin conexiones a Internet. COMPUTACIN MOVIL Y UBICUA Los avances tecnolgicos han llevado cada vez ms a la integracin de dispositivos de computacin pequeos y porttiles en sistemas distribuidos. Estos dispositivos incluyen: Computadores porttiles. Dispositivos de mano (handheld), entre los que se incluyen asistentes digitales personales (PDA), telfonos mviles, etc. Dispositivos que se pueden llevar puestos. Dispositivos insertados en aparatos. La facilidad de transporte en muchos de estos dispositivos, junto con su capacidad para conectarse adecuadamente a redes en diferentes lugares, hace posible la computacin mvil. Los usuarios acceden a los recursos mediante los dispositivos que llevan con ellos. Y se est incrementando la posibilidad de que utilicen recursos, como impresoras, que estn suficientemente prximos a donde se encuentren. Esto ltimo se conoce como computacin independiente de posicin. Computacin ubicua es la utilizacin concertada de muchos dispositivos de computacin pequeos y baratos que estn presentes en los entornos fsicos de los usuarios, sin que estos se den cuenta de ellos. O sea, su comportamiento computacional estar ligado con su funcin fsica de forma ntima y transparente. La computacin ubicua y mvil se solapan. Pero, son distintas. La computacin ubicua podr beneficiar a los usuarios mientras permanecen en un entorno sencillo como su casa o un hospital. De forma similar, la computacin mvil tiene ventajas si slo se consideran computadores convencionales y dispositivos como computadores porttiles e impresoras.

1.1 Evolucin de las aplicaciones informticas.


La evolucin de las aplicaciones informticas se dio debido a los siguientes factores: 1. 2. 3. 4. Trabajo a distancia. Compartir informacin. Accesibilidad. 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.

LIC. ERICK DE PAZ

INSTITUTO TECNOLOGICO SUPERIOR DE PANUCO


LIC. EN INFORMATICA

Evolucin de las aplicaciones informticas

LIC. ERICK DE PAZ

INSTITUTO TECNOLOGICO SUPERIOR DE PANUCO


LIC. EN INFORMATICA

1.1.1 AplicaAplciones Monolticas.


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. En este rubro estn considerados las distintas aplicaciones para escritorio: sistemas operativos, ofimtica, juegos monousuario, etc.

Elementos de una aplicacin monoltica.

LIC. ERICK DE PAZ

INSTITUTO TECNOLOGICO SUPERIOR DE PANUCO


LIC. EN INFORMATICA

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.

Ejemplos de aplicaciones cliente/servidor.

LIC. ERICK DE PAZ

INSTITUTO TECNOLOGICO SUPERIOR DE PANUCO


LIC. EN INFORMATICA

LIC. ERICK DE PAZ

INSTITUTO TECNOLOGICO SUPERIOR DE PANUCO


LIC. EN INFORMATICA

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.

Existen herramientas para el desarrollo en dos capas por ejemplo Visual Basic, Access y SQL.

LIC. ERICK DE PAZ

INSTITUTO TECNOLOGICO SUPERIOR DE PANUCO


LIC. EN INFORMATICA

APLICACIONES DE TRES CAPAS 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.

Aplicacin de tres capas. Por estas razones, existe una fuerte y bien avanzada tendencia a adoptar una arquitectura de tres capas.

Y es as que se cre la arquitectura de tres capas las cuales son: 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. PPPNivel 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

LIC. ERICK DE PAZ

INSTITUTO TECNOLOGICO SUPERIOR DE PANUCO


LIC. EN INFORMATICA
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. Las herramientas para el desarrollo de tres capas son: Visual Basic en lo que se refiere a la capa de Aplicacin SQL Server en lo que se refiere al repositorio de datos. MTS en lo que se refiere al nivel del dominio de Aplicacin (Microsoft Transaction Server,
software whose functionality is now in COM+).

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.

LIC. ERICK DE PAZ

INSTITUTO TECNOLOGICO SUPERIOR DE PANUCO


LIC. EN INFORMATICA

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.

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. 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.

Nosotros podemos tomar estos tipos de servicios y generalizarlos dentro de los tres grupos o capas que a continuacin se resumen: Interfase de usuario (Capa de Presentacin) Interactuar con otros usuarios. Interactuar con aplicaciones externas o servicios. Procesos de negocios (Capa de Negocios) Clculos u otros procesos de negocios. Ejecucin de reglas de negocios. Validacin de datos relacionados al negocio. Procesos de datos (Capa de Servicios de Datos). Manipulacin de datos. Ejecucin de las reglas de datos relacional.

10

LIC. ERICK DE PAZ

INSTITUTO TECNOLOGICO SUPERIOR DE PANUCO


LIC. EN INFORMATICA

Esquema de una aplicacn distribuida

1.2 Evolucin de las tecnologas para el desarrollo de aplicaciones distribuidas. Hoy en da las compaas no pueden ignorar el grave problema que implica desarrollar y adaptar software al ritmo que imponen los negocios. Los requisitos varan con mucha frecuencia y las aplicaciones no logran ser desarrolladas y/o adaptadas al ritmo requerido. La globalizacin y fusin de empresas, el crecimiento de Internet, entre otros factores, han acentuado an ms estos problemas llevando el software desarrollado, que normalmente haba sido desarrollado para una plataforma especfica, a un ambiente distribuido heterogneo. Esto involucra, en consecuencia, La necesidad de considerar una amplia gama de aspectos como lo son la integracin de datos heterogneos, la interaccin entre diversos sistemas, los distintos sistemas operativos, el middleware, las tecnologas web, cuestiones de escalabilidad y performance, por citar algunos de ellos.

11

LIC. ERICK DE PAZ

INSTITUTO TECNOLOGICO SUPERIOR DE PANUCO


LIC. EN INFORMATICA

La evolucin de las tecnologas cliente/servidor sumada al advenimiento de nuevas tecnologas como XML, web services , la plataforma J2EE, la comunicacin asncrona por medio de mensajes, el uso de application servers , son algunos de los conocimientos que permiten llevar a cabo el desarrollo de aplicaciones modernas. La evolucin de las aplicaciones distribuidas se dio de la siguiente forma: Aplicaciones monolticas. Arquitectura cliente/servidor. Arquitectura de tres capas. Arquitectura de N 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. Esto es importante, especialmente hoy en da, debido a que es muy comn para una aplicacin tener mltiples IU, o para sus clientes o usuarios, que le solicitan que elimine una IU y la remplace con otra.

12

LIC. ERICK DE PAZ

INSTITUTO TECNOLOGICO SUPERIOR DE PANUCO


LIC. EN INFORMATICA

Ejemplo de una interfaz de usuario.

Algunas tecnologas de interfaz de usuario son: API Win 32. HTMAL. Dell HTML. Lenguajes de scrips.

13

LIC. ERICK DE PAZ

INSTITUTO TECNOLOGICO SUPERIOR DE PANUCO


LIC. EN INFORMATICA

1.2.2 De Aplicacin. La adopcin de un diseo distribuido de aplicaciones empresariales, aumenta la reusabilidad, reduce la cantidad de recursos, y los costes necesarios de desarrollo y mantenimiento. Este nuevo enfoque de diseo pone en manos de los desarrolladores no solo la funcionalidad que demandan las aplicaciones, sino tambin la seguridad, rapidez y flexibilidad. Algunas tecnologas de aplicacin son: CORBA. DNA. EJB. XML.

Ejemplo de una interfaz de aplicacin.

14

LIC. ERICK DE PAZ

INSTITUTO TECNOLOGICO SUPERIOR DE PANUCO


LIC. EN INFORMATICA

1.2.3 De Base de 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. Algunas tecnologas de base de datos son: OLEB ADO. XML. SQL. Herramientas para modelado (UML).

15

LIC. ERICK DE PAZ

INSTITUTO TECNOLOGICO SUPERIOR DE PANUCO


LIC. EN INFORMATICA

Ejemplo de una tecnologa de base de datos.

16

LIC. ERICK DE PAZ

INSTITUTO TECNOLOGICO SUPERIOR DE PANUCO


LIC. EN INFORMATICA

1.2.4 De Comunicacin De Datos. La construccin de aplicaciones distribuidas ha emergido como la arquitectura predominante para la construccin de aplicaciones multiplataforma en la mayor parte de las empresas. 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 modularles, representa el desarrollo rpido y avance de la investigacin en el mundo del desarrollo de aplicaciones, tal y como se pone de manifiesto en las ltimas tendencias de las grandes empresas de tecnologa, como Sun con su estrategia Sun One, o Microsoft con DotNET (.Net). Algunas tecnologas de comunicacin de datos son: Intranet. Internet.

Ejemplo de una tecnologa de comunicacin de datos.

17

LIC. ERICK DE PAZ

INSTITUTO TECNOLOGICO SUPERIOR DE PANUCO


LIC. EN INFORMATICA

1.2.5 De Conexin Entre Capas.

Como tecnologa, las arquitecturas de capas proporcionan una gran cantidad de beneficios para las empresas que necesitan soluciones flexibles y fiables para resolver complejos problemas inmersos en cambios constantes. Todas las aplicaciones basadas en capas permitirn trabajar con clientes ligeros, tal como navegadores de Internet, WebTV, Telfonos Inteligentes, PDAs (Personal Digital Assistants o Asistentes Personales Digitales) y muchos otros dispositivos preparados para conectarse a Internet.

De este modo, las arquitecturas de capas se estn posicionando rpidamente como la piedra angular de los desarrollos de aplicaciones empresariales y las compaas estn adoptando esta estrategia a una velocidad de vrtigo como mecanismo de posicionamiento en la economa emergente que tiene su base en la red (lo que se ha venido a denominar "Nueva Economa").

Actualmente, la Red (Internet, intranets y extranets) es el ordenador o, como dira Sun Microsystems, el ordenador es la Red. Este paradigma est creando un cambio fundamental en los modelos de computacin que, a su vez, proporciona desafos y oportunidades como nunca antes haba se haban producido.

Una tecnologa de conexin de capas es: Arquitectura DAO.

18

LIC. ERICK DE PAZ

INSTITUTO TECNOLOGICO SUPERIOR DE PANUCO


LIC. EN INFORMATICA

1.3 Escenarios de utilizacin de las aplicaciones 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 Eduacain a distancia - moddle. Creacin de blogs - Wordpress. Creador de wikis - MediaWiki. Administrar BD en web - PHPMyAdmin.

ASP E-commerce - eCAM. E-commerce - ProdMentor.

19

LIC. ERICK DE PAZ

INSTITUTO TECNOLOGICO SUPERIOR DE PANUCO


LIC. EN INFORMATICA

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 Qu es 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.

20

LIC. ERICK DE PAZ

Você também pode gostar