El origen de los JavaBeans lo podemos encontrar en un par de necesidades que Java tenía:
- Disponer de una tecnología de objetos y componentes reutilizables.
- Mejorar el proceso para crear interfaces de usuario, acercándose a la facilidad de uso que otros productos permitían como Visual Basic de Microsoft.
Un JavaBean es un componente software reutilizable basado en la especificación JavaBean de Sun (ahora Oracle) que se puede manipular visualmente con una herramienta de desarrollo.
Hay una serie de propiedades que presenta un JavaBean:
- Portabilidad: uno de los principales objetivos de los JavaBeans es proporcionar una arquitectura neutral de componentes, es decir, que los beans puedan utilizarse en otras plataformas y entornos.
- Reusabilidad: son componentes reutilizables, la filosofía es que estos componentes pueden usarse como bloques en la construcción de aplicaciones complejas.
- Introspección: los IDE reconocen ciertas pautas de diseño, nombres de las funciones miembros o métodos y definiciones de las clases, permitiendo a la herramienta de programación mirar dentro del bean y conocer sus propiedades y comportamiento.
- Personalización: en tiempo de diseño, con el IDE que se utilice, se pueden modificar las características de apariencia y comportamiento de un bean.
- Persistencia: un bean puede guardar su estado y recuperarlo posteriormente. Esta capacidad se de logra mediante la serialización. Cuando un ejemplar de bean se serializa se convierte en un flujo de datos que se almacenará en algún sitio, probablemente en un fichero. Cualquier applet, aplicación o herramienta que utilice el bean puede restaurarlo mediante la deserialización.
- Comunicación entre eventos: Los eventos constituyen un mecanismo de notificación entre objeto fuente y objeto(s) receptor(es). Las herramientas de desarrollo pueden examinar un bean para determinar qué eventos puede enviar y cuáles puede recibir.
Características de los JavaBeans.
Se puede ver en en el enlace.
Un entorno de desarrollo informático (en inglés integrated development environment) es un programa informático compuesto por un conjunto de herramientas de programación.
O también llamado marshalling en inglés, consiste en un proceso de codificación de un objeto en un medio de almacenamiento, como puede ser un archivo, o un buffer de memoria, con el fin de transmitirlo a través de una conexión en red como una serie de bytes o en un formato humanamente más legible.