| By Steve Benfield | Article Rating: |
|
| March 5, 2004 12:00 AM EST | Reads: |
30,745 |
I have a love/hate relationship with J2EE. I love the idea of standards that we can all use in our development to improve interoperability, ease integration issues, create a pool of skilled developers, etc. I hate the idea that I have to wait years for the standards to evolve and become usable. And I hate having specs that seem to work well in theory but have no practical implementation behind them. This brings me to the JSF specification.
How long have we heard about JSF (JavaServer Faces) and how it will make it easier to build Web pages? Why did it take more than two and a half years to come up with JSF, which is essentially an event model for Web pages? And it happened at a time when Microsoft was coming out with major innovations (a debatable point, I concede) and huge pushes targeted at providing ease of development for the corporate developer. Visual Studio/.NET developers look at the J2EE community and basically say "these guys don't get it."
Let's take a look back at JSPs. Isn't one of J2EE's goals to encourage encapsulation and object-orientation? If so, why create a standard that encourages a mixture of presentation logic, application logic, business logic, and data access into one page class? The answer is Microsoft. It was a reaction to what Microsoft had: "Hmm, we need something to compete with ASP. Hey, let's make JSP. We'll have tag libraries so we can easily embed components on a page and call it encapsulated." Obviously things have evolved a bit since then and we can now separate the flow of the application from the pages with frameworks like Struts. Well, last time I looked, Struts isn't part of J2EE - which means you're doing nonstandard development - but it is open and has an ecosystem of developers so it's a pretty safe choice. Of course, if you like editing XML, Struts is for you. There are Struts editors out there to help you, but in the end you're still dealing with a lot of complexity.
Now we have JSF, which promises to apply the "ease" of Swing to page development.
My expertise is in building corporate business applications and the needs of the business application developer. What I see in JSF is overengineering. Let's think of every possible usage pattern for Web pages and address them, not necessarily a bad thing. The resulting standard is one in which there are several layers of abstraction, many, many moving parts, and ultimate flexibility.
The problem is that ultimate flexibility comes at a cost - it's called ultimate complexity. From what I can tell, JSF won't actually reduce the complexity of creating Web applications. In fact, it greatly adds to the complexity. Just as JSPs did too little to provide granularity in building pages, JSF goes too far and makes things too granular. Do I really need a separate event to be called for each piece of data that has changed on a form? And possibly separate handlers for each? Be prepared for the framework that will sit in front of JSF to simplify its complexity.
In defense of JSF, it does follow many of the object-oriented Web page design concepts that we had at SilverStream in, oh, 1998. And it does have some appeal to the PowerBuilder developer that I used to be in the mid-'90s. However, experience has shown that building page-based applications with the level of object granularity shown in JSF doesn't make life easier; it makes it more complicated. I've architected and used many frameworks in my career and the trick is to perfect the balance between the ultimate flexibility that the architect wants and the ultimate usability by nonengineer developers.
I just joined ClearNova, and for several years our product, ThinkCAP, has provided a rapid way to build applications and presentations, one thing that attracted me to the company. We're doing the R&D needed to move parts of the platform toward JSF, but I'm concerned we'll lose a lot of the productivity that our current product has by implementing a spec that only object-oriented theorists could love. If we don't allow developers to have complete control over everything that JSF can do, we'll take flak from the purists, even if doing so makes the tool so hard to use that it appeals only to experienced J2EE developers.
Ultimately, my fear is that JSF will once again play into the hands of Microsoft's "complexity attack" and tempt business developers to run for the J2EE exit.
Published March 5, 2004 Reads 30,745
Copyright © 2004 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Steve Benfield
Steve Benfield is CTO of Agentis Software. A technology marketeer and strategist with 20 years of software entreprenuerism experience, he is both a gifted writer and a technical visionary, a combination of qualities that made him the perfect choice of Editor-in-Chief for SYS-CON Media's inaugural publication 12 years ago, PowerBuilder Developer's Journal. Steve's proven ability to determine marketing and technology strategies that align with market needs led to successful stints at SilverStream, where he started as technology evangelist and ended as CTO, and at ClearNova where he was CTO.
![]() |
Fred 03/22/05 04:24:11 PM EST | |||
Oh Doctor, maybe you should give another 3 months try to JSF, and particularly with MyFaces implementation. They have a pager and sorting for tables, and a lot more. |
||||
![]() |
Doctor 03/22/05 06:55:28 AM EST | |||
I had practical experience with JSF 1.1 for three month. By the way, anybody knows any JSF-based professional commercial projects? |
||||
![]() |
Busy retail developer 04/05/04 08:35:44 PM EDT | |||
Agreed, pity I didn''t use my bogometer earlier. I was not impressed by the Coldtags suite suggestion, it costs (which would be inconvenient) and I''m sick & tired of tag spagetti, I think only layout should be done by tags, everything else should be in well designed beans or configuration files. |
||||
![]() |
Java software architect 04/05/04 10:32:32 AM EDT | |||
I go with "guy", looks like Steve only looks at the pictures. In the end, flexibility rules. JSF is very powerful, and, you can do it simple if you want. My experience with Microsoft is that everything looks so simple, but in the end you discover that you need the same complexity as any other framework/technique. The difference is just, that Microsoft tries to sell itself to managers with its appearent simplicity (one manager told me that with .NET we can build 6 times faster than with java, and he believed it), whereas java sells itself to (software) architects. Maybe this leads to the following conclusion: Steve looks only skin deep (regarding technology) or listens to the wrong people, just like managers. |
||||
![]() |
guy 03/31/04 02:03:20 AM EST | |||
well; |
||||
![]() |
Dan Novik 03/26/04 11:39:06 AM EST | |||
Check out Coldtags suite for example: |
||||
![]() |
Busy retail developer 03/21/04 11:25:22 PM EST | |||
OK, so which projects are worth looking at, which are not merely a reaction to Microsoft, but offer genuine benefit for web developers? I''m interested in the answer because I may have to more a client off the, over-priced, coding nightmare that is Informix Web DataBlade. |
||||
- An Exclusive Interview with Oracle, Cloud Expo 2010 Diamond Sponsor
- Whatever the Apple iPad Is, It Apparently Leaks Like a Sieve
- Whatever Happened to JAAS?
- What’s Next for Oracle-Sun?
- Cloud Expo New York Call for Papers to Expire January 15, 2010
- Six Enterprise Megatrends to Watch in 2010
- Oracle Maps Its Cloud Computing Strategy During Cloud Expo Keynote
- Oracle’s Next Sun Hurdle
- Oracle Claims Victory Over EC; Says Sun Will Sell Clouds
- Now Russia Threatens to Hold Up Oracle-Sun Deal
- Free Virtual Appliance for Cloud Computing
- Why Cops and Java Developers Have Low Salaries?
- Kindle 2 vs Nook
- Cloud Expo New York Call for Papers Now Open
- Is Cloud Computing Like Teenage Sex?
- An Exclusive Interview with Oracle, Cloud Expo 2010 Diamond Sponsor
- Performance Tuning Essentials for Java
- Whatever the Apple iPad Is, It Apparently Leaks Like a Sieve
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- Whatever Happened to JAAS?
- Cloud Computing Can Revitalize Your Career as Software Developer
- What’s Next for Oracle-Sun?
- Cloud Expo New York Call for Papers to Expire January 15, 2010
- The End of IT 1.0 As We Know It Has Begun
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- The i-Technology Right Stuff
- JavaServer Faces (JSF) vs Struts
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- What's New in Eclipse?
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- i-Technology Predictions for 2007: Where's It All Headed?

























