Hello Howard,

Actually, security was only an exemple. And because, i am pretty new to
spring-security and to be honest, not really convinced at the moment, i will
not try to defend it.

But my question was : What about the Integration of Tapestry in other
Framework ? Because many people talked about integration technologies into
Tapestry which is IMHO pretty cool, for server side technology and even
client side. I was thinking of this question maybe because of some
frustration, i admit :) but i think that opening API to other technologies
contributes to make a framework popular as much as the inverse.

However, let's continue with security exemple. Let's imagine that tomorrow,
we expose some of our features with a technology like DWR, or some REST API
or anything that goes though HTTP :

Will i have to :

1. Re-implement security into those technologies
2. Create some extension to my existing spring-security
3. Implement DWR or REST API into Tapestry, implement a new Dispatcher, an
then extend my own security implementation  to handle security for this new
type of Request

- The first solution is  the worst i should do :)
- The second sounds reasonable to me from an architecture point of view, i
keep security layer independant from underlying technologies and in front of
all my services
- The third make me consider Tapestry as an application container, and not
only a Web Framework.

To be honest, the third is maybe the more interesting from my developer
point of view, because like many, i like to do it myself. But i have learned
with my professional experience that re-invent the wheel is rarely the best
approach. This is the reason why i am investigating into other technologies
to achieve my goals. I don't think this is so bad... even for simple things
like securing access to pages.

Also, i don't think that analyzing Tapestry URLs from the outside is so
rare, it is actually used deep into the pipeline (Dispatcher) but does not
require so many parameters : is see request path and request locale...

My objective is not to criticize because i am convinced 100% by Tapestry,
but simply to open the discussion instead of focusing on existing
contribution in Tapestry. Which, i repeat is not so complicated once you get
familiar with Tapestry Architecture.

Best Regards,
Christophe.

2009/12/24 Howard Lewis Ship <hls...@gmail.com>

> On Thu, Dec 24, 2009 at 2:09 AM, cordenier christophe
> <christophe.corden...@gmail.com> wrote:
> > Hello,
> >
> > And what about integration of Tapestry in other framework ?
> >
> > From my experience view, integrating technologies in Tapestry is fun and
> > fast, and the one provided by Tapestry are really good and enough to do
> what
> > a Web Application should do. !but when i want to do the inverse i am
> facing
> > a problem with Tapestry public API. Getting the Tapestry registry is
> simple
> > but calling services from the outside is not as easy.
> >
> > For exemple, currently i am trying to secure my application by using
> > spring-security to centralize security concerns, and then create a
> RoleVoter
> > to secure also Tapestry URLs. To achieve this, Spring allows me to access
> to
> > the servlet context and then to Tapestry Registry, now we can imagine
> that
> > analyzing the URL will be as easy as using the ComponentEventLinkEncoder
> > service, but in real i had to create an instance of RequestImpl, retrieve
> > others services, set the request into the RequestGlobals... service just
> to
> > analyze the URL !
>
> I can see where your frustration might come from in this respect. At
> many times during the
> development of Tapestry, we've had to make a choice: easy and
> automatic for the typical user,
> or easily extensible for the power-developer. That's a no-brainer:
> easy and automatic for the typical user is the way to go.
>
> In this particular case, it was all about making things work correctly
> from inside Tapestry; the idea
> that you would be "analyzing" a Tapestry URL when not in the middle of
> processing a Tapestry request (and therefore, deep
> into the pipeline that automatically sets up the RequestGlobals
> values) is just foreign to Tapestry. That is, to make
> that rare use-case easier for you, would complicate the code for most
> other users, making it that much harder to extend and
> override Tapestry for more typical use cases.
>
> In fact, where other people might write servlets, I would tend to
> contribute a new Dispatcher to the MasterDispatcher
> service to accomplish the same goal (in the rare case that existing
> Dispatchers and other Tapestry mechanisms could not
> fulfill the required role).
>
> I'm also a bit surprised at how eager people are to make use of
> cumbersome solutions like Spring Security to accomplish simple tasks
> such
> as protecting pages.  The Spring Security logic is path-based,
> requiring an awkward mapping from paths to Tapestry pages.  When I
> need to implement that
> kind of security, I define annotations that I can place on pages and
> provide a filter that checks for the annotation on the page ... and
> I've seen multiple clients
> do the same thing. Ideally there would be a single solution for this,
> but I've found that page security is just not a one-size-fits-all
> solution.
>
> In other words, jumping over backwards for integrations with
> technologies is often not the best approach. Yes, it would be nice to
> have a checkbox "compatible with Spring Security" but I'd rather talk
> about how easy it is to create your own custom extensions that work
> precisely as you need.
>
> We've had this discussion at Formos; it was often easier to create a
> totally custom solution in Tapestry than it was to take an
> off-the-shelf solution that did 80% of what was needed and customize
> it the last 20% of the way.
>
> >
> > Tapestry is so powerful and has everything to work standalone (see
> wrappers
> > around servlet API, or PageTester, ...), but sometimes it's hard to
> exploit
> > this great feature ...
> >
> > Best Regards,
> > Christophe
> >
> >
> >
> > 2009/12/23 Howard Lewis Ship <hls...@gmail.com>
> >
> >> While it's true that other frameworks (Grails, Wicket, Rails) have
> >> large numbers of integrations, if you talk to real developers you find
> >> out that the majority of those integrations are not actually usable
> >> for production work. All too often, they are orphaned, unsupported,
> >> incomplete, naive or coded against an earlier version of the core
> >> framework ... or some combination of all of those.
> >>
> >> I do a lot of training and consulting on Tapestry with a lot of groups
> >> and what I find is that one size does not fit all, even for simple
> >> things like user authentication/login. I'm quite happy to have a
> >> limited number of basic integrations that are documented, supported
> >> and tested.  Would I like every application to just be a matter of
> >> mixing pre-built modules together?  Yes.  Do I think it is realistic,
> >> for ANY framework?  No.
> >>
> >> On Wed, Dec 23, 2009 at 7:48 AM, Howard Lewis Ship <hls...@gmail.com>
> >> wrote:
> >> > Noe, I've been down this path before, regrettably.  The ONLY thing to
> >> > do it to ignore the trolls.
> >> >
> >> > On Tue, Dec 22, 2009 at 11:29 PM, Newham, Cameron <
> cameron.new...@bl.uk>
> >> wrote:
> >> >> I don't agree with the OP that the ServerSide discussion shows
> Tapestry
> >> "has lost the battle" - two posters state they don't want to see
> Tapestry
> >> mentioned. That's all there is.
> >> >>
> >> >> However, I can't agree with you Thiago. The old saying is "if you say
> it
> >> enough times then people will believe it is true".
> >> >>
> >> >> If you are just going to stand by and let "trolls" post bad things
> about
> >> Tapestry unchallenged then they have won the argument - regardless of
> how
> >> bad their argument may be and how incorrect their views may be.
> >> >>
> >> >> After all, someone pitching up and wanting a framework will read what
> >> they've written and believe it. Who is to say these anti-Tapestry people
> are
> >> wrong?  Not you - because you won't counter their arguments! :-)
> >> >>
> >> >> Sure - don't feed the trolls. But all that is necessary is to say
> >> something positive; not engage them in an argument.
> >> >>
> >> >> Merry Xmas everyone.
> >> >>
> >> >>
> >> >> -----Original Message-----
> >> >> From: Thiago H. de Paula Figueiredo [mailto:thiag...@gmail.com]
> >> >> Sent: 22 December 2009 15:26
> >> >> To: Tapestry users
> >> >> Subject: Re: Discussion
> >> >>
> >> >> Em Tue, 22 Dec 2009 12:45:20 -0200, Banchi Liko <banchi...@gmail.com
> >
> >> >> escreveu:
> >> >>
> >> >>> Hi guys,
> >> >>
> >> >> Hi!
> >> >>
> >> >>> There is a discussion going on here
> >> >>> http://www.theserverside.com/news/thread.tss?thread_id=58858 and
> seems
> >> >>> like Tapestry ihas already been ruled out as a viable and serious
> web
> >> >>> framework.
> >> >>
> >> >> TheServerSide comments has too many trolls to have a good, reasonable
> >> >> discussion there.
> >> >>
> >> >>> Wicket seems to be the favorite.
> >> >>
> >> >> Some people who bother to post there like Wicket. Most people who
> like
> >> >> Tapestry, maybe all of them, don't bother to post there.
> >> >>
> >> >>> I'm sad Tapestry has lost the battle and afraid it might die soon.
> >> >>
> >> >> Please source or explain your statements or you'll be treated like a
> >> troll
> >> >> here.
> >> >>
> >> >>> Please go and contribute and let your voice be
> >> >>> heard before Tapestry dies a horrible death.
> >> >>
> >> >> No, thank you. Posting there will not change Tapestry's fate. Using
> it,
> >> >> exchanging ideas in the mailing lists and contributing code will (and
> >> >> already is).
> >> >>
> >> >> --
> >> >> Thiago H. de Paula Figueiredo
> >> >> Independent Java, Apache Tapestry 5 and Hibernate consultant,
> developer,
> >> >> and instructor
> >> >> Owner, software architect and developer, Ars Machina Tecnologia da
> >> >> Informação Ltda.
> >> >> http://www.arsmachina.com.br
> >> >>
> >> >> ---------------------------------------------------------------------
> >> >> 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
> >> >>
> >> >>
> >> >
> >> >
> >> >
> >> > --
> >> > Howard M. Lewis Ship
> >> >
> >> > Creator of Apache Tapestry
> >> >
> >> > The source for Tapestry training, mentoring and support. Contact me to
> >> > learn how I can get you up and productive in Tapestry fast!
> >> >
> >> > (971) 678-5210
> >> > http://howardlewisship.com
> >> >
> >>
> >>
> >>
> >> --
> >> Howard M. Lewis Ship
> >>
> >> Creator of Apache Tapestry
> >>
> >> The source for Tapestry training, mentoring and support. Contact me to
> >> learn how I can get you up and productive in Tapestry fast!
> >>
> >> (971) 678-5210
> >> http://howardlewisship.com
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> >> For additional commands, e-mail: users-h...@tapestry.apache.org
> >>
> >>
> >
>
>
>
> --
> Howard M. Lewis Ship
>
> Creator of Apache Tapestry
>
> The source for Tapestry training, mentoring and support. Contact me to
> learn how I can get you up and productive in Tapestry fast!
>
> (971) 678-5210
> http://howardlewisship.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>

Reply via email to