Search

Dienstag, 26. November 2019

Migration of Oracle ADF from Oracle Weblogic to GlassFish app server , bumpy road ahead!

This is a “prelude” to what I am planning to do next, as I wrote previously in my blog I have written a Oracle ADF application for my own goal to provide my freelancer service ot my clients and to communicate to the rest of the world.

I plan to prepare my web app to move into a Docker container and of course I don’t need a Weblogic for that, because I have tiny web app, which is no so dependent to Weblogic app server, but it's Oracle technology after all.

Latest Eclipse version of Glassfish or Payara latest version?

Good question! 

I was able to deploy in both server environments, but i pick Payara, because of Payara support and ongoing development , the future of Glassfish is bright too , because now the Eclipse foundation is responsible for further development and of course very active community.

I decided to use it in another application server, because running Weblogic for my tiny app is obviously a overkill, therefore I have two options Glassfish or Payara.
My choice was a Payara, sure if i would have more time i tested it on Wildfly or Websphere or Tomee , but i pick what i know which works really good.
Before i continue further, dear reader you need to read this blog (Thanks to Oracle director of management Shay Shmeltzer) about running Oracle ADF on Glassfish server, its a mandatory that your read previously mentioned blog!

Did your read the Shay Shmeltzer blog ?
Good then proceed further.......

Read this blog about support of features in Payara for Oracle Weblogic stuff.

YOU ABSOLUTELY NEED TO DOWNLOAD THE ORACLE ADF ESSENTIALS FOR YOUR VERSION OF JDEVELOPER!!!! 


DOWNLOAD LINK FOR ORACLE ADF ESSENTIALS


Optional , but read it anyway the Oracle migration guide for Glassfish

Here actual steps for latest Payara server (no warranty that it will work in your case!)
1. Download current Payara server and unpacked where it suits you, dont forget to assign user rights and make it executable .
Dont forget to set up in Payara console following jvm options:

<jvm-options>-XX:MaxPermSize=512m</jvm-options>
<jvm-options>-Doracle.mds.cache=simple</jvm-options>

2. Copy ADF libs into your Payara installation in my case it was
  • payara5\glassfish\domains\domain1\lib\ 
  • payara5\glassfish\domains\domain1\lib\applibs

following contents for each of the directory 


adf-controller-security.jar
adf-share-base.jar
adf-share-ca.jar
adf-share-multi-tenancy.jar
adf-share-security.jar
adf-share-support.jar
adflogginghandler.jar
adfsharembean.jar
com.oracle.db.jdbc-dms.jar
com.oracle.http_client.http_client.jar
com.oracle.ojsp.globaltldcache.jar
com.oracle.ojsp.web-common.jar
com.oracle.webservices.fmw.oc4j-ws-support-impl.jar
com.oracle.webservices.fmw.web-common-schemas-impl.jar
commons-beanutils.jar
commons-digester3-3.2.jar
commons-logging.jar
dms.jar
jakarta-commons-el-1.jar
jakarta-commons-el.jar
javamodel-rt.jar
javatools-annotations.jar
javatools-jndi-local.jar
javatools-nodeps.jar
jrf-api.jar
jsp-el-api.jar
mdsrt.jar
oicons.jar
ojdbc8dms.jar
ojdl.jar
ojdl2.jar
oracle-el.jar
oracle.logging-utils.jar
oracle.xdb.jar
orai18n-mapping.jar
orai18n-utility.jar
orai18n.jar
org.apache.bcel_6.2.jar
resourcebundle.jar
share.jar
xmlef.jar
xmlparserv2_sans_jaxp_services.jar,

Following libs i added to Payara, because i always got the exception during the deployment! (In your case the "experience" can be different!)

bc4j-mbeans.jar
adfmweb.jar
adfm.jar
jmxspi.jar
jmxframework.jar
jfr.jar
com.oracle.weblogic.management.provider.internal.jar
com.oracle.weblogic.management.base.jar
com.bea.core.management.core.jar
com.oracle.weblogic.security.jar
commonj.sdo.jar
For missing jar look them up in your jdeveloper or on weblogic directory. Used it with caution!!!

set your web.xml  delete it if you find this code:

 <welcome-file-list>

    <welcome-file>faces/index.jsf</welcome-file>

  </welcome-file-list>

Use this blog for configuring your page without faces! YOU NEED TO CREATE index.html and specify the path to index file which in my case was like  /projectname/faces/index

Because in Glassfish it works only faces/index , but in weblogic is /faces/index watch out!

Did you checked it ?

3. Start your Payara server and prey that it work, it can happen that you need take the mentioned om Oracle Guide libs:
 
javax.faces.jar, javax.el.jar ,but in my case i didn't use that.

4. Start Payara (asadmin start-domain) look up the server log, and don't forget to change the password of the server, if its a new server.
If in your log you see, something like class not found exception its ok!
Use this site for finding in which jar the java class stacked and then looked it up in your Jdeveloper installation or in Weblogic (both are freely available), copy it into Payara above mentioned directory (of course in such case you need to restart your server)Here some description of what exactly each of the java package responsible for!
5. Just to spare your time here is a reference to standard webconsole of payara server:

http://localhost:4848/
6. Now it will be very  interesting deploy your app , make sure that:


  • Both web controller and 
  • Disable the implicit CDI in deployment vie on Payara!
  • specify that you wish to use jfr.jar in Libraries input field for your deployment  
  • the project itself has deploy plan for Glassfish (in my case deploy plan for glass fish was Glassfish 3!)

Jdeveloper is pretty picky about it!
Jdeveloper write own xml stuff for each of different deployment so don't forget to adjust the right deployment plan for that!
7. Actual deployment:
I recommend first to deploy into file ear, and the deploy trough the Payara deployment interface in web console, funny thing in Glassfish 5.1 the deployment ui was actually broken, but i hope the Eclipse community already fixed that nasty bug.Option here some additional recommendations from Oracle how to deploy into Glassfish
Summary:The development in Payara and Glassfish seems some how difficult , because you assume that app server have all what it needs to run your app, but this only partially truth, you need actually sometimes more or you wont have full features of your Oracle ADF app. 
For me this pain was expected , but i really enjoyed the development in ADF it was fast and stable , when somebody says we give you big bucks for Angular or you normal rates for Oracle ADF, i say give more Oracle ADF ;) I love it!

Conclusion: talk is cheap show us!



Here for the first time your will seem my web app !

Better quality video!

Another video streaming platform watch here too! (same video as in youtube , but good alternative)

1 Kommentar:

All comments are pre moderated be polite and respectful!

Blog-Archiv

Blog readers favorites