In part two of my series of podcasts on why I’m not interested in using JSF in the future, I focus on the Leaky Abstraction that it provides. I feel like the leaks get in the way of getting actual work done; they confuse new developers, and cause headaches for everyone. Users even see the results of the leaking.

Download JSF Part 2.

Some of the leaks I discuss include:

  • Ultimately, JSF provides a Leaky Abstraction that (in spite of its promise) still requires all developers to understand Request-Response in addition to the 6 lifecycle phases.
  • Security in the web.xml is based around URL, and by definition you don’t know the URL for many JSF actions. This makes it MUCH harder to get the fine-grained security right, but also expose the basic servlet (think Request-Response) nature of the application.
  • Users may refresh a page, like the Search Results, and be whirled away to the search entry page – their results having been scattered to the wind.

My point isn’t that these items can’t be dealt with, but that the core abstraction leaks somewhat and I prefer to do without it. I have many choices of Java web frameworks. I’d rather be solving the business problems – those are by far more important. Please see previous posts here and here.

UPDATE:The third and final part of the series is now posted.

comments powered by Disqus