ebook img

UNIVERSIDAD DE OVIEDO TESIS DOCTORAL LIIBUS: Arquitectura de Sistemas Interoperables ... PDF

389 Pages·2005·8.42 MB·Spanish
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview UNIVERSIDAD DE OVIEDO TESIS DOCTORAL LIIBUS: Arquitectura de Sistemas Interoperables ...

UNIVERSIDAD DE OVIEDO Departamento de Informática TESIS DOCTORAL LIIBUS: Arquitectura de Sistemas Interoperables entre Middlewares Heterogéneos usando Máquinas Abstractas Reflectivas Orientadas a Objetos. Presentada por: Francisco Domínguez Mateos para la obtención del título de Doctor en Informática. Dirigida por el Profesor Doctor. D. Juan Manuel Cueva lovelle. Mayo de 2005 Agradecimientos A mi madre, a la memoria de mi padre y a mi hermano Quiero agradecer desde estas líneas todo el apoyo moral y material recibido por parte de todos mis eternos amigos del Departamento de Informática de Oviedo, especialmente a Paco, Belén, Hernán, Elena y María Jesús, que desde que los conocí han estado ahí con un consejo o alguna palabra de aliento. Gracias también, a mis compañeros y amigos del área de Lenguajes y Sistemas de la Universidad Rey Juan Carlos, con quien he pasado momentos inolvidables y en especial a Rafa, Maxi, Ángel Sánchez y Belén Moreno, quienes me han apoyado en todo lo que en sus manos ha estado para que lleve a buen puerto este trabajo. Un agradecimiento especial para mi compañera de despacho Ascensión. Sin ella habría sido imposible conseguir un acabado tan digno y cuya amistad me ha enriquecido como persona. A Madjid sin el cual no podría haberse hecho realidad la mención europea de esta tesis y cuyo apoyo siempre ha sido incondicional. A mis amigos personales Fernando, Rober, Fernando Adrián, Javi López, Javi Hernán, María, gracias a mi contacto con ellos he bajado a la realidad y salido del mundo de las ideas donde tiendo a subir. Una especial mención a Federico, por su noble visión de la vida y la amistad. Es imprescindible mencionar a mi Director de Tesis, Juan Manuel Cueva, cuyo estímulo constante, apoyo incondicional y su comprensión, al abandonar parte de su tiempo de otros proyectos, para finalizar este, han sido decisivos. Finalmente, esta Tesis no se habría terminado sin la ayuda de mi querida Irene. Su constante presencia y aliento durante estos últimos meses, donde ha tenido que sufrir mi inevitable estrés, han sido determinantes para afrontar con ganas e ilusión la última parte de su realización. i Resumen El creciente uso de dispositivos basados en computadoras tanto en el trabajo como en casa, debido a sus muchas aplicaciones, hace que sea muy importante construir sistemas de comunicación entre ellos de forma homogénea. Uno de los principales retos para conseguir un sistema integrado es el problema de la heterogeneidad. Un sistema heterogéneo es el que está construido por muchas partes diferentes como son: sus interfaces, el software, hardware, sistemas operativos, lenguajes de programación y protocolos de red. En todos los niveles encontramos muchas soluciones a la heterogeneidad, desde el nivel de heterogeneidad físico, a nivel de enlace, de red, de transporte, etc. En ellos surgieron multitud de problemas que hoy en día están solucionados. Un claro ejemplo de éxito a nivel de transporte y de red es Internet, que nos permite conectar dispositivos completamente heterogéneos, desde teléfonos móviles y computadores, hasta electrodomésticos como la lavadora o dispositivos domóticos. La clave de su éxito es la estandarización global de sus protocolos. Sin embargo a niveles físicos y de enlace, aún no se ha conseguido obtener una solución general, si bien hay multitud de soluciones parciales. Como, por ejemplo, adaptadores, puentes, buses, ruters, conmutadores y túneles. Uno de los niveles en los que hoy en día no ha sido solucionado el problema de la heterogeneidad es el de middleware o comunicación entre procesos distribuidos. Inicialmente los sistemas middleware se desarrollaron para resolver el problema de heterogeneidad entre comunicación de aplicaciones, a nivel de lenguajes y plataformas y, en este sentido, tuvieron éxito. No obstante la proliferación de este tipo de sistemas ha transferido este problema al de la heterogeneidad entre los propios middlewares. De tal forma que, dos middleware diferentes como CORBA o Java RMI no pueden interoperar. El problema de la comunicación entre aplicaciones es crucial ya que la tecnología de la información está evolucionando hacia una interacción de aplicaciones a través de la red Internet. Inicialmente, surgieron las aplicaciones en Internet para realizar comunicación entre humanos o entre humanos y aplicaciones. Buena muestra de ello son: Email, Ftp, Web, Telnet, IRC. Pero, hoy en día, la necesidad de interacción entre aplicaciones a través de Internet se está demandando más y más. Por ejemplo, una aplicación de nóminas podría necesitar interoperar con una cuenta bancaria para realizar las transferencias de los sueldos de los empleados y esta interacción puede realizarse sobre algún tipo de plataforma middleware. Pero, ¿qué ocurre si la aplicación de nóminas utiliza Java RMI y el sistema bancario utiliza Servicios Web? Nuestro objetivo en esta tesis es proponer un modelo arquitectónico que nos permita construir sistemas que solucionen el problema de la interoperabilidad heterogénea entre aplicaciones, tratando de conseguir la mayoría de características descritas más adelante. iii Intención de esta tesis En esta tesis pretendemos definir un modelo arquitectónico para construir buses para plataformas de interoperabilidad middleware heterogéneas, de forma sencilla y estructurada. Para ello, basaremos nuestro modelo en máquinas abstractas reflectivas orientadas a objetos. Pero, para alcanzar estos objetivos, antes hemos tenido que realizar las siguientes tareas: - Identificar y enmarcar el problema de la interoperabilidad heterogénea entre los sistemas de comunicación de procesos distribuidos. - Descubrir en qué medida pueden las máquinas abstractas reflectivas orientadas a objetos ayudarnos a conseguir solucionar el problema identificado. - Definir las características que debe tener un sistema que permita la interoperabilidad entre plataformas heterogéneas. - Enumerar las técnicas se están aplicando actualmente para resolver el problema de la heterogeneidad. Con este fin, hemos analizado un amplio abanico de documentación acerca de las técnicas que permiten la interoperabilidad heterogénea entre dos o más plataformas específicas. El modelo arquitectónico debe permitir que las arquitecturas resultantes de su instanciación permitan el desarrollo de sistemas con las siguientes características: - Heterogeneidad, permitiendo la interoperabilidad entre lenguajes diferentes, sistemas operativos heterogéneos y plataformas middleware distintas. - Transparencia, de tal forma que elementos de una determinada plataforma vean los elementos de las plataformas externas como si perteneciesen a su misma plataforma. - Tecnología no intrusiva, no es necesario realizar ningún cambio en las aplicaciones existentes o en las nuevas pensadas para una plataforma específica. - Extensibilidad, deberá ser sencillo extender el sistema con mecanismos de comunicación futuros. Incluso deberá ser posible construir una extensión de una nueva plataforma desde otra plataforma diferente. - Adaptación automática, los envoltorios necesarios para la interoperabilidad se crean solamente si son necesarios y de forma automática, sin necesidad de intervención humana o configuración inicial. Aunque, si es necesaria, sea posible realizarla. - Uniformidad, los objetos externos no tienen ninguna diferencia con los objetos internos. iv - Integrabilidad, podemos interactuar con otras aplicaciones o extender el sistema con servicios adicionales para monitorizar, configurar, planificar, etc. Todo esto de forma sencilla, sin que el programador tenga que aprender una plataforma diferente a la que él está acostumbrado. Aporte de este trabajo Para conseguir alcanzar los retos expuestos anteriormente, propondremos nuestro modelo arquitectónico que nos proveerá las siguientes novedosas contribuciones: - Una taxonomía de tecnologías de comunicación utilizadas para resolver el problema de la interoperabilidad heterogénea. - Definición de una máquina abstracta orientada a objetos básica y genérica, de alto nivel de abstracción. - Una serie de técnicas para añadir reflectividad estructural y de comportamiento a máquinas abstractas. - La contribución principal que es LIIBUS, una Arquitectura de Sistemas Interoperables entre Middlewares Heterogéneos usando Máquinas Abstractas Reflectivas Orientadas a Objetos. - Tres instancias bidireccionales de este modelo para las siguientes plataformas: CORBA, DCOM y Servicios Web. - Un prototipo basado en la máquina abstracta de Oviedo3, denominada Carbayonia, que permitirá la interoperabilidad de Servicios Web a objetos DCOM. - La idoneidad de las máquinas abstractas como base para construir motores de transformaciones e interoperabilidad. - Una proposición para un nuevo paradigma de desarrollo del software utilizando máquinas abstractas como base para la construcción de sistemas software. Palabras Clave Interoperabilidad, sistemas heterogéneos, middleware, sistemas distrubuidos, máquinas abstractas, reflectividad, instrospección, arquitecturas, patrones de diseño, objetos, computación masiva, integración de aplicaciones, arquitecturas orientadas a servicios. v

Description:
software. Palabras Clave. Interoperabilidad, sistemas heterogéneos, middleware, sistemas distrubuidos, máquinas abstractas, reflectividad public class Cliente { public static void main(String[] args) {. // Inicializamos el ORB. CORBA.ORB orb = CORBA.ORB.init();. // Localizamos un objeto Cuenta.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.