Oracle recommends Oracle E-Business Suite customers to migrate from Java Plug-In to Java Web Start technology. Java Web Start allows to run EBS forms in browsers that ended support for the Netscape Plug-in Application Programming Interface. In this post we will share our experience on migrating to JWS with Oracle EBS 12.2.

References

Using Java Web Start with Oracle E-Business Suite (Doc ID 2188898.1)
https://blogs.oracle.com/ebstech/getting-support-for-java-plug-in-while-transitioning-to-java-web-start
https://blogs.oracle.com/ebstech/availability-of-multiple-ebs-forms-sessions-with-java-web-start
https://blogs.oracle.com/ebstech/java-web-start-now-available-for-ebs-121-and-122
https://blogs.oracle.com/ebstech/migrate-to-java-web-start-from-java-plug-in-now

Certifications

Refer to the Doc ID 2188898.1 to find minimum JRE release required on the client tier to use Java Web Start with Oracle E-Business Suite 12.2. We downloaded and installed latest at the moment JRE 8 Update 211 to have the newest features like multiple Forms session support.

Pre patch analysis

List of patches required for our EBS 12.2 instance is presented below for example. Please don’t use it for your instances and prepare your custom list according to Doc ID 2188898.1. Already applied patches are marked by [+], patches to be applied are marked by [-].

[-]28700057:R12.TXK.C JWS: Add System Property To forms_jnlp_tmp for Firefox on macOS
[-]28156520:R12.FND.C Oracle E-Business Suite Java Applets launching with JWS + macOS Support using Firefox
[-]29058008:R12.FND.C Oracle E-Business Suite Java Applets Launching with JWS rel 2
[-]29024389:R12.FWK.C JWS: New Preference To Indicate Launch of New Forms Session
[+]24690680 R12.ATG_PF.C.Delta.7 or later
[-]24498616:R12.AD.C AD: Add Java Web Start support to Oracle E-Business Suite
[-]25449925:R12.TXK.C TXK: Add Java Web Start support to Oracle E-Business Suite
[-]25380324:R12.FND.C Oracle E-Business Suite Java Applets launching with Java Web Start
[+]Oracle E-Business Suite Release 12.2.3
[+]R12.AD.C.Delta.8
[+]R12.TXK.C.Delta.8
[+]R12.ATG_PF.C.Delta.6
[+]26825525 //Replaces 25441839 Merge Request On Top Of 10.1.2.3.2PSU

Patching

Invalid objects

Check and write down number of invalid objects before patching. If new invalid objects appear after patching they need to be investigated.

exec utl_recomp.recomp_parallel(4);
select owner, object_name, object_type from dba_objects where status<>'VALID';
 
no rows selected

Prepare environment

Start screen to protect your session in case of network interruption. Save EBS users passwords to variables in order not to provide them for every adop execution.

[oracle@r1228a ~]$ screen -S patching
 
read -s appspass
read -s systempass
read -s wlspass

Check current adop status

Ensure that there is no active patching cycles running currently.

. ~/EBSapps.env run
echo $appspass|adop -status -detail

Start new patching cycle

{ echo $appspass; echo $systempass; echo $wlspass; }|adop phase=prepare

Apply patches

. ~/EBSapps.env run
 
{ echo $appspass; echo $systempass; echo $wlspass; }| adop phase=apply merge=yes patchtop=/home/oracle/patches/JWS patches=28700057,28156520,28156520_AR:u28156520.drv,28156520_D:u28156520.drv,28156520_F:u28156520.drv,28156520_ZHS:u28156520.drv,29058008,29058008_AR:u29058008.drv,29058008_D:u29058008.drv,29058008_F:u29058008.drv,29058008_ZHS:u29058008.drv,29024389,29024389_AR:u29024389.drv,29024389_D:u29024389.drv,29024389_F:u29024389.drv,29024389_ZHS:u29024389.drv,24498616,25449925,25380324,25380324_AR:u25380324.drv,25380324_D:u25380324.drv,25380324_F:u25380324.drv,25380324_ZHS:u25380324.drv
 
adopscanlog -latest=yes
egrep -i "error|warning|fail|ora-|ac-|rc-" 
---
>> no errors
---
 
{ echo $appspass; echo $systempass; echo $wlspass; } | adop phase=finalize
 
{ echo $appspass; echo $systempass; echo $wlspass; } | adop phase=cutover
 
source ~/EBSapps.env run
{ echo $appspass; echo $systempass; echo $wlspass; } | adop phase=cleanup
 
{ echo $appspass; echo $systempass; echo $wlspass; } | adop phase=fs_clone

Compile invalid objects and ensure that their number has not changed

exec utl_recomp.recomp_parallel(4);
select owner, object_name, object_type from dba_objects where status<>'VALID';
 
no rows selected

Enable jws for users

In order to test JWS before enabling it systemwide it can be enabled for one or more application users. Set the following two profile options at the user level:

Enable Java Web Start is set to Yes

ICX: Forms Launcher set to [s_webentryurlprotocol]://[s_webentryhost].[s_webentrydomain]:[s_active_webport]/forms/frmservlet?config=jws

Note: The ‘ICX: Forms Launcher’ profile option gets ?config=jws appended at the user level as application users require a launch method that is different from the site level configuration.

 

To enable JWS for all users after the testing change the value of s_forms_launch_method variable from browser to jws, run autoconfig and restart application services.

Try JWS in action

Login to EBS as user which has JWS profile option on. Launch any form based menu.

jnlp file will be downloaded.

Depending on the browser it can be automatically or manually opened. On the first run you may be prompted to provide path to the application to open the downloaded file. Provide path to javaws executable. Its location may vary depending on the system.

After that user experience doesn’t differ from using Java Plug-in. It’s same Oracle EBS Forms that you have been using previously.

As you see migration to JWS doesn’t require much effort and you will get much benefits in return. We wish that your JWS migration completes without issues. Please free to leave comments and ask questions.