Publicado el 19 de Enero del 2021
1.376 visualizaciones desde el 19 de Enero del 2021
712,7 KB
38 paginas
Creado hace 17a (13/11/2007)
Tecnologías de
componentes
Tema 4: Tecnologías de
componentes
1.Programación orientada a componentes
2.Características de un componente
3.JavaBeans
4.Aspectos avanzados de las propiedades
5.Generación de eventos
6.Componentes visuales
7.Descripción detallada de beans
Tecnologías de
componentes
Programación orientada a componentes
●A pesar de la aparente evolución que ha sufrido la
programación a lo largo de los últimos 40 años, el
desarrollo de una aplicación continúa siendo una
actividad costosa en tiempo y dinero, y los errores en
el producto final son frecuentes
●El problema es que el nivel de reutilización sigue
siendo muy escaso, a pesar de la multitud de librerías,
toolkits y frameworks existentes
Programación
orientada a
componentes
Tecnologías de
componentes
●El uso de librerías gratuitas/comerciales presenta
varios inconvenientes:
● Su instalación puede ser compleja
● Es frecuente que tengan dependencias con otras librerías
● Suelen tener una aplicación demasiado general: EEDD, GUIs, comunicación por
red, etc. pero rara vez solucionan aspectos de un problema concreto
● Aunque es evidente que ahorran trabajo, sigue siendo necesario una gran
cantidad de programación, aunque a otro nivel
de un proyecto con un plazo de ejecución limitado
● Pueden requerir un tiempo de aprendizaje largo, incompatible con la realización
●Estos inconvenientes impiden la generalización de la
reutilización de código existente en el desarrollo de
software
●Por tanto en general cada nuevo proyecto sigue
requiriendo la escritura de una gran cantidad de
código original
Programación
orientada a
componentes
Tecnologías de
componentes
●En cambio, en otras ingenierías como la electrónica el
grado de reutilización es altísimo
●En este ámbito, la construcción de un dispositivo
electrónico se reduce a la integración de la manera
adecuada de distintos componentes comerciales.
●Existe fabricantes especializados en la fabricación de
componentes y otros en la de dispositivos finales
●El producto final obtenido es de calidad y se realiza
en un tiempo relativamente corto
Programación
orientada a
componentes
Tecnologías de
componentes
●La solución a la crisis del software pasa por cambiar
el modelo de desarrollo a un desarrollo orientado a
componentes
●Se basa en la construcción de una aplicación a partir
de componentes software comerciales o gratuitos ya
existentes, limitando al mínimo necesario el desarrollo
de código nuevo
●Para que este cambio se produzca es necesaria la
creación de un mercado amplio de componentes
software de calidad y con un ámbito de aplicación
general
Programación
orientada a
componentes
Tecnologías de
componentes
●También será necesaria la adopción de una
arquitectura estandarizada que garantice la
interoperatividad de los componentes en distintas
plataformas, lenguajes de programación y entornos de
desarrollo
●La implantación de este modelo tiene multiples
beneficios
● El desarrollo será mucho más sencillo y en un tiempo y con un coste menores
● La posibilidad de errores es mínima ya que los componentes son sometidos a un
vendiendo componentes a otras empresas
riguroso control de calidad antes de ser comercializados
● Las empresas de desarrollo especializadas pueden obtener ingresos adicionales
Programación
orientada a
componentes
Tecnologías de
componentes
●También será necesaria la adopción de una
arquitectura estandarizada que garantice la
interoperatividad de los componentes en distintas
plataformas, lenguajes de programación y entornos de
desarrollo
●La implantación de este modelo tiene multiples
beneficios
● El desarrollo será mucho más sencillo y en un tiempo y con un coste menores
● La posibilidad de errores es mínima ya que los componentes son sometidos a un
vendiendo componentes a otras empresas
riguroso control de calidad antes de ser comercializados
● Las empresas de desarrollo especializadas pueden obtener ingresos adicionales
Programación
orientada a
componentes
Tecnologías de
componentes
Características de un componente
●Un componente debe tener las siguientes
características:
● Es una unidad software compilada reutilizable, con una interfaz bien definida
● Se distribuye en un único paquete instalable que contiene en sí todo lo necesario
para su funcionamiento, con ninguna o muy pocas dependencias con otros
componentes o librerías
● Puede estar implementado en cualquier lenguaje de programación y ser utilizado
también para el desarrollo en cualquier lenguaje de programación
● Normalmente es un producto comercial de calidad, realizado por un fabricante
especializado. Por supuesto pueden existir componentes gratuitos
Características de un
componente
Tecnologías de
componentes
●Un componente puede ser implementado mediante
cualquier lenguaje de programación, aunque los
lenguajes orientados a objetos son especialmente
adecuados para este fín
●El entorno de desarrollo es ahora más que un simple
editor de código. Un entorno de desarrollo orientado a
componentes debe facilitar la instalación de
componentes y su configuración e integración en una
aplicación. El código fuente adicional necesario es
mínimo
Características de un
componente
Tecnologías de
componentes
●Existen tres tecnologías de componentes
predominantes en la actualidad e incompatibles entre
sí:
● VBX/OCX/ActiveX de Microsoft. Los VBX surgieron como una forma de poder
distribuir controles entre los desarrolladores de VisualBasic. VisualBasic puede
ser considerado como el primer entorno de desarrollo orientado a componentes
que tuvo realmente éxito y aceptación. Los OCX y ActiveX son evoluciones
posteriores de los VBX
● VCL de Borland. Es la tecnología de componentes utilizados por los entornos de
desarrollo Delphi y C++ Builder. Curiosamente estos dos entornos también
permiten la utilización de componentes OCX y ActiveX
● JavaBeans de Sun. Es la tecnología de componentes basada en Java. En
principio no permite la utilización de otro lenguaje de programación. Al contrario
que las otras tecnologías, JavaBeans funciona en cualquier plataforma
Características de un
componente
Tecnologías de
componentes
●Las características funcionales de estas tres
tecnologías son similares
● Los componentes instalados son accesibles en el entorno de desarrollo a través
de una paleta de componentes y pueden ser “arrastrados” a la aplicación en la
que estamos trabajando
Características de un
componente
●En el caso de tratarse de componentes “visuales”, es decir, relacionados con la
interfaz de usuario, es posible su manipulación de manera interactiva
Tecnologías de
componentes
Características de un
componente
●Cada componente expone públicamente un conjunto de propiedades que
determinan su estado interno. La mayoría de estas propiedades pueden ser
modificadas de manera interactiva
Tecnologías de
componentes
Características de un
componente
●Cada componente genera una serie de eventos que pueden ser capturados. El
código asociado a estos eventos se realiza en el lenguaje nativo del entorno de
desarrollo: Visual Basic, Object Pascal, C++, Java, etc.
Tecnologías de
componentes
Características de un
componente
Tecnologías de
componentes
JavaBeans
●JavaBeans es la tecnología de componentes de Java
●Los componentes de JavaBeans se conocen
simplemente como beans
●En principio un bean es simplemente una clase de
objetos, aunque con ciertas características especiales:
● Es una clase pública que implementa la interfaz Serializable
● Expone una serie de propiedades que pueden ser leídas y modificadas desde el
entorno de desarrollo
de acciones
● Expone una serie de eventos que pueden ser capturados y asociados a una serie
●Aunque los beans han sido pensados para ser
utilizados desde el entorno de desarrollo, también
pueden ser utilizados directamente
JavaBeans
Tecnologías de
componentes
●La apariencia y comportamiento de un bean son
determinados por sus propiedades
Una propiedad simple queda identificada por un par de
operaciones con la siguiente forma:
public <TipoProp> get<NombreProp>() { ... }
public void set<NombreProp>(<TipoProp> p) { ... }
●De esta forma queda definida la propiedad
<NombreProp> de tipo <TipoProp>
●Si una propiedad no incluye la operación set,
entonces es una propiedad de solo lectura
JavaBeans
Vamos a transformar la clase TPAviso (tema 2) en un bean. Vamos a incluir tres
propiedades: Mensaje (mensaje a imprimir), Activa (estado activo o no de la tarea)
y PeriodoSegs (periodo de ejecución del aviso en segundos)
Tecnologías de
componentes
import java.util.*;
import java.awt.event.*;
import java.io.Serializable;
import javax.swing.JOptionPane;
import javax.swing.Timer;
public class TPAviso implements ActionListener, Serializable {
int periodoSegs;
String mensaje;
Timer t;
public TPAviso() {
periodoSegs = 60;
t = new Timer(1000 * periodoSegs, this);
}
public TPAviso(String aMensaje, int aPeriodoSegs) {
periodoSegs = aPeriodoSegs;
mensaje = aMensaje;
t = new Timer(1000 * periodoSegs, this);
}
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null, mensaje, "Aviso",
JOptionPane.INFORMATION_MESSAGE);
setActiva(false);
}
JavaBeans
Propiedad
Activa
Propiedad
Mensaje
Propiedad
Periodo
public void setActiva(boolean valor) {
if (valor == true)
t.start();
else
t.stop();
}
public boolean getActiva() {
return t.isRunning();
}
public void setMensaje(String aMensaje) {
mensaje = aMensaje;
}
public String getMensaje() {
return mensaje;
}
public void setPeriodoSegs(int aPeriodoSegs) {
periodoSegs = aPeriodoSegs;
t.setInitialDelay(1000 * periodoSegs);
if (t.isRunning()) {
Comentarios de: Tema 4: Tecnologías de componentes - Programación Avanzada (0)
No hay comentarios