´Indice general
´Indice general
´Indice general
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
12<br />
CAPÍTULO 2. CALIDAD, REUSO Y MODELOS<br />
Sin embargo, las expectativas de reuso de las clases no se cumplieron.<br />
Porque en C++ las clases sólo se pueden usar dentro del contexto específico<br />
de las aplicaciones para las que fueron desarrolladas y son dependientes de<br />
la plataforma. Y en el caso de Java las clases son funcionalmente similares<br />
a las de C++ aunque añaden el beneficio de ser multiplataforma. De<br />
cualquier manera la programación orientada a objetos dio un gran paso en<br />
la dirección correcta para resolver el problema del reuso. Porque las clases<br />
hacen posible que los programadores se olviden de procedimientos y datos<br />
y manejen solamente objetos.<br />
Pero la aspiración de los desarrolladores de software en la era de Internet<br />
es que el código pueda ser reusado independientemente de plataforma y del<br />
lenguaje de programación y darle así al software una oportunidad para crecer<br />
y expandirse. La solución a esta aspiración parece haberla proporcionado la<br />
tecnología de componentes de software desarrollada por Sun Microsystems<br />
[20]. Se trata de los Java Beans. Esta tecnología de componentes denominada<br />
JAVA Beans es una API (Application Program Interface) independiente de<br />
plataforma y de arquitectura. Permite crear y usar componentes Java de<br />
software 1 .<br />
Una forma fácil de entender el software de componentes es con ejemplos.<br />
Un subconjunto de componentes está constituido por las componentes<br />
visuales que son componentes de software que tienen una representación visual.<br />
El ejemplo más simple de un componente visual es un botón (button),<br />
el cual es un elemento gráfico que puede ser usado por muchas herramientas<br />
builder (Application Builder Tools). Un botón funciona como una unidad<br />
autocontenida fácilmente integrable en aplicaciones. Y con un builder es<br />
muy fácil de añadir: basta hacer un click.<br />
Puesto que GATE está basado en Beans, necesitamos algunas definiciones<br />
más sobre los Java Beans. La arquitectura definida por un modelo de<br />
componentes de software se encarga de determinar cómo van a interactuar<br />
las componentes en un entorno dinámico. El software de componentes define<br />
dos elementos fundamentales: componentes y contenedores. La parte<br />
de componentes se encarga de definir las formas en que las componentes<br />
1 A pesar de que la documentación de Java habla de componentes, otro término equivalente<br />
y usado también con mucha frecuencia es el de módulos. La idea básica es el<br />
ensamblado de unidades autocontenidas de software (módulos o componentes) para formar<br />
aplicaciones más complejas. Y a esta idea básica se le llama modularidad. Es decir,<br />
un sistema que consiste de módulos acoplados se dice que es modular. Sería más difícil<br />
de aceptar la palabra componencialidad. Por eso, a pesar de que aquí estamos usando la<br />
documentación de Java y por eso usamos componentes, en otros lugares usaremos módulos<br />
en forma equivalente