Monday, February 16, 2009

put 11g ADF app on 10.1.2?

I was asked if we could possibly put an 11g ADF app (rich faces) on an AS 10.1.2 server instance. My instant response was, no...but I needed well defined reasons and my knowledge was failing me. So after a question to Technet here is what Shay Shmeltzer said to me on this subject:

Here is the thread: http://forums.oracle.com/forums/message.jspa?messageID=3275506

Here was his answer in the thread above:


It's very simple: ADF Faces Rich Client require JSF 1.2 (part of Java EE 5).OAS 10.1.2 came with a Java EE 1.3 server - you can install an OC4J 10.1.3 on it and that will bring you to Java EE 1.4 - but you still won't get the needed JSF 1.2 support.On top of it the ADF 11g libraries were compiled with JDK 1.6 - OAS 10.1.2 uses JDK 1.4 (or maybe even older version).

So: here is my take what he said was this:

  1. I have studied the differences between JSF 1.1 and JSF 1.2. These two technologies are implemented by different “implementations” or different sets of Java Libraries. I believe the new libraries are compiled with JDK 1.5 or 1.6. Whereas 1.1 is compile with pre-1.5 JDK versions.
  2. JSF 1.2 components use some Java EE XML formats for the implementations of their components/tags.
  3. The JSF Java libraries main differences are the substitution of “expressions” for “binding” which simplifies and clarifies the purpose of the use of these items in many ways, especially when building custom components. For example a property which is designated as being able to accept a method expression can also take a literal as well as an EL method designation, just by virtue of being an expression. The older method binding would require additional work to deal with a property being able to take a literal or an EL expression. (Please, note that not only are there other differences between 1.2 and 1.1 that I do not yet know about because I am still learning things about JSF 1.2.)
  4. JSF 1.2 is expected to be used with JSP 2.1, JSTL 1.2 and Java EE 5.0, which are usually a factor of which app server/servlet container you are using (i.e., OC4J version, or whatever servlet container you are wanting to use). Whereas JSF 1.1 is designed to use JSP 2.0, JSTL 1.1 and J2EE 1.4.


Note: there are new features in JSF 1.2 that did not exist in 1.1.

No comments: