Oracle ADF Faces application on Websphere 7.0 - jsf

Can someone please help me out with the Oracle ADF faces application which I'm trying to deploy on Websphere 7.0? Do I need to apply any fixpacks on WAS? I'm trying to migrate this project from Websphere 6.1 to Websphere 7.0.
In Websphere 6.1, after removing jsf implementation jar files and providing them as part of WEB-INF\lib and changing the classloader to PARENT_LAST, the application was working fine.
For websphere 7.0, I can't seem to get the application working. It always picks up the Sun's JSF implementation. I've also tried the shared library concept but to no success.
Regards,
Zahir

The Oracle documentation lists a certification for WAS 7.0.0.13 ND. So you need FixPack 13 or later.
As the WebSphere Application Server 7 is a full blown JEE5 server it requires/has JSF 1.2 support. You can switch between the built in Sun and MyFaces implementation if required.
You should probably make sure that the ADF version you are using is certified for WAS 7. The ADF release notes tell that ADF supports JSF 2.0. The WAS 7 only comes with JSF 1.2. Exchanging the JSF version with placing the JSF 2 libs into WEB-INF/lib works well for our projects in conjunction with the 'PARENT_LAST' classloading policy. Make sure that you set the policy either for the whole application or for both the application and the web module.

ADF Faces is a Java based framework and it will run on WebSphere but, you have to add the required libraries first. The easiest way to prepare WebSphere to run ADF Faces application is through JDeveloper. Alternatively, you can google Oracle JRF (Java Runtime Framework) and install that on your WebSphere, before running the ADF Faces application.

Related

Does Wildfly 18 Supports Seam 2.3 Applications?

I want to migrate an application from Wildfly 8 to the latest Wildfly 18. The web application uses the following frameworks: hibernate 3, seam 2.2, JSF 1.2, and Richfaces 3.3.3. Since hibernate 3 isn't supported anymore in Wildfly, we need to migrate to hibernate 4 which isn't compatible with Seam 2.2. Thus, we have to migrate to Seam 2.3 and this leads to migrating to JSF 2.3 (Wildfly modules) and to Richfaces 4.
My project is an ear that contains inside it a war folder.
For JSF, I am using the supported module by Wildfly both com.sun.faces.impl and javax.faces.api. I also added jsf-facelets-1.1.15.jar as a jar under web-inf/lib.
For hibernate, I included the following jars in my ear: hibernate-commons-annotations-4.0.5.Final.jar, hibernate-core-4.3.11.Final.jar, and hibernate-entitymanager-4.3.11.Final.jar.
For seam, I included the seam jars: jboss-seam.jar, jboss-seam-debug.jar, ...
For Richfaces, I included the following libraries under the war folder: richfaces-a4j-4.5.17.Final.jar, richfaces-core-4.5.17.Final.jar, and richfaces-rich-4.5.17.Final.jar. I also included their dependencies.
I am still getting this error which I am not able to debug: Unsupported Operation Exception.
Did anyone encountered this issue ? And do you know if Seam 2.3 is still supported by the latest Wildfly especially that on Seam documentation, they gave the project examples on Jboss As 7?
Thank you for your help.
The migration you are trying to achieve will result in a non-supported environment as well.
From http://seamframework.org/
Seam Moving Forward
As many of you may be aware, there have been a number of changes
within Seam over the past year. Here is a quick highlight of the
changes and how they may affect you and your application.
Seam 2
Seam 2.2 targets JBoss AS 5 and 6 as well as JBoss Enterprise
Application Platform 5 - Java EE 5 based architecture Seam 2.3 targets
Java EE 6 capabilities such as JSF2 and JPA2 on the JBoss Enterprise
Application Platform 6 - Seam 2.3 also supports RichFaces 4 which is
also available for commercial support via Web Framework Kit. If you
are looking for the long-term support with a service level agreement
of Seam 2.2 and/or Seam 2.3 then please contact us at
http://www.redhat.com/contact/sales.html Seam 2.3 is part of Web
Framework Kit, included as part of the JBoss Enterprise Application
Platform subscription .
Seam 2.3 was released in September 2012. This is an update to the Seam
2 code base to make it compatible with Jave EE 6. It runs well on
JBoss AS 7.
Seam 3
Active development of Seam 3 has been halted by Red Hat. Many projects
have moved over to Apache DeltaSpike , and others have been absorbed
into different projects. Please see the below table for information
about where the functionality from each module has gone and how you
can participate.
So no, it does not support WildFly 18 (Java EE 8)
Richfaces is 'dead' (sunset) for 4 years now. https://developer.jboss.org/wiki/RichFacesEnd-Of-LifeQuestionsAnswers
JSF 2.x has facelets built-in, so no need to include them. (Causes problems even)
Wildfly 18 has JPA2 built-in so no need to include hibernate manually (Might cause problems even)
Also read https://docs.jboss.org/seam/2.3.0.Final/reference/en-US/html/migration23.html
Switching to using
PrimeFaces (fully html 5, css3 etc compliant)
JPA2
CDI (with Deltaspike)
OmniFaces
OptimusFaces
is a way better thing to do (Although JSF is 'old' compared to e.t.c. Angular it is still modern when combined with the above technologies and more stable).

Java Server Faces not present in Eclipse

I'm developing on a Mac OS 10.5.8
I have installed java 1.6 (soylatte) and it is correctly set :
java -version
java version "1.6.0_03-p3"
Java(TM) SE Runtime Environment (build 1.6.0_03-p3-landonf_19_aug_2008_14_55-b00)
I downloaded Eclipse Juno with the WTP stuffs.
I created a web app using JSP technology.
I'm thinking about doing the code modifications to use JSF technology.
So i downloaded Apache myFaces 2.1 jars and added them in my WEB-INF/lib directory.
The problem is that in the project properties / Project Faces section,
I don't have access to Java Server Faces checkbox.
What am I missing ?
[Edit] In response to BalusC comment.
In the "Project Faces" section from my project's properties, there is no checkbox with "Java Server Faces" displayed.
There are a lot of checkboxes (e.g. JPA, XDoclet, etc etc) but not JSF
Here are two good tutorials which walk you through the process of creating a JSF application using Eclipse:
Creating JavaServer Faces JSF application in Eclipse
How to make Eclipse IDE supports JSF 2.0
Your Java version 1.6 and Eclipse version (Juno, version 4) are correct. Since you clarified that JSF is not even present, my first instinct is that Eclipse cannot, for some reason, read the JSF jar files. A similar question was already asked here.

JSF - Trinidad versus MyFaces

I understand that the Trinidad framework is an extension of MyFaces project (who is the JSF implementation). But, I have JSF project that has only the trinidad dependencies. So, I ask:
How works this project without the JSF implementation´s dependencies?
Thank you
Apparently the project which you've in hands is been targeted for deployment on a real Java EE application server.
Normally, JSF is already provided as part of the Java EE API by a decent Java EE application server such as Glassfish, JBoss AS, WebSphere, WebLogic, etc. The web application project does not need to include the JSF libraries at all (like as it does not ever need to include the JSP/Servlet/EJB/JPA/etc libraries when deployed to such a server).
However, in case of barebones JSP/Servlet containers like Tomcat and Jetty, JSF is not provided by the server itself. JSF has either to be manually installed in those containers or to be provided by the web application project itself.
JSF component libraries like Trinidad, PrimeFaces, RichFaces, etc are not part of the Java EE API and thus surely need to be supplied by the web application project itself.

websphere 7 backwards compatibility

I am migrating a JSF application from WebSphere(WAS) 6.1 to WAS 7.0 and I am experiencing html deprecation issues now that I am using the JSP 2.1 API provided with WAS 7.0 as opposed to the JSP 2.0 API provided with WAS 6.1. Weblogic provides the ability to enable backward compatibility (http://docs.oracle.com/cd/E21764_01/web.1111/e13754/compat.htm#i1111538) in the weblogic app deployment descriptor. Is there a similar solution available in WAS 7.0? Is there a way to enable backwards compatibility in a deployment descriptor so the application can use JSF 2.0 API and not face the deprecated html issues?
There is nothing conclusive about this in the WebSphere Application Server 7.0 documentation, therefore I am led to believe that the typical IBM strategy is used here: The JSP engine you're getting with WAS 7.0 is JSP 2.1 compatible, period. You can't replace it and can't instruct WAS to use an older specification level.

Does JSF 1.2 support JDK 1.5 and Servlets 2.4?

I am currently developing a J2EE project using Servlets 2.4 and JSF 1.2. If I deploy my app in WebSphere 6.1, the page renders properly. If I deploy it in Tomcat 6.0 that uses JDK 1.5, the page doesn't render properly and show something like below:
<h:outputText value="#{msg.my_value}" />
I am just curious to know what is the root cause that cause the problem and it's just so interesting that it works in WebSphere and doesn't work in Tomcat although both of them are using JDK 1.5.
WebSphere as being a concrete Java EE application server ships with bundled JSF libraries, but Tomcat as being a simple JSP/Servlet container does not ship with any bundled JSF libraries. If you have paid close attention to your Tomcat server logs, then you should have noticed that there's a ClassNotFoundException on the FacesServlet which should already be enough hint as to the root cause of this problem.
You need to supply your own JSF implementation for Tomcat. This can be done by manually downloading the JSF libraries and placing them in either the /WEB-INF/lib folder of your webapp, or the /lib folder of the Tomcat installation. The latter will apply on all of its deployed webapps, like as happens in WebSphere.

Resources