Apache Beehive es un marco de trabajo de aplicaciones Java que se ha discontinuado y que fue diseñado para simplificar el desarrollo de aplicaciones basadas en Java EE . Utiliza varios proyectos de código abierto en Apache , como XMLBeans . Apache Beehive utiliza Java 5, incluido JSR-175 , una función para anotar campos, métodos y clases de modo que puedan ser tratados de manera especial por las herramientas de tiempo de ejecución. Se basa en el marco desarrollado para BEA Systems WebLogic Workshop para su serie 8.1. BEA luego decidió donar el código a Apache. [ cita requerida ]
La versión 8.1 del WebLogic Workshop de BEA incluye varias mejoras con respecto a la versión 7.0. La versión anterior se centraba en la creación rápida de servicios web de nivel industrial y fracasó debido a su baja adopción y uso. Para la versión 8.1, BEA creó un entorno de desarrollo integrado ( IDE ) completamente nuevo, que ayudó a los programadores a desarrollar aplicaciones basadas en Java EE con mayor rapidez. Las mejoras de la versión 8.1 con respecto a la versión 7 le valieron varios premios.
Aunque Workshop 8.1 tuvo un éxito limitado, el WebLogic Workshop Framework, que se desarrolló para la versión 8.1 de Workshop, fue reconocido como un marco sólido. Para que se pudiera utilizar con otros servidores de aplicaciones basados en Java EE, BEA decidió convertir el proyecto en código abierto bajo la supervisión de la Apache Software Foundation . La última versión de Beehive se lanzó el 4 de diciembre de 2006 y se retiró a Apache Attic en enero de 2010.
Se trata de un marco de aplicación creado sobre Apache Struts que permite una utilización más sencilla y una actualización automática de los distintos archivos de configuración de Struts.
Los controles son el núcleo del marco Beehive. Un control se puede definir como un programa que puede ser utilizado por el desarrollador para acceder a recursos de nivel empresarial, como Enterprise Java Beans (EJB), servicios web, etc. Por ejemplo, considere acceder a un antiguo bean EJB 2 heredado . Implicaba una gran cantidad de código de rutina como obtener acceso a una interfaz de inicio, crear/encontrar un EJB utilizando métodos de búsqueda y luego acceder a los métodos remotos del bean. El uso de un control simplifica este proceso al manejar la mayor parte de la codificación de rutina para el desarrollador, lo que le permite trabajar en la lógica empresarial en lugar de los detalles internos de la tecnología Java EE . Los controles también son útiles para los desarrolladores avanzados, ya que les permiten concentrarse en cosas como construir una fachada para un conjunto complejo de API de aplicación. En esencia, un control para un EJB 2 heredado ha garantizado que el desarrollador pueda simplemente usar el control y llamar a cualquier método empresarial del EJB, usándolo de la misma manera que cualquier otra clase Java . Cuando apareció EJB 3, la propia especificación de EJB ya proporcionaba esa simplificación, [1] [2] [3] [4] y los controles Beehive ya no eran de mucha utilidad en este caso. [5] [6] Los controles vienen con un conjunto estándar de controles, como el control EJB, el control de servicio web, el control de base de datos y el control JMS. También se pueden desarrollar controles personalizados que, a su vez, podrían hacer uso de los controles ya integrados.
Este tercer componente de Beehive permite a un desarrollador crear servicios web utilizando metadatos/anotaciones. Al utilizar metadatos/anotaciones, se pueden crear servicios web complejos utilizando funciones como conversación, estado, etc. Dado que todos los metadatos/anotaciones están en un solo archivo, es más fácil depurarlos y mantenerlos. Con este enfoque, cualquier clase Java simple se puede convertir en un servicio web simplemente agregando anotaciones a los archivos fuente de Java. Esto se basa en JSR-181, que se basa en JSR-175 .