1. First of all, is Oracle GlassFish Server free? Does it require license cost per CPU like Oracle Weblogic does?As Prabodh already mentioned, there exist two different editions of GlassFish by now: The officially supported Oracle GlassFish Server (with license costs) and GlassFish Server Open Source Edition (free). While you can run APEX Listener on both of these JEE Containers, you will not get any support through MOS when using the latter one.
2. We currently have an extranet box that runs Oracle HTTP (actually Oracle HTTP inside Oracle AS 9i). If we need to use APEX Listener, should we install the J2EE Container (Oracle GlassFish) with APEX Listener inside our "Intranet" and only the Oracle HTTP Server in our extranet server? I'm confused about the appropriate method for "extranet" environment.I'm not sure if this has become clear yet: You don't actually need OHS for APEX if you start using APEX Listener. You can deploy APEX Listener to a GlassFish on your extranet server. It'll connect to the database listener of your APEX instance using JDBC like OHS/mod_plsql did before.