TSSS — Cliff Schmidt on Beehive

TSSS — Cliff Schmidt on Beehive

Formerly a BEA technology, Beehive is now an Apache incubator project designed to allow developers to easily build enterprise applications.

Cliff is a good speaker and I think he started off well with an introduction to the Apache incubator program and Beehive itself as an ease of use framework. It sounds like it is getting community support and will probably be elevated to a full ASF project in the near future. In Beehive there are currently 3 components that work well together:

Web Services — for exposing your services
Controls — for accessing backend resources
NetUI — for building page flow user interfaces

To build any of these components a developer need only add metadata to their Java classes in order to support these component models. This makes them very easy to use and easy to tool. The Beehive infrastructure is designed to be run on a standard servlet container so you don’t need a huge application server to deploy Beehive components. Tools that are going to be able to manipulate the components include Eclipse (using Pollinate), IntelliJ, and WebLogic Workshop. This month it goes beta… I’m definitely going to check it out on my quest for a nice modern container.

Originally Beehive had its own proprietary standards, but now it implements JSR-181, Web Service Metadata. There is some expectation that there may be more features later that extend that standard and move the state of the art forward is possible, but first and foremost is compliance. It also builds on J1EE 1.4, JAX-RPC 1.1, JSR 109, and J2SE 5.0 rather than using their own infrastructure. These standards provide “source level compatibility”, this is because these specifications involve some compile time artifacts that may be container specific.

Cliff is talking specifically about Controls now and I think I’m going to like them. Based on JavaBeans and leveraging the femtocontainer they appear to be what I have been looking for as a lightweight component model. The only problem I have with them so far is that they don’t appear entirely dissimilar from EJB 3 stateful session beans. It will be interesting to find out how this pans out and how they conflict or complement one another.

Next up is NetUI or Yet Another Web Framework. I’m going to look into it because it seems to play well with JSP 2.0. I’m very much an advocate of the new features that are in JSP and I think that it solves a lot of the problems with the previous versions and really want that power when I’m building web applications. On the other hand, it doesn’t handle a lot of the page flow type stuff so having a nice framework that does handle it well will be nice.

By the end of the talk, I’m convinced that EJB 3 is going to make Beehive Controls completely obsolete. They are missing some of the ease of use features that are very attractive to me like the autogeneration of business method interfaces and the IoC is much better in EJB3 because it matches up the variable name with the JNDI name of the resource.