Oracle Application Express is a web-based, scalable development framework based on the Oracle Database, available from the Oracle 9.2. Oracle APEX follows a thin-client logic, demanding most of the processing and validation operations to the Oracle DBMS itself.
Oracle APEX is also available in the free XE version of the Oracle Database.
While providing an Oracle APEX solution to a small set of users, it's of course a good idea to deploy it in the "Embedded PL/SQL Gateway" way, simply following step by step the guidlines as specified in the Oracle official documentation.
In this way however, after a successful installation and while logging into your new APEX system, you could face the presence of the a dialog box asking a password for the "XDB" user:
The server xxx at XDB requires a username and password.
followed by the same request, but for the "APEX" user:
The server xxxxx at APEX requires username and password
This is why the Oracle XDB HTTP Server is by default configured to use the same TCP port of the APEX Listener, the 8080. If you do not want to use a different port or disable the XDB HTTP Server completely, here is a simple workaround.
First of all, we unlock the XDB user:
ALTER USER xdb ACCOUNT UNLOCK;
...and we set a new password:
ALTER USER xdb IDENTIFIED BY xdb_new_pwd;
We make the same for the ANONYMOUS user (as described by the Oracle documentation) and for the APEX_PUBLIC_USER.