Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Dr. Pedro Mejia Alvarez Claudia P. Garcia Zamora Samuel Garrido Daniel
Parte 1
Introduccin
Captulo 1: Introduccin
La programacin basada en componentes es aquella que est basada en la implementacin de sistemas utilizando componentes previamente programados y probados. Los componentes estn bien definidos en todas las dems disciplinas de la ingeniera, sin embargo, debido a la propia naturaleza del software, en sta disciplina aun no est todo completamente definido.
Un producto que utiliza los beneficios de los componentes hace uso de una combinacin de productividad e innovacin de todos los vendedores de componentes.
Lecciones Aprendidas
Visual Basic de Microsoft. Java. Enterprise JavaBeans (EJB). COM+. Todos los sistemas operativos modernos. Recientemente, las arquitecturas plugin. Arquitecturas en la web basadas en ASPs Arquitecturas en la web basadas en JSPs Integracin de servidores alrededor de J2EE y COM+ / .NET
Crear un Mercado
Un nuevo producto puede crear un mercado solo si su llegada ya se estaba esperando. Un camino elegante es el que evita crear mercados y se expande cuidadosamente en mercados ya establecidos. (estrategia de Microsoft con su V. Basic en Internet). La produccin de componentes debe ser menos costosa que la produccin de soluciones completas. Adems, el empaquetarlos o ligarlos con componentes relacionados ayuda a disminuir los costos de distribucin; pues algunos componentes no son capaces de sostener, solos, los precios que los podran hacer viables.
El desarrollo de un mercado
ComponentSource ocupa un de los lugares ms amplios dentro del mercado de componentes de software y desarrollo de herramientas. Preferencia por COM (ActiveX).
Tabla 2.1 Productos ofrecidos en ComponentSource
Flashline es otra compaa importante en el mercado de componentes de SW. Comparada con ComponentSource, se enfoca en el desarrollo de componentes para el servidor y tiene preferencia por las tecnologas basadas en Java.
Captulo 3: Estndares
Los estndares son tiles para establecer acuerdos entre los modelos comunes, habilitando en un principio la interoperabilidad.
Los estndares tambin pueden ser usados para crear acuerdos en especificaciones concretas de interfaces, habilitando una composicin efectiva.
Sin embargo, los estndares de dominio especficos plantean hoy la mayora de las preguntas. Deben los estndares venir antes de los productos y de los mercados, o viceversa? Ni los productos ni los bosquejos de estndares han alcanzado un nivel de madurez o de impacto que permita a cualquier prediccin hoy en da.
Parte 2
Fundamentacin
La programacin orientada a componentes se apoya de conceptos que fundamentan este paradigma, as como modelos de diseo, metodologas, estndares e incluso problemas.
Componente
Unidad de composicin de aplicaciones de software, que posee un conjunto de interfaces y un conjunto de requisitos, y que ha de poder ser desarrollado, adquirido, incorporado al sistema y compuesto con otros componentes de forma independiente, en tiempo y espacio.
Componente(ii)
Las terceras partes no pueden acceder a los detalles de construccin del componente.
Debe ser suficientemente autocontenido. Especificaciones claras de lo que requiere y de lo que proporciona. Interacciona con su entorno a travs de interfaces bien definidas. No tener estados observables desde el exterior excepto atributos no funcionales como el nmero de serie.
Componente(iii)
Son unidades de peso pesado, existe solo una copia.
Por tanto, en un proceso se puede decir si hay o no un componente, pero no varias instancias del mismo. Propsito de rehso bien definido. No puede ser parcialmente implementada
Objeto
Un objeto es una unidad de instanciacin con una identidad nica, un estado y un conjunto de operaciones. El estado esta representado por el conjunto de valores que toman las propiedades en un instante de tiempo, el cual vara dinmicamente como resultado de la ejecucin de sus operaciones.
En contraste con las propiedades caractersticas de un componente, las propiedades caractersticas de un objeto son las siguientes: Es una unidad de instanciacin, tiene una nica identidad. Puede tener estados y estos pueden ser observables externamente. Encapsula su estado y comportamiento.
Objeto(ii)
No puede ser parcialmente instanciada.
Como los objetos son instanciados necesitan tener un plan de construccin que describa el espacio del estado, el estado inicial y el comportamiento del nuevo objeto. La clase es la plantilla genrica que define el espacio de estados posibles del objeto y a partir de la cual se pueden instanciar los objetos.
Componentes y Objetos
No hay necesidad para que un componente contenga clases nicamente. Un componente puede contener:
Procedimientos tradicionales, y siempre tener variables globales. Puede ser realizado en su totalidad utilizando programacin funcional. Cualquier otro enfoque.
Interfaces
Determinan las operaciones que el componente implementa como las que precisa utilizar de otros componentes durante la ejecucin. Usualmente son los atributos y mtodos pblicos que el componente implementa ms los eventos que emite.
La especificacin de las interfaces es un contrato. El respeto de este contrato por parte del cliente y componente asegura el xito de la interaccin
Contratos de Especificacin
Un contrato de especificacin establece las condiciones de uso e implementacin que ligan a los clientes y proveedores del componente. Los contratos cubren aspectos tanto funcionales (semntica de las operaciones de la interfaz) como no funcionales (calidad de servicio, prestaciones, fiabilidad o seguridad).
Objetivo: Construir un mercado global de componentes (MGC) cuyos usuarios son los propios desarrolladores de aplicaciones que necesitan reutilizar componentes ya hechos y probados para construir sus aplicaciones de forma ms rpida y robusta o que quieren aadir funcionalidad dependiente de terceros.
Tendencias de la POC
Lenguajes de programacin
Java, Component Pascal, Oberon, Mdula 3 y ADA 95
Problemas de la POC
Clarividencia Percepcin del entorno Falta de soporte formal Interoperabilidad