I am currently in the process of upgrading an enviroment from 10g to 11g.
One of applications that was installed as part of the 10g enviroment is a mod_plsql application.. it does not use APEX.. just pl/sql and mod_plsql.
While reading about and installing APEX and the Apex listener i found many similarities between the Apex listener and mod_plsql
IN an effort to consolidate i was wondering if its possible to use apex listener without APEX and just for the pl/sql applications?
Anyone have any thoughts/ideas?
Many, but not all mod_plsql applications will work fine with the Apex Listener. The main difference is that mod_plsql's basic database authentication doesn't work (at least not with the production version 1 of Apex Listener - I haven't tried the EA releases of version 2 yet). Basic database authentication leaves the username and password out of the DAD configuration, and the application prompts the user for a database username and password and connects to the database as that user. The Apex Listener always connects to the database as the same user. Any further authentication has to be built into your application.
You may also have trouble with any images, css files or other resources that your application expects to be at a particular URL relative to the context root of the application. These can often be zipped into a .war file and deployed along side of the apex listener, or provided by the application server in some other way.
Search the forum for more information.
When you configure the Apex Listener, you will be able to specify an Oracle database to which the listener is to connect, along with a user name and password. When you are connecting to a non-Apex Web PL/SQL application, you will want to specify a user in the database that has EXECUTE privileges on the procedures (or packages) that make up your application. That could be the owner of the application, but for security, I'd recommend some other less privileged user to which the owner has granted the needed privileges. You may also want to create SYNONYMs for the executables in the application, so the user doesn't need to use the schemaname.objectname syntax. If there is a particular procedure in the application that you want to be executed first, you can make this the default procedure for the application. Go through the manual for the Apex Listener and you will see some other options you can configure.
Because the default context root - this is the home for the application in the URL - for the Apex Listener is "apex", you may want to change it when you install the listener for a non-Apex application. How you do this will depend on which application server you are using to host the Listener, but is often as easy as renaming apex.war to the name you want to use - say myapplication.war to make the context root /myapplication instead of /apex. This is sort of like the location name you use for your DAD with mod_plsql.
Once you've got it configured, running the application is just like running it with mod_plsql - use URLs like: