Franceesco Consumi is the CIO of Istituto degli Innocenti (Institutes of the Innocents). It is an organization for abandoned children established by the Commune of Florence, Italy, nearly 600 years ago. When his company decided to build a new website, Consumi chose JavaServer Faces (JSF), the new standard framework for Java web applications, because of its internationalization capabilities. "I chose JSF because we had to create international versions of the site, and we don't have time to create and maintain multiple versions of every page. So, we used a mix of solutions: message bundles for title and menus, and page inclusion for bodies. Some parts of the site, such as, the news and events, are stored in a Firebird database."
The site was built with a team of two designers and two developers in about a month – much faster than it would have taken to build without JSF. Consumi believes that the pages are "very clean and easy to maintain" and he is happy with the site's performance as well. The team did, however, run into a few bugs in the current implementations of the standard – kinks that underscore JSF's youth. They also had trouble finding enough online documentation, especially for the UIData component.
The Institute chose the open source Apache MyFaces implementation over the JSF reference implementation (RI) because of better mailing list support and extra components like the Calendar, which they use in some intranet projects.
Consumi and his team have standardized on JSF for all intranet and Internet projects. This includes the Institute's internal systems for managing documents, personnel, and kintergarden classes. They are in the process of migrating all their public sites as well.
The team uses NetBeans 4.0 on Windows 2000 as the primary development environment. Consumi doesn't miss the visual designer available in tools such as IBM's Rational Application Developer or Sun's Java Studio Creator, but he would have preferred some wizards to ease the development process. The production environment is Debian Linux with Apache 2.0, Tomcat 5.5, and mod_jk2.
The team has worked with JSP in the past, but it has built hundreds of applications with Borland's Delphi. Consumi found JSF's component model to be more accessible than JSP's pure tag-based approach. "Usually we use a combination of Delphi for inserting and maintaining data, and JSF for publishing that data around the company, because I think the web GUIs aren't ready to manage a large amount of data."
Bitten by the JSF bug, Consumi also used JSF to build a site for his photo club. The new site allows him to publish and change photos easily, while also allowing members to navigate through over 14,000 images stored in a Firebird database. Overall, he considers the architecture "elegant", and is happy with the "complete separation of presentation and business logic, and the quite good integration between HTML and JSF code..." He did, however, write more code for navigation through the database records than he expected he would, especially being from a Delphi background.
Overall, Consumi says JSF "is lot better than pure JSP. The result is great." Istituto degli Innocenti's main site can be found at http://www.istitutodeglinnocenti.it. The company has recently published another site partly built using JSF at http://www.biblioteca.istitutodeglinnocenti.it. Consumi's photo club can be found at http://www.emozionifotografiche.it.