In this short tutorial, I’ll show you how to configure EBS and APEX Environment to develop EBS extended Applications with APEX.
This guide is focused on Windows. It’ll let you set up the EBS Vision OCI instance Image on Oracle Cloud (v. 12.2.10 is recommended). It’ll show you how to give access to Weblogic and configure Firefox to access EBS. It’s worth pointing out that ESR is too old for APEX builder, but APEX apps can still be run.
The article will also take you through the installation of APEX and ORDS – the latter will be standalone with a script to run in the background. That is a “supported option” for EBS 12.2. Finally, you’ll configure the supported schema for APEX to use alongside EBS.
Important: This guide switches between SU and Oracle users. There is not a lot of OPC login unless it’s with the sudo command. Be careful who you are logged in as.
Tools
SQLPlus
At some points after installation, you might need to run SQLPlus – to do this – you must run both of these commands.
sudo -i -u oracle . /u01/install/APPS/19.0.0/ebscdb_apps.env sqlplus / as sysdba
DB start-up and shutdown
sudo -i -u oracle sh /u01/install/APPS/scripts/stopdb.sh sh /u01/install/APPS/scripts/startdb.sh
EBS and APEX Environment – setup instructions
1. Install EBS on OCI Cloud Compute by following this exact guide
However, don’t do step 3.10 (Enable Oracle E-Business Suite Integrated SOA Gateway for REST Services) and step 4.6 outlined there.
Windows hosts should be:
my.public.ip.goes.here change to exact.url.eg.vcnplcinternalv.oraclevcn.com my.public.ip.goes.here myapps.example.com my.public.ip.goes.here apps.example.com
2. Download Firefox “Firefox Setup 52.9.0esr.exe” and install it to a custom ESR folder (do not overwrite your existing folder)
However, don’t immediately run it after the installation. Instead, install Java “jdk-8u121-windows-i586.exe”. It will allow you to install the Firefox Add-Ons required for EBS.
3. Click Windows > Start > Configure Java
Click Security Tab and add the following to the Exception Site List:
http://exact.url.eg.vcnplcinternalv.oraclevcn.com http://exact.url.eg.vcnplcinternalv.oraclevcn.com:8000 http://myapps.example.com http://myapps.example.com:8000 http://apps.example.com http://apps.example.com:8000
Add the following to Windows hosts:
127.0.0.1 www.mozilla.org 127.0.0.1 download.cdn.mozilla.net 127.0.0.1 aus5.mozilla.org 127.0.0.1 download.mozilla.org
4. Run Firefox ESR
Block automatic updates in Firefox. Then go to Add Ons > Enable all Java Addons and check/bookmark EBS in ESR.
apps.example.com:8000/OA_HTML/AppsLocalLogin.jsp
5. In OCI, follow the steps similar to the ones outlined here to add an Ingress 7001 port
Follow this guide to allow traffic to Web Logic. The config.xml file you need to edit is found in:
/u01/install/APPS/fs1/FMW_Home/user_projects/domains/EBS_domain/config
To edit it, set up WinSCP in this way:
Protocol > SCP Hostname > Public IP of instance User > OPC Password > BLANK Advanced > SSH > Authentication > Private Key File > your private key file Advnaced > SCP/Shell > Shell > sudo su -
Once connected, edit the file linked above to change the deny to allow as per the guide mentioned above.
Add port 7001 to the firewall – see below:
sudo su - firewall-cmd --add-port=7001/tcp --permanent systemctl restart firewalld
Restart apps:
sudo -i -u oracle cd /u01/install/APPS/scripts sh stopapps.sh sh startapps.sh
Check/Bookmark Weblogic in ESR
apps.example.com:7001/console
If the above doesn’t work, try to find the URL using this command:
ps aux | grep weblogic
User/pass is weblogic/welcome1 (unless you changed it in step 4.4.e).
6. Download APEX
Ensure you’re still logged in as Oracle or use:
sudo -i -u oracle
Then use the following command:
cd /home/oracle wget https://download.oracle.com/otn_software/apex/apex-latest.zip
And follow the APEX installation instructions outlined here.
It may display an error at the end. If that happens, check files:
/home/oracle/apex/apexins_cdb0.log /home/oracle/apex/apexins_cdb1.log
If it comes back with the following error, it can be ignored.
Application Express installation requires the Oracle XML Database database component.
You can check if XDB is installed anyway by running the SQL code below. I think it failed the reattempts by installing XDB in a second installation phase.
select comp_id, schema, version, status from sys.dba_registry where comp_id = 'XDB' order by comp_id
It should be one row as above.
Finally, in SQLPus unlock the APEX_PUBLIC_USER account (more information here).
alter user APEX_PUBLIC_USER account unlock;
7. Prepare APEX images.
In WinSCP make a folder /u01/software/apex (as suggested by Oracle Base).
Find the /home/oracle/apex/images folder and then right-click and copy on the folder name.
Go back to /u01/software/apex and paste it so that the full folder name is /u01/software/apex/images.
Now, install by running
sudo su - wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm rpm -ivh jdk-17_linux-x64_bin.rpm java -version
The last step (above) just verifies the installation, it should report Java 17. As an OPC user (log out of Oracle/Root by typing exit user if you’re still in), run the following:
sudo yum install ords
And then configure it (go back in as SU).
sudo su - ords --config /etc/ords/config install
Use the following configuration:
Installation Type > Choose option [2] Enter Connection Type > Choose option [1] Enter host name > Enter listen port > Enter service name > ebsdb administrator username > SYS password > [enter SYS password] default tablespace > Enter temp tablespace > Enter features > Enter Start ORDS > [1] Enter <-- Standalone Mode protocol > [1] < http port > [1] <-- 8080 Static Resources > /u01/software/apex/images <-- from step above
ORDS will then install and configure. It will take around 1-2 minutes, and finally load:
2022-12-22T10:28:39.079Z INFO Oracle REST Data Services initialized Oracle REST Data Services version : 22.4.0.r3401044 Oracle REST Data Services server info: jetty/10.0.12 Oracle REST Data Services java info: Java HotSpot(TM) 64-Bit Server VM 17.0.5+9-LTS-191
At any time, if ORDS stops running (for example, due to an accidental Ctrl+C), it can be restarted by using this command:
sudo su - ords --config /etc/ords/config serve
In OCI, follow the steps similar to the ones outlined here to add an Ingress 8080 port. Then add port 8080 to the firewall.
sudo su - firewall-cmd --add-port=8080/tcp --permanent systemctl restart firewalld
Then try it out:
apps.example.com:8080/ords
Running standalone is not ideal. Therefore you’ll need to go through the next step.
8. Configure ORDS as a service
To do this, we will take the ideas from the Oracle Base blog on this subject. Go through the following steps:
- Ctrl+C in putty to quit ORDS
- In WinSCP, create a folder /home/oracle/scripts
- Enter the folder and then Right-Click > New File
- Create a file named start_ords.sh containing this:
export _JAVA_OPTIONS="-Xms1126M -Xmx1126M" LOGFILE=/home/oracle/logs/ords-`date +"%Y""%m""%d"`.log nohup ords --config /etc/ords/config serve >> $LOGFILE 2>&1 & echo "View log file with : tail -f $LOGFILE"
Important: You have to do it this way (i.e through WinSCP) as creating/uploading from the Windows notepad corrupts the file (TBC. It might work via VSCode + LF)
Now, Right-Click>New File, then Create a file named stop_ords containing the following:
kill `ps -ef | grep [o]rds.war | awk '{print $2}'`
Upload the two files in WinSCP to /home/oracle/scripts.
You can run the start script now. When you decide to do so, log on as SU:
sudo su - And then run them like this: sh /home/oracle/scripts/start_ords.sh sh /home/oracle/scripts/stop_ords.sh
9. Before logging in, change the Internal Admin Workspace password
cd /home/oracle/apex
Then in surplus, run the following from a local machine:
alter session set container ="ebsdb" from server
Important: This is experimental. You have to run from your local machine (not the terminal) because the server logs in to a PDB which the local machine doesn’t.
For this (i.e local machine approach), you need TNS names:
EBSVISION= (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = apps.example.com)(PORT = 1521)) ) (CONNECT_DATA = (SID = ebsdb) ) )
Then connect as SYS (using either the experimental or local approach) and run:
@apxchpwd.sql
Then at the prompt:
Administrators Username > Enter Administrators Email > [ADMIN] Enter Administrators Password > Type a Complex Password
After that, try logging in at:
apps.example.com:8080/ords Workspace > INTERNAL Username > ADMIN Password > The Complex Password
If you cannot log in, then I think it’s PDB related… try the other approach i.e experimental/local approach.
10. Prepare the workspace for supported EBS extension with APEX
We are going to follow these flowcharts, specifically the “Recommended Database Architecture” in the “Supported Schema Usage” section.
First, click Create a Workspace.
Workspace Name: XX_APEX Existing Schema: No Schema Name: XX_APEX Password > A Complex Password
Then do the following:
- Go to Manage Workspaces > Manage Developers and Users > Create / Edit User
- Find the ADMIN / XX_APEX user and edit them
- Set Require Change of Password on First Use to No
- Click Apply Changes
- Logout
Now, log back in with:
Workspace > XX_APEX Username > ADMIN Password > The Complex Password
Conclusion
And that’s it. You are now all set up for Oracle-supported development on EBS. If you want to know how to grant access from APPS to XX_APEX, read this. Also, see Insums’ Up and Running Package with EBS. And of course, check out my other APEX-related articles on the Pretius blog:
- Oracle APEX Global Notification messages: An easy way to make them look better
- How the Oracle APEX community helps shape the platform’s future
- Oracle APEX new features – the low-code platform keeps evolving
- Oracle 23c Free Docker, APEX & ORDS – all in one simple guide
- Oracle APEX CI/CD: Step-by-step guide aligned to the APEX Application Lifecycle Technical Paper