Welcome Guest!
Create Account | Login
Locator+ Code:

Search:
FTPOnline
Channels Conferences Resources Hot Topics Partner Sites Magazines About FTP RSS 2.0 Feed

Free Subscription to Java Pro

email article
printer friendly
get the code
more resources

Magical Web Interface Development
JavaServer Faces gives you server-based power and flexibility for building Web-based interfaces that keep components in sync with your business objects
by Kito Mann

Posted October 17, 2003

Rapid Application Development (RAD) was a popular term in the pre-Web days. The main goal of RAD was to enable you to build powerful applications with a set of reusable components like text fields, data grids, tree views, panels, buttons, and so on. If you've ever used tools like Visual Basic, PowerBuilder, or Delphi, you know that they were a major leap forward in productivity for application development. For the first time it was easy to develop complex user interfaces and integrate them with data sources.

Of course, the RAD philosophy never went away—it was just replaced by other hip buzzwords. It's alive and well in today's Swing Java IDEs and development environments like Borland Delphi and C++Builder. Those environments, however, stop short of using RAD concepts for Web projects. Its adoption in the Web development world has been remarkably slow.

ADVERTISEMENT

Even though component-based Web development tools started popping up a long time ago in products like Apple's WebObjects, the concept has just hit the mainstream with Microsoft's Visual Studio.Net and ASP.Net Web Forms. In the Java world, many different frameworks have emerged, most of them open source. Some have tool support, and some don't.

Choice is good, but standards enable widespread industry adoption. Swing is the current desktop Java user interface standard (for better or worse), which means that you can quickly and easily lay out your components visually, attach event listeners, change properties, and so on—all from within your favorite IDE. If there is a need for a standard user interface component model for Java desktop applications, there's certainly a need for the same thing in the Java Web development world.

Which brings us to JavaServer Faces (JSF, or simply "Faces"). What is JSF? It is a framework for building Web-based user interfaces in Java. Like Swing, it provides a set of standard widgets (buttons, hyperlinks, checkboxes, and so on); a model for creating custom widgets; a way to process client-generated events (such as changing the value of a text box or clicking on a button) on the server; and excellent tool support.

Since Web-based applications, unlike their Swing cousins, must often appease multiple clients (desktop browsers, phones, and PDAs), JSF has a powerful architecture for displaying components in different ways. It also has extensible facilities for validating input (the length of a field, for example) and converting objects to and from strings for display. And Faces can also automatically keep your user interface components in sync with your business (or model) objects.




Back to top













Java Pro | Visual Studio Magazine | Windows Server System Magazine
.NET Magazine | Enterprise Architect | XML & Web Services Magazine
VSLive! | Thunder Lizard Events | Discussions | Newsletters | FTP Home