Apache Beehive is a discontinued Java Application Framework that was designed to simplify the development of Java EE-based applications. It makes use of various open-source projects at Apache such as XMLBeans. Apache Beehive uses Java 5, including JSR-175, a facility for annotating fields, methods, and classes so that they can be treated in special ways by runtime tools. It builds on the framework developed for BEA Systems Web logic Workshop for its 8.1 series. BEA later decided to donate the code to Apache.

History
Version 8.1 of BEA's Web logic Workshop includes a number of improvements over version 7.0. The previous version was focused on creating industrial-strength web services quickly, and it failed due to low adoption and use. For version 8.1, BEA created a whole new Integrated Development Environment (IDE) which helped programmers to develop Java EE-based applications more quickly. The improvements in 8.1 over version 7 garnered several awards. 

Although Workshop 8.1 only had limited success, the Web logic Workshop Framework which was developed for 8.1 version Workshop was recognized as a solid framework. In order that it can be used with other Java EE-based application servers, BEA decided to open-source the project under the purview of the Apache Software Foundation.
The latest version of Beehive was released on December 4, 2006, and retired to Apache Attic in January 2010.

Beehive components

Netui Page Flows
This is an application framework built on top of Apache Struts which allows easier tooling and automatic updating of the various Struts configuration files.

Controls
Controls are the core of the Beehive framework. A control can be defined as a program which can be used by the developer to access enterprise-level resources such as Enterprise Java Beans (EJBs), web services etc. For example, consider accessing an old legacy EJB 2 bean. It involved a lot of routine code like getting access to a home interface, then creating/finding an EJB using finder methods and then accessing the remote methods of the bean. Using a control simplified this because it did most of the routine coding for the developer, who could work on business logic rather than the inner-details of Java EE technology. This is also useful to advanced developers because the developer could concentrate on more useful things like constructing a Facade to a complex set of application APIs. In essence, a control to a legacy EJB 2 been ensured that the developer could simply use the control and call any business method of the EJB, using it in the same way as any other Java class. When EJB 3 came around, such simplification was already provided by the EJB specification itself, And Beehive controls were of little further use here. The Controls come with a standard set of controls wiz EJB Control, Web service Control, Database Control and JMS Control. Custom controls can also be developed, which in turn could make use of the controls already built-in.

Web services
This third component of Beehive enables a developer to create web services using meta-data/annotations. By using meta-data/annotations one can create complex web services utilizing features like conversation, state etc. Since all the meta-data/annotations are in one file, it is easier to debug and maintain. Using this approach, any plain Java class can be converted into a web service just by the addition of annotations into the Java source files. This is based on JSR-181 which builds on JSR-175.

See also

References

Bibliography

External links
Apache Beehive home site
Web logic Workshop
Pollinate Project (An Eclipse plugin for Apache Beehive, now archived and inactive)

Beehive
Java platform software