The listener (or APEX Rest Data Services as it is now called as of version 2.0.6) does not need to be on the same server as the database where APEX is housed. There are a couple of options. The listener can be run in standalone mode (not recommended for production use) or can be deployed to a Java application server, such as Oracle's GlassFish OpenSource Server or Oracle's WebLogic server. The former has no cost, but the latter does. So, no, you do not need a separate installation of APEX on the Windows server. You can review these options here (have a look at the Installation Guide --> Downloading from Oracle Technology Network --> Downloading from OTN and Configuring Application Express Listener): http://docs.oracle.com/cd/E37097_01/welcome.html
The listener can be running from any server as long as it can communicate with the database server where APEX is housed.
Let me know if this helps.
Backintheday was correct! Thanks for the info!
For anyone else that happens to run into this setup. Maybe I missed it in the documentation or maybe it wasn't clear. Hopefully this will clear it up for others that are wondering about this.
I'm a unix guy and not really familiar with windows server but I found this stuff out. On the windows server under Services, I found the internet service and it had several entries under oracle. The server is also setup as a BI server. I ended up taking out a few "Oracle BI Java Host", "Oracle BI Scheduler", "Oracle MTSRecovery", "Oracle-ohsProcess","Oraclev9204Client". I found that the ohs entry was the old Apex server and the other ones seemed to not be needed to make BI and Apex run so I removed them. Then I wanted the new service to be started automatically so I downloaded a tool called NSSM and was able to create an entry that pointed to a batch file.
I tried to get it to run with glassfish but couldn't so I just ended up running it with the Apex listener.
But I also had lots of java.lang errors in using the Apex listener. When I started the process on the server from the command line, it appeared to work normally. But as soon as I tried to connect via browser, the command line process window would scroll a bunch of errors. It was the server name. I didn't think it would be case sensitive. When I typed in "java -jar ords.war setup", I entered the fully qualified server name in lower case "server1.mycompany.net" along with the username and password. When I did a TNSPING to that server, it showed "SERVER1.MYCOMPANY.NET" as the server name so when I used that it worked. My quick steps to get it running after unzipping the files was this:
java -jar ords.war setup
java -jar ords.war static e:\oracle\products\apex\4.2.4\images
java -jar ords.war standalone --port 80 --context-path /myapp
**Obviously, the server name (Server1), domain (mycompany), and context-path (myapp) all had the real names in there. But the access path from browser for above configuration was:
My next hurdle will be to make glassfish run as expected.