Bienvenue a le Framework Hell
November 2nd, 2006 by steveOne of the projects I am overseeing is a rewrite of our in-house time-tracking application, used by employees to submit our hours, by project managers to manage budgets and track feature and defect progress, and by accounting to figure out how much to pay us.
The new application is being designed to clean up the complexity of some of the longer workflows and to be more modular and extensible. We also selected it as an opportunity to test-drive the JEE 5 collection of technologies, and are building on the JBoss AS 4.0.x and Seam stack, likely adding jBPM as well.
Without getting into too much detail, I am leary of getting too deep into proprietary JBoss extensions to JAAS to emulate support for ACLs (aka “Dynamic Roles”). And we do need ACL support for this application. So we have gone back and forth between trying to find a way to make ACEGI Security work well with JSF, Seam, and JBoss vs. just using the proprietary JBoss Security.
I’m no Spring wizard, and am relatively new to ACEGI Security, having only used them here a there in what amount to “toy” apps. I have more trust in open source frameworks than I have in particular vendor offerings, though. Unfortunately, Gavin King has become our kicking-boy in this corner of the shop lately, as he has repeatedly dismissed (would you prefer “redirected” or perhaps “deflected”) suggestions oriented towards making his new baby play well with others, and it looks like no solution to the security issue really exists yet…besides the “here, try this Kool-aid!” of cross-cutting EJB3 annotation hooks and “Dynamic Roles.” In addition, it seems there has been no progress from him in providing his own solution within Seam for simplifying ACL security issues. Maybe I just don’t understand. Very possible.
Either way, that means that developing (and contributing) our own solution becomes more likely, but finding the resources for that remains a challenge. This rewrite we are talking about is happening on the side. So here we are, in framework hell, unable to easily deploy an ACL security model into a the application, and we burn valuable resources looking for solutions. I have a fantasy of busting Seam down to provide, or at least support providing, separate filters for performing the session-related tasks of conversation management from the execution of the request, so that we can prop ACEGI Security in the middle (an execution pattern I find more attractive). Given that solution is unlikely to provide a forward-compatible solution, and particularly unlikely to be adopted given the scope of the change, we are left with trying to insert an ACEGI Security AuthenticationProvider in by crafting a SeamPhaseListener, or maybe something else.
Still hunting.
Posted in chatter | No Comments »