JSF Central - Interview with Michael Lyubchenko
JSF Central

 
 Home 
 
 News 
 
 FAQ 
 
 Products 
 
 Articles & Books 
 
 Resources 
Interview with Michael Lyubchenko
 
Interview with Michael Lyubchenko
by Kito D. Mann
02 Nov 2006 00:00 EST

Michael Lyubchenko, Java architect and project manager at SoftAspects, talks about the WebGalileo Faces component suite, JSF/AJAX integration libraries, JSF 2.0, and the biggest problem with developing JSF components.


KM: Tell us about yourself, Michael.

ML: I'm a 34-year-old Java architect and project manager at SoftAspects, a software development company in Ukraine. My Java experience dates back to 1999. The most exciting Java project I've worked on these past years is WebGalileo Faces, a JSF component suite for the development of complex web projects; the first commercial JSF components suite became publicly available in June 2004.

KM: How did you get involved in JavaServer Faces?

ML: I had been working a lot with Java web presentation frameworks by the time when Sun released the JSF specs and Reference Implementation (RI). My colleagues and I saw a huge potential in JSF for all Java developers, enabling us to unify the way any web application could be developed. We thought that if we could release components that may be useful in real-world projects, it would prove the huge benefits of using JSF as the de-facto standard for the presentation tier.

KM: What is your relationship with JSCAPE?

ML: SoftAspects is a JSCAPE development partner. As for the WebGalileo Faces, both companies are involved in the development and marketing of the product.

KM: What was your goal with WebGalileo Faces?

ML: Our goal was, and still is, to provide an affordable JSF components suite that would enable us to save time and money developing complex web projects. The initial release of WebGalileo Faces in June 2004 offered a bunch of useful features, including full support of the JSF spec and the ability to run with any implementation (Sun, MyFaces); a rich JSF component set (not available from other JSF component vendors); deployment support for most application servers; and component design time support in Sun Java Studio Creator, which was the first commercial JSF integrated development environment (IDE) at the time. With those features, Java developers were able to jumpstart their JSF projects.

Today, many vendors offer commercial JSF component suites, making developer dreams come true in terms of ease of project development and overall usability of the Web GUI.

To compete on the JSF components market today, our WebGalileo Faces team focuses on the following areas: hide the complexity of AJAX behind the components Java API; provide drag-n-drop support in browsers for existing and new components; extend the list of supported browsers; provide drag-n-drop support for major commercial and open source JSF IDEs—plug-ins for Sun Java Studio Creator, Oracle JDeveloper, IBM Rational Application Developer, Eclipse to name a few are already included in the WebGalileo Faces suite.

KM: With JSF, there are two primary approaches for AJAX support: using a specialized PhaseListener and writing a custom servlet. Which approach does WebGalileo Faces use, and what is the benefit of your components over one of these AJAX integration libraries?

ML: WebGalileo Faces uses the PhaseListener approach, because this is the native method of AJAX integration in the current JSF 1.2 spec.

Various JSF components available on the market use different AJAX integration approaches each with its own pros and cons pertaining to a particular vendor. The main benefit of WebGalileo Faces is that the most complex and popular web UI components among developers have built-in AJAX support (Container, Tree, Table, and so on) enabling additional usability in complex web front ends.

I think that different integration approaches will be available very soon, when an AJAX-aware request-response lifecycle will be included in the JSF spec, as was the case with JSF when it was included in the Java EE 5 spec. Then the only question will be how the components included in a vendor's set of components simplify the development of Web 2.0–enabled applications. JSF component vendors then won't be bound anymore to AJAX server-side processing but they will be able to make the client side of the components fully AJAX enabled.

KM: What do you think about products that simplify AJAX development such as Exadel Ajax4jsf and Avatar (now incubating in the jsf-extensions project at java.net)?

ML: Ajax4jsf and Avatar are both noteworthy approaches of JSF AJAX integration. Ajax4jsf provides the seamless support for existing standard JSF components with AJAX-aware JSF lifecycle. Although it can be easily accomplished with standard JSF components, for third-party JSF components it will demand some redesign using the component development kit soon to be released by the Ajax4jsf dev team. When available, our development team will provide Ajax4jsf integration for WebGalileo Faces components to give JSF developers the freedom to mix up AJAX components from different vendors in the same application.

By contrast, the Avatar concept suggests AJAX awareness as part of the JSF spec and not on the level of additional components and handlers as Ajax4jsf does.

Anyway, tremendous developer effort dedicated to both approaches clearly indicate that AJAX-transparent integration is of superior importance for the next JSF 2.0 spec release.

KM: What do you think is the best feature of JSF in terms of component development?

ML: The JSF RenderKit feature is among the best; it supports different client devices.

KM: What is the biggest problem with developing JSF components?

ML: From a vendor's point of view, the biggest problem is the lack of unified design-time metadata support in different IDEs for JSF components. WebGalileo Faces focuses on seamless design-time support in major JSF IDEs, and it uses different approaches when integrating with the ones. I hope that JSR 276 EG will finalize the design-time metadata spec very soon, so that the component and IDE vendors can advance JSF development to the next level—drag-n-drop development with the same components set in any JSF IDE.

KM: What features are you excited about for JSF 1.2, and what would you like to see in JSF 2.0?

ML: For JSF 1.2, this is definitely the unified Expression Language (EL) for both JSF and JSP. For JSF 2.0, I'd like to see native AJAX support in the request-response lifecycle.

KM: How do you think your consulting business has influenced the way you develop your components?

ML: All our current projects that are under development use JSF as the front end. They serve as the trenches and the success indicator for WebGalileo Faces.

KM: Your components were among the first with support for several IDEs. Which IDEs do your clients use the most?

ML: Sun Java Studio Creator and Oracle JDeveloper are used often. Think Eclipse will get the third spot, as soon as the WTP JSF subproject adds a third-party components visual palette and design-time experience.



RSS feed(all feeds)

Inside Facelets
Learn how to use Facelets, an alternative to JSP.
In the Trenches
Read about real-world JSF projects!

Sponsored links

Site version 1.83  Report web site problems

Copyright (C) 2003-2007 Virtua, Inc. All Rights Reserved. Java, JavaServer Faces, and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. Virtua, Inc. is independent of Sun Microsystems, Inc. All other trademarks are the sole property of their respective owners.