Hobione's Weblog

Living & Breathing in Web 2.0 Era

JavaServer Faces – ICEFaces or RichFaces?

http://forum.java.sun.com/thread.jspa?threadID=5202018

Here what Max Katz’s comments about the thread:
Yes, I saw this thread when it was posted. It’s somewhat of a one-sided comparison.

1) RichFaces offers both, page-wide and component-wide AJAX support.
a4j: tag library gives you page-wide and rich: tag library gives you
component-wide. You have a lot more flexibility with page-wide AJAX
support.

2) RichFaces a4j:push control

> the ICEfaces technology is not shackled to JBoss technology,
This is not true. 90% of the time I’m using RichFaces with just Tomcat
and no other JBoss technologies.

Finally, basic AJAX support in JSF 2.0 (released later this year) will
be more based on RichFaces approach.

Both component libraries are good, my recommendation is, pick one and
stick with it.

JSF AJAX Component Library Feature Matrix *

February 27, 2008 Posted by HobiOne | Java Server Faces, Jboss RichFaces (Ajax4JSF) | | 4 Comments

JSF Drag and Drop (DnD), JBoss Tools 2.0, RichFaces (ajax4jsf):

I chatted with Max Katz, Senior Systems Engineer at Exadel. We have talked about building JSF applications with DnD. JBoss offers JBoss Developer Studio 1.0 or JBoss Tools 2.0. This IDE let you DnD for simple applications but for any complex applications, you have to know manipulate codes. One good thing JBoss Developer Studio/JBoss Tools offers to preview code and it also leverage you to use RichFaces rich components in the IDE (Netbeans does not have a plug-in for RichFaces, no plan in near future). I also asked the differences between IceFaces and RichFaces. To answer to that he said, IceFaces is more proprietary than RichFaces.

HH: How would you compare with Sun’s Woodstock and RichFaces?

MK: In general, RichFaces has been around much longer. This means much
larger user base, more components, more stable, more support and
information available. There are lots of companies that use RichFaces in
production.

HH: How flexible RichFaces 3.1 to work with other component libraries like Trinidad/ADF Faces or Sun’s Woodstock 4.0. In our upcoming project, we need to show Gantt charts, graphs and ADF Faces already has components like that, how easy it would be to bring that component in to RichFaces?

MK: It should work. RichFaces doesn’t do anything *not* to allow you to mix and match other JSF components.
My recommendation is to pick just one library and use it. Mixing and matching component might sound like a great “feature”, but in reality you might create more problems than solutions.

HH: When is the next RichFaces scheduled to release? Any major improvements in the next release?
MK: http://jboss.com/index.html?module=bb&op=viewtopic&t=104575

The main differences between JBoss Developer Studio 1.0 and JBoss Tool 2.0:

JBoss Developer Studio 1.0 is cost $99.00 but with exactly same features JBoss Tool 2.0 is free, imagine that.

RichFaces 3.1 Important Links:

  1. RichFaces home
  2. Forum
  3. Live Demo
  4. Documentations (Great documentation)
  5. JBoss Tool 2.0 start up guide
  6. Why JBoss Developer Studio, and why you should care?

RichFaces Related Links:
Three RIA Tools Examined: JSF, Flex and JavaFX by Max Katz

Example of a JSF + Richfaces application: dVision

Happy Birthday, Ajax4Jsf (RichFaces)

Webnar: (October 30, 2007)

Building Rich Internet Applications with JBoss Rich Faces Webinar with Max Katz Available Online (Red Hat)

Other Links:

Gavin King’s JSF wish list for JEE 6
Adopting a Java Persistence Framework: Which, When, and What?

JSF/Web Tools:

Selenium IDE: Browser compatibility testing.

Selenium Remote Control is a test tool that allows you to write automated web application UI tests in any programming language against any HTTP website using any mainstream JavaScript-enabled browser:

JSFUnit is a test framework for JSF applications:

EasyMock provides Mock Objects for interfaces in JUnit tests by generating them on the fly using Java’s proxy mechanism. Due to EasyMock’s unique style of recording expectations, most refactorings will not affect the Mock Objects. So EasyMock is a perfect fit for Test-Driven Development.

 

Seam Books: Recommended by Gavin King (Founder of Hibernate project and Seam Project Lead).

1. Seam: Simplicity & Beyond with Java EE – Michael Yuan

2. Practical JBoss Seam Project – Jim Farley

3. Beginning JBoss Seam: From Novice to Professional – Joseph Faisal Nusairat

February 26, 2008 Posted by HobiOne | Java Server Faces, Jboss RichFaces (Ajax4JSF) | | 4 Comments

JSF Drag ‘n Drop with JDeveloper 11g

Toady is February 22, 2008. It was an interesting day for me at work. David (my co-worker) and I decided experimenting some JSF Drag and Drop (DnD) IDE to speed up our development process. David downloaded JDeveloper 11g (780 MB) and started doing some tutorials on ADF Faces but unfortunately ADF does not support IE 6. Click here to see the full story

I also had a discussion with JDL about JSF components Vs. Ajax components

HH: What would be advantages using JSF + Ajax components (Woodstock, Richfaces, ADF) vs. pure Ajax libraries (YUI, Tibco, JMaki, GWT) to build web UI?

JDL: The former gives you better integration with your backend objects. They’re also a lot easier to get working but, if you need really fine-grained control, or something for which there is no JSF component, then the latter may be your best bet

HH: I am wonder, if I use JSF in the backend, how easy it would be to work with those pure AJAX libraries like YUI or Tibco?

JDL: You’ll have to do something in your web app to handle the Ajax requests something like DynaFaces. Unless there’s a really good reason for them, I’m not sure I’d put myself through that kind of pain

JDL: YUI and maybe Tibco (I really don’t know anything about it) will not lend themselves well to DnD development. Dreamweaver is supposed to have nice facelets integration.

HH: Thanks for discuss with me about this issue. I am going to stick with JSF+Ajax components. I will take a look at the ICE Faces and see how easy to build UI on Netbeans and I will suggest David to use earlier version to develop ADF DnD.

JDL: /me nods though…jdev– :)(, no one uses it

JDL: JBoss Developer Studio has DnD gui building for RichFaces…checking on others… http://www.jboss.com/products/devstudio

HH: Did you know, ADF does not work on IE 6. ADF Faces 11 extends Apache MyFaces Trinidad though if you use ADF Faces 11 classes/components, I believe you will not be able to use IE6. If you use purely Apache MyFaces Trinidad then I think IE6 will be fine.


February 22, 2008 Posted by HobiOne | Java Server Faces | | No Comments Yet

How to set/add message to the FacesMessage? h:message

Question was asked at the OKC JUG presentation, how to send an error message from server to client.

Here is the code snippet:

<h:inputText id=”email” value=”#{user.email}” validator=#{user.validateEmail}/>
<h:message for=”email”/>

 public void validateEmail(FacesContext facesContext,UIComponent component, Object newValue) throws ValidatorException {
 String email = newValue.toString();
 if (email.equals("")) { // "".equals(email)
 ((UIInput)component).setValid(false);
 FacesMessage message = new FacesMessage("Email address is required.");
 facesContext.addMessage(component.getClientId(facesContext),message);
 }
 }

Here is an another great questioned was answered by Jason Lee
A ValueChangeListener Question and Answer:

HH: How hack proof the required=”true”, can some one by pass it and update my model?
JDL: It’s processed server side, which helps, i think it’s safe to assume that the field will be non-null and ” ” != null

February 19, 2008 Posted by HobiOne | Java Server Faces | | 2 Comments

Glassfish jdbc connection pool or jdbc datasource setup

February 19, 2008 Posted by HobiOne | GlassFish | | No Comments Yet

Glassfish Default Welcome File List

http://test.amc.gov instead http://test.amc.gov/index.jsp

Under domains/domain1/cofig/default-web.xml

<!– ==Default Welcome File List========== –>

When a request URI refers to a directory, the default servlet looks for a “welcome file” within that directory and, if present, to the corresponding resource URI for display. If no welcome file is present, the default servlet either serves a directory listing, or returns a 404 status, depending on how it is configured.
If you define welcome files in your own application’s web.xml deployment descriptor, that list *replaces* the list configured here, so be sure that you include any of the default values that you wish to include.

 

<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

 

It did not work so I went ahead added to my root application web.xml

 

<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
</welcome-file-list>

 

After redeploy my app, it worked.
Now I can access my domain or app without typing index.jsp/index.html/index.htm

February 14, 2008 Posted by HobiOne | GlassFish | | No Comments Yet

Application Server – Mime type set up

 \SunAppServer9.1Update1\domains\domain1\config\default-web.xml

<mime-mapping>
<extension>ppt</extension>
<mime-type>application/powerpoint</mime-type>
</mime-mapping>

Details in David WB’s blog … 

February 12, 2008 Posted by HobiOne | GlassFish | | No Comments Yet

Sun Java Application Server 9.1 – OutOfMemoryError

We have installed SJSAS 9.1 on our production server (SPARC). It has 8 GB memory.

In the first day, we were getting whole lot of sever warning:

PWC1406: Servlet.service() for servlet TechnicalLibraryServlet threw exception java.lang.OutOfMemoryError: Java heap space

So, we have increased the heap size from default 192 to 512

Application Server –> JVM Settings –> JVM Options
Out of memory
How to check the current heap size?
Application Server – Monitor –> Runtime
How to Monitor SJSAS 9.1?
Setup a Monitor: Configuration –> Monitor
setupmonitor.jpg
How to View?
Application Server –> Monitor (You may the Display Chart button to see nice looking graph)
How to check Open and Close Connections?
Application –> Monitor –> Resources
Server Resource
Full Admin Guide for SJSAS 9.1: http://docs.sun.com/app/docs/doc/819-3671/

 

——————————————Episode2——————————————————————–

Apparently by increasing heap size did not help much. So we decided to install SJSAS 9.1 Update 1

Java Forum Thread:
http://forums.java.net/jive/thread.jspa?threadID=36239&tstart=15

Results: Wonderful but what an experience. I wish Sun would have fixed this out of memory issue before distribute SJSAS 9.1. I guess that’s why they came up with UR 1, which makes sense.

 

February 5, 2008 Posted by HobiOne | GlassFish | | 2 Comments