Wednesday, October 23, 2013

Our experience with Apex Listener 2.2 implementation

I try to list out the issues and learnings from our Apex Listener implementation here:

1. Which J2EE server to use to deploy apex listener
A. In my opinion, 10.1.3.X of Oracle Application server or Weblogic 12.1.2 is recommend.  GlassFish server was not as straightforward and I was concerned about the support may not be as good as Oracle AS and Weblogic when it comes to raising SRs and troubleshooting. I could be wrong but that was my understanding after going through some readings.

2. What is the equivalent of dads.conf
A. defaults.xml has most of the parameters that dads.conf  had in a modplsql implementation. dads.conf is more intuitive compared to defaults.xml.

3. Where are images stored ?
A. I had some confusion over this since apex listener 1.1 had actually stored the images in the war file and there were some documents out there which explained on how to add custom images later without generating the war file. But this is no longer true in Apex Listener 2.2. You store only the location where the images are stored in the war file and you can add any images to that location as long as that location is not changed.

4. During installation weblogic some screens just hang
A. Using vnc server solved this problems. If you used xterm then some screens where you are expected to enter passwords are greyed out or the installation hangs.

5. Noticed that the admin server comes up pretty quickly in 12.1.2 as compared to the 11g Fusion Middleware without using any of the workarounds that were suggested for 11g FMW slow startups of admin servers (you can google on this issue and you will find what those workarounds were)

6. We had a requirement , wherein, the application was using a different context-root (in apex listener or java terminology). This implementation was straightforward in modplsql implementation. If developers had an application that wanted to use http://www.example.com/pls/apex and http://www.example.com/pls/apex2 but both of them pointing to the same database, we had defined an additional dad in dads.conf file for apex2. But in apex listener, we had to deploy apex.war as apex2.war so that apex2.war would be deployed with the context-root apex2.war. There were methods on suggestions on how one could change the context-root of apex.war  (using the --context-root option when deploying the war file) but that was only  if you had one application that wanted to use a different context-root. But in our case we had multiple applications and both were actually going to the same database but were using different context-roots.  I think in all cases, multiple war files are not required (you could have an apache redirect in most cases) but in our case it was required as the application had verified what was the source ip (so one set of applications just allowed you to pass through and the other applications were verifying the source ip). The point I am trying to make is y ou may have to deploy multiple war files to change context-root in some cases and this is a pain point in my opinion when you do upgrades of apex listener (in modplsql implementation, you did not have to bother about this once you had the entries in the dads.conf file).

7. In the load tests that were done, apex listener was better than modplsql implementation in terms of handling the load. At the least ,it is as good as modplsql implementation. I did not have to modify the defaults.xml and load test was run for 100 concurrent users successfully.

8. Configuring for multiple databases using the map-url and workspace-id features of apex.war exists but I have not been to get it to work successfully. I will have to revisit this but again this is one of the features that is not straightforward in an apex listener implementation (compared to modplsql implementation - just another entry in dads.conf file would have been enough)

9. You can integrate Apex applications with  Oracle Ebusiness Applications  and apex listener is the only supported way of doing it. This is one more reason why you would want to move to apex listener. But you can still integrate modplsql based apex applications with oracle ebusiness ( it works but not supported and recommended)

10. The support at forums.oracle.com for Apex Listener is very good and you usually get good and valid responses from here if there are any implementation questions.

No comments:

Post a Comment