We work with an application using multiple databases. So depending on the logged user a different datasource might be used. Tapestry IoC made it a breeze to hide this logic away from the pages and just @inject the services.

We have a highly tier-ed application where all low lever logic is define in a BaseTapestry-module on top of which the different thin implementations are build. Through the IoC it is a very easy to configure any of the default behaviour in the base module through the Configuration. One example is the instantation of our own SpringContext. Just contribute, or overrrite a bunch of paths to *beans.xml and property definitions and you'll load a completely different set of spring configurations. By using reasonable defaults, this allows us to truely build a no configuration application. Checkout and it runs.

I have yet to find an area in tapestry that you cannot change to you own custom liking. That in combination with "it just works out of the box" makes me a true believer.

The choice to move to Tapestry5 about 2 years ago has been one of our best technology shifts!

Cheers,
Joost



Howard Lewis Ship wrote:
Outside of framework building (of course) my more mundane tasks:

Building DAO services around Hibernate, to reduce code clutter.

Building a deferred job execution service, to process operations in
the background.

Integrating with significant subsystems, like Quartz.

Creating tools to allow page content to be rendered and sent as email.

What I like about the IoC approach is that you naturally tend to
decompose things properly (or at least, it gives you the option). That
mail sending bit is in two pieces: one that's mostly about Tapestry:
rendering a Block, capturing the result, then deferring to a second
service to do the actual mailing. The second service is a wrapper
around javax.mail.Session and Transport, and encapsulates those two
ugly APIs. The job executor allows the app to continue running, with
the mail sending deferred to a pooled thread.

IoC means you can easily break your problems into small and
individually testable pieces, and isolate difficult external
dependencies ... and the container is responsible for assembling
everything at runtime.

On Tue, Dec 1, 2009 at 9:30 PM, Yeargan Yancey <yan...@unt.edu> wrote:
I have a largely academic interest in Tapestry and have been following the list 
for several months. I have seen many discussions go by about the technical 
issues of implementing and using Tapestry IOC services. Recently, however, I 
began to develop a persistent and growing curiosity about the sorts of tasks 
that seasoned Tapestry developers decide to implement as IOC services; being 
especially curious about complex combinations of such services. I suspect some 
have come up with quite clever solutions and are just dying to share. Here's 
your chance. I'm asking. What is it that your IOC services do?
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org







---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to