Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ISBasadi en Componentes
ISBasadi en Componentes
IS II
ISBC
ISBC
JavaBeans
COM (Component Object Model)
IS II
ISBC
Conceptos bsicos
Componente software
Caracteristicas:
Autocontenido
Accesible solamente a travs de su interfaz
Inmutabilidad de sus servicios
Documentacin de sus servicios
Reemplazable por otro componente
IS II
ISBC
Conceptos bsicos
Autocontenido
ISBC
Conceptos bsicos
IS II
ISBC
Conceptos bsicos
Est documentado
Es reemplazable
IS II
ISBC
Conceptos bsicos
Modelo de componentes
Un Modelo de componentes define la forma de sus interfaces y
los mecanismos para interconectarlos, en la actualidad existen
multitud de modelos de componentes definidos:
COM
JavaBeans
VCL
CORBA
kParts
Bonobo
OpenDoc
IS II
ISBC
Conceptos bsicos
Plataforma de componentes
Entorno de desarrollo y de ejecucin de componentes que
permiten aislar la mayor parte de las dificultades
conceptuales y tcnicas que conlleva la construccin de
aplicaciones basadas en los componentes de un modelo de
componentes concreto (frameworks de componentes),
ejemplos:
Windows COM
.NET
Java Virtual Machine
Orbix - CORBA
IS II
ISBC
Conceptos bsicos
Interfaz de un componente
Determina 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.
Eventos
Especifican la forma en la que el componente notifica al
exterior una respuesta a un estmulo externo o bien un
cambio en una condicin interna. Se especifica la signatura
y la condicin para que se produzca, pero no cmo tratarlo.
IS II
ISBC
Conceptos bsicos
IS II
ISBC
10
Conceptos bsicos
Contenedores
Entidades software que permiten contener a otras entidades
proporcionando un entorno compartido de interaccin.
Normalmente objetos y componentes visuales que a su vez
pueden contener otros componente visuales.
Formulario
IS II
Panel
Botn
Panel
StatusBar
ISBC
ScrollBar
11
Conceptos bsicos
IS II
ISBC
12
Conceptos bsicos
Meta-informacin
Informacin adicional de un componente que suele hacerse
pblica. La idea es que con esta informacin un componente
puede saber cmo utilizar otro componente: Reflexin
Informacin general
Dependencias externas
Interfaces
Otros atributos del componente: uso de
memoria o consumo de procesador.
IS II
ISBC
13
Conceptos bsicos
Eclipse
Delphi
Builder C++
Visual Studio .NET
KDeveloper
IS II
ISBC
14
Conceptos bsicos
Interoperabilidad
Capacidad de dos o ms componentes para comunicarse y
cooperar de forma compatible entre s.
Interoperabilidad sintctica:
sintctica Signatura (tipos)
de los argumentos.
Interoperabilidad a nivel de protocolos:
protocolos
Ordenes relativos de los mensajes recibidos y
la sincronizacin entre ellos.
Interoperabilidad semntica:
semntica Las anteriores y
adems la funcionalidad de las operaciones.
IS II
ISBC
15
Conceptos bsicos
Estndares de
interoperabilidad:
Garantizan la interoperabilidad, ejemplo IIOP:
El protocolo IIOP (Internet Inter-ORB Protocol) es un
estndar del sector que puede utilizarse para proporcionar
comunicacin entre programas de aplicacin orientados a
objetos que se ejecuten en diferentes procesadores. Forma
parte de la especificacin CORBA (Common Object Request
Broker Architecture).
IS II
ISBC
16
Conceptos bsicos
Szyperski:
IS II
ISBC
17
Programacin Orientada a
Componentes
IS II
ISBC
18
POC Vs POO
ISBC
19
POC Vs POO
Reutilizacin
ISBC
20
POC Vs POO
IS II
ISBC
21
POC Vs POO
IS II
ISBC
22
POC Vs POO
ISBC
23
IS II
ISBC
24
Entornos
Un entorno es el conjunto de recursos y componentes que
rodean al componente dado, y que definen las acciones
que sobre l se solicitan, as como su comportamiento. Se
pueden definir al menos dos clases de entornos para los
componentes: el entorno de ejecucin y el de diseo. En
primero de ellos es el ambiente para el que se ha
construido el componente, y en donde se ejecuta
normalmente. El entorno de diseo es un ambiente
restringido, que se utiliza para localizar, configurar,
especializar y probar los componentes que van a formar
parte de una aplicacin, y en donde los componentes han
de poder mostrar un comportamiento distinto a su
comportamiento normal durante su ejecucin
IS II
ISBC
25
Eventos
Los eventos suelen ser emitidos por los
componentes para avisar a los componentes de su
entorno de cambios en su estado o de
circunstancias especiales, como pueden ser las
excepciones
Reflexin
La reflexin es la habilidad de una entidad software
de conocer o modificar su estado. A la primera
forma se le denomina reflexin estructural, y a la
segunda reflexin de comportamiento
IS II
ISBC
26
Composicin tarda
Composicin que se realiza en un tiempo
posterior al de la compilacin del
componente, como puede ser durante su
enlazado, carga o ejecucin, y por alguien
ajeno a su desarrollo, es decir, que slo
conoce al componente por su interfaz o
contrato, pero no tiene porqu conocer ni
sus detalles de implementacin, ni la forma
en la que fue concebido para ser usado
IS II
ISBC
27
Polimorfismo
Habilidad de un mismo componente de mostrarse de
diferentes formas, dependiendo del contexto; o bien la
capacidad de distintos componentes de mostrar un
mismo comportamiento en un contexto dado, en POO el
polimorfismo esta relacionado con la herencia y la
sobre-escritura de mtodos, en POC este concepto esta
basado en las interfaces:
Implementacin de varias interfaces para adaptarse
a contextos determinados
Reemplazar un componente por otro que
implemente la misma interfaz
IS II
ISBC
28
POC: Problemas
Clarividencia
Este problema se refiere a la dificultad con la
que se encuentra el diseador de un
componente al realizar su diseo, no conoce ni
quin lo utilizar, ni cmo, ni en que entorno,
ni para que aplicacin; Este problema est
intrnsecamente ligado a la composicin tarda
y reusabilidad de los componentes
Solucin: Ingeniera del Dominio.
IS II
ISBC
29
POC: Problemas
ISBC
30
POC: Problemas
Interoperabilidad
IS II
ISBC
31
Ingeniera de software
basada en
En la Ingeniera de Software Basada en componentes
componentes
(Component Based Software Engineering CBSE) el
IS II
ISBC
32
ISBC: Objetivos
ISBC
33
ISBC: Objetivos
IS II
ISBC
34
ISBC: Objetivos
IS II
ISBC
35
ISBC: Objetivos
ISBC
36
ISBC: Objetivos
Objetivo deseable:
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.
IS II
ISBC
37
IS II
ISBC
38
ISBC: Reutilizacin
IS II
ISBC
39
ISBC: Reutilizacin
IS II
ISBC
40
ISBC: Reutilizacin
Reutilizacin caja-negra:
Reutilizacin caja-blanca:
IS II
ISBC
41
ISBC: Reutilizacin
el tiempo de entrega
los costos
IS II
ISBC
42
ISBC: Composicin
ISBC
43
ISBC: Composicin
Distribucin de componentes:
Los componentes deben ser incluidos en un framework antes de ser
compuestos o ejecutados. Los contratos (1) de distribucin describen
la interfaz que el componente debe implementar para que el
framework pueda gestionar sus recursos
IS II
ISBC
44
ISBC: Composicin
Distribucin de frameworks:
Los frameworks pueden ser distribuidos dentro de otros frameworks.
Por ejemplo, la especificacin de EJB lleva a la prctica parcialmente
esta idea con los contenedores EJB incluidos en los servidores EJB. El
contrato (1) es anlogo al contrato expuesto en la distribucin de
componentes.
IS II
ISBC
45
ISBC: Composicin
Composicin simple:
Los componentes distribuidos en el mismo framework pueden ser
compuestos. El contrato de composicin (1) expresa funcionalidad
especfica del componente y de la aplicacin. Los mecanismos de
interaccin para soportar el contrato los ofrece el framework.
IS II
ISBC
46
ISBC: Composicin
Composicin heterognea:
El soporte de frameworks por capas implica una composicin de
componentes a travs de frameworks, se necesitan contratos de puente
(1) a parte de los contratos de composicin (2)
IS II
ISBC
47
ISBC: Composicin
IS II
ISBC
48
ISBC: Composicin
Composicin transitiva:
Un componente puede ser a su vez un compuesto. El contrato (1) se
utiliza para componer C1 y C3, que contiene a su vez uno o ms
componentes. La cuestin que surge es si C2 es visible fuera de C3 y
si puede ser distribuido independientemente
IS II
ISBC
49
ISBC
IS II
ISBC
50
ISBC: Ingeniera de
Dominio
ISBC
51
ISBC: Ingeniera de
Dominio
la ingeniera de dominio
La ingeniera de dominio se centra en el desarrollo de elementos
reutilizables que formarn la familia de productos
la ingeniera de aplicacin
la ingeniera de aplicacin se orienta hacia la construccin o
desarrollo de productos individuales, pertenecientes a la familia de
productos, y que satisfacen un conjunto de requisitos y
restricciones expresados por un usuario especfico
IS II
ISBC
52
ISBC: Ingeniera de
Dominio
IS II
ISBC
53
ISBC: Ingeniera de
Dominio
ISBC
54
ISBC: Ingeniera de
Dominio
IS II
ISBC
55
ISBC: Ingeniera de
Dominio
IS II
ISBC
56
ISBC: FODA
ISBC
57
ISBC: FODA
IS II
ISBC
58
ISBC: FODA
IS II
ISBC
59
ISBC: FODA
IS II
ISBC
60
ISBC: FODA
IS II
ISBC
61
ISBC: FODA
7. Implementacin, certificacin y
empaquetado de los elementos
reutilizables
El subconjunto ms importante de componentes
reutilizables (assets) candidatos se implementan y se
distribuyen como elementos reutilizables certificados, bajo
una poltica de gestin de la configuracin. El resto de
elementos reutilizables sern implementados cuando se
necesiten.
IS II
ISBC
62
ISBC
Procesos gemelos
Anlisis del
Dominio
modelos
de
anlisis
Diseo de la
Arquitectura
Especificacin
De Componentes
IS II
Diseo del
Dominio
Desarrollo de
Componentes
diseos
genricos
Bsqueda de
Componentes
componentes
Adapt / Des.
Componentes
ISBC
Integracin de
Componentes
63