Apache Beehive

From Bauman National Library
This page was last modified on 14 May 2016, at 17:17.
Apache Beehive
Developer(s) Apache Software Foundation
Stable release
Repository {{#property:P1324}}
Development status Retired
Written in Java
Operating system Cross-platform
Type Java Application Framework
License Apache License 2.0
Website beehive.apache.org

Apache Beehive is a discontinued Java Application Framework that simplifies Java™ 2 Platform, Enterprise Edition (J2EE) and Web services programming. Beehive uses a concept of annotations that is a part of Java technology. Service-Oriented Architecture (SOA) development is also a major emphasis of this project. Beehive was released under the Apache License V2.0

Beehive components

The Apache Beehive project was created to support:

  • Java Page Flow (JPF) technology, also known as (NetUI)
  • Controls
  • Web services based on JSR 181

Together, these technologies fit into the Model-ViewController (MVC) programming model, as shown in Figure 1. The JPF technology forms the controller layer. The NetUI tag libraries participate in the view layer. The model layer is built from Java controls. http://www.ibm.com/developerworks/library/os-beehive/beehive1.gif

NetUI or JPFs

JPFs is an application framework that leverage the core functionality of Apache Struts. It allows easier tooling and automatic updating of the various Struts configuration files. The JPF technology also comes with a set of tag libraries called NetUI. In the typical MVC design pattern, JPFs form the controller layer. They are assisted by the NetUI tag libraries in the presentation layer.

The basic functionality of NetUI is to simplify JSP file development and provide automatic data binding between the view and controller layers. The tags come with JavaScript support, so they can be used like the standard HTML tags (such as input and select).

The NetUI technologies include three tag libraries:

  • NetUI - this tag library contains tags similar to the struts-html tag.
  • NetUI-data - this tag library is used to bind data from forms and the controller to the JSP file. It allows to quickly display lists of data, such as search results.
  • NetUI-template - tag library is used to create subsections (or templates) from your JSP files.


This is lightweight, metadata-driven component framework. Controls provide a unified client abstraction that can be implemented to access a diverse set of enterprise resources using a single configuration model. A control provides a nice layer of abstraction and encapsulation for SOA-based development. Controls are pieces of business logic wrapped up in Enterprise JavaBeans (EJBs) or message-driven beans. They provide a common client interface to any set of resources -- databases, external systems, and others. You can also drag and drop controls into a Java application or Web service to provide the application or Web service with that functionality. They help speed up the development process. Like the rest of Apache Beehive, controls use JSR 175 annotations heavily. Controls reduce the complexity and learning curve associated with acting as a client of J2EE resources by providing a unified client model that allows access to diverse types of resources.

Web Service

JSR 181 is a metadata standard for Web services based on the JSR 171 annotations standards. Apache Beehive uses JSR 181 to define a set of annotations can be used to expose any Java class as a Web service. The idea behind Beehive Web service development is that the developer writes a simple Java class, then exposes the functionality as a Web service.

External links