1 / 15

Como Desarrollar SW Distribuido de Calidad

Como Desarrollar SW Distribuido de Calidad. ¿Como podemos desarrollar software de calidad para sistemas distribuidos? ¿Cómo pueden interoperar diferentes tecnologías en un mismo sistema? Necesidad de cambiar de tecnología cada 20 años. ¿Qué hacemos con los sistemas antiguos?.

caroline
Download Presentation

Como Desarrollar SW Distribuido de Calidad

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Como Desarrollar SW Distribuido de Calidad ¿Como podemos desarrollar software de calidad para sistemas distribuidos? ¿Cómo pueden interoperar diferentes tecnologías en un mismo sistema? Necesidad de cambiar de tecnología cada 20 años. ¿Qué hacemos con los sistemas antiguos?

  2. Evolución de la programación • La programación ha evolucionado. • Hemos pasado de lenguajes de bajo nivel como C, pasando por FORTRAN hasta llegar a C++ o Java. • Antes se dedicaba un 20% del tiempo a desarrollar, un 60% a programar y un 20% a las pruebas. • Ahora se emplea un 60% del tiempo al desarrollo, un 20% a la programación y otro 20% a las pruebas. • Ahora la mayor parte del peso de un proyecto recae en el trabajo previo a la programación. • Para la realización de un proyecto de calidad, hay que partir de unas buenas especificaciones.

  3. Una solución: MDA • MDA es una forma de modelar SW distribuido. • La especificación completa de MDA consta de: • Modelo independiente de la plataforma (PIM) basado en UML. • Varios modelos específicos de la plataforma (PSM) • Descripciones de cómo pasar de PIM a un PSM.

  4. Una aplicación desarrollada con la ayuda de MDA consta de: Un modelo independiente de la plataforma (PIM). Una o varias implementaciones concretas (PSMs), una por cada aplicación que se quiera soportar. Una solución: MDA

  5. Pero, ¿qué es MDA? • MDA son las siglas de Model Driven Architecture (Arquitectura de conducción del modelado). • Ha sido desarrollado por el OMG. • Esta basado en el modelado con UML. • MDA nos permite unir diferentes implementaciones mediante puentes. • MDA nos permite construir aplicaciones independientemente de la plataforma (PIM). • Nos permite controlar el ciclo de vida completo del software: • Análisis • Diseño • Implementación • Desarrollo • Mantenimiento • Hay otras plataformas para desarrollar Sistemas Distribuidos, como .NET, pero estas son individuales.

  6. El OMG • El OMG está formado por un consorcio de empresas, entre las que se encuentran: • Compaq • Ericsson • Fujitsu • Microsoft • NASA • Sun • Oracle • Algunos de los logros más importantes del OMG han sido: • CORBA (Common Object Request Broken Architecture) • UML (Unified Modeling Language) • XML (Metadata Interchange) • Desde 1989, el OMG ha trabajado desarrollando una arquitectura para el diseño de aplicaciones distribuidas. Como resultado tenemos el MDA.

  7. Relación entre UML y MDA • Breve historia de UML: • UML es una metodología para el desarrollo de SW OO. • UML es el sucesor de las diferentes notaciones OO de los años 90. • OMG desarrolló UML entre el 96 y el 97. • Los modelos UML se pueden implementar en cualquier plataforma, pero la gran proliferación de middleware, recomienda la utilización de un modelado UML independiente de la plataforma. • MDA está basado en el modelado UML independiente de la plataforma (PIM). • Además MDA tiene varios modelos específicos (PSM) • La fuerza de MDA está en que todas las aplicaciones desarrolladas con MDA, están basada en un modelado UML, que es un estándar reconocido.

  8. Diseño con MDA (I) • Primero se crea un modelo independiente de la plataforma (PIM). • Representará el modelo de negocio, la funcionalidad y el comportamiento del sistema. • No tendremos la complicación añadida de pensar en una plataforma concreta. Platform Independent Model

  9. Corba Model Java Model XML/SOAP Model Diseño con MDA (II) • Con MDA podemos aplicar un mapping para generar un modelo dependiente de la plataforma (PSM) a partir del PIM. • Se puede mapear el PIM a diferentes tecnologías gracias al mapping estándar del OMG. • A las futuras tecnologías se les podrá dar también soporte. Platform Independent Model

  10. Corba Model Java Model XML/SOAP Model Diseño con MDA (III) • También se podrá generar código de forma automática. Platform Independent Model Corba System Java System XML/SOAP System

  11. Platform Independent Model Corba Model Java Model Corba System Java System Bridge Diseño con MDA (IV) • La interoperabilidad entre diferentes tecnologías es un punto crucial. • La generación de puentes se simplifica con el PIM. • Las herramientas MDA generan puentes de forma automática uniendo las diferentes implementaciones. • Se consigue una simplificación substancial en la creación de aplicaciones integradas.

  12. PIM (Platform Independent Model) Platform Specific Models Build/Test Ciclo de Desarrollo • A la hora de diseñar un sistema distribuido, comenzaremos con un modelo independiente de la plataforma. Nuestro sistema podrá adaptarse a las nuevas tecnologías, ya que en su base es independiente de estas.

  13. Servicios disponibles en MDA • Para el desarrollo de sistemas distribuidos se precisa de un conjunto de servicios, como los que ofrece CORBA. • En MDA, a estos servicios se los conoce como Pervasive Services (Servicios Extendidos). • Independientemente de la plataforma utilizada, se dará servicio a toda aplicación o cliente, gracias a los puentes que automáticamente genera MDA. • OMG define cuatro Servicios: • Servicios de Directorio. • Servicios de Transacción. • Servicios de Seguridad. • Servicios de Notificación.

  14. Beneficios de usar MDA • Soporte completo para el ciclo de vida de la aplicación • Reducción de costos desde el principio hasta el fin • Reutilización de código, aplicaciones, experiencia • Representación independiente de la tecnología • Escalabilidad y robustez • Está predestinado a ser un estándar • Interoperatividad entre diferentes tecnologías

  15. Futuro del MDA • Según Paul Harmon: • Se incluirá MDA dentro de los paquetes para el modelado OO y herramientas de desarrollo. • Transcurrirán unos dos años antes de que emerja de forma natural las herramientas MDA. • Es muy posible que el mercado de MDA crezca de forma rápida, gracias a todo lo que tiene detrás: UML, MOF, CWM • Casi todas las herramientas de modelado UML se desarrollaron en 3 años.

More Related