Tapestry Training -- From The Source

Let me help you get your team up to speed in Tapestry ... fast. Visit howardlewisship.com for details on training, mentoring and support!

Tuesday, September 26, 2006

More Tapestry / Hibernate Integration: Honeycomb

Honeycomb is another integration between Tapestry and Hibernate. What's neat is that it supports Session Per Conversation (somewhat like Seam) and Session Per Request (much more common) right out of the box.

It even includes Maven archetypes to get the project set up quickly. Nice.

Once again, the power of HiveMind is evident here; just placing the Honeycomb JARs on the classpath mixes all the Honeycomb support directly into the application. No additional configuration needed.

On the other hand, there's virtually no documentation on how to use Honeycomb beyond the Javadoc ... and some of that is in German!


Anonymous said...

Howard, are you nuts? Why did you not note that it even contains an excel export component, woa! And german is great ;-)

Anonymous said...

I think that important piece of Tapestry 5 architecture should be to allow easy managing of domain object state.

Web layer is only a layer, not living on its own, but is tightly integrated with other layers, so that's why I have respect for Seam, because it emphasised good integration of web layer with layers below. As said, this is especially evident with session-per-conversation way, which is extremely hard to implement correctly. I remember everybody mentioning it on the web, but none has successfuly managed to implement it in some easy consistent way (before Seam at least). It really requires top-notch developers to put correct design for that, therefore it is essential to have out-of-box solution or pluggable design for this problem.

Unknown said...

Wow, my little pet project made it on your blog! Thanks, Howard. That might even make me consider writing real docs ... .
Funnily the whole thing was initially meant to be a means for discussing glue-layer-design rather than an out-of-the-box thing... .
anonym, Tapestry-4 makes managing Domain-State already very easy with its pluggable strategies for property/app-state lifecycle. And the "property-bijection" is not really so unique to Seam once you consider Tapestry's component-bindings.
Viele GrĂ¼sse, ;-) Marcus

Anonymous said...


You plugin uses only Hibernate, whereas some people like to use Spring-Hibernate (Spring for transactio demarcation), or some other ORM library.
Therefore, I think it would be good to have documented session-per-request and session-per-conversation problem on Tapestry's main documentation, and to offer some "abstract" module that user has to implement for desired ORM library. Since all this stuff is so complicated, this module would really enlighten the user how to achieve this. Of course, implementation specific to Hibernate like yours could exist additionally also.

Anonymous said...

Easy managing of domain object state in T5 would be sweet!
Is this something you have in mind Howard?

Anonymous said...

Hi, how could I make a default page in my tapestry project what defines the follow situation: while the user exist in the session, the session continue validate, if not, the page is redirect to the login´s page?