5 Replies Latest reply: Feb 15, 2006 12:48 AM by 114271 RSS

    (urgent) web cache for forms 10g

      Hi all,

      We have application running on oracle 10g Aps resently migrated and we got couple of freequently used forms by default my webcache is on but i dont know how can i specifialy say that thease forms to be cached like if i see my webcache page i could see some of the gifs had cached but no specific forms how can i do this.
      I shall be highly be obliged if one can clear my queries in the forum may wish to add to 2cents to my infinetly minimal knowledge of webcache.
        • 1. Re: (urgent) web cache for forms 10g

          I'm totally new to forms. What extension does a Forms page have? Say, Forms pages have the extension '.xxx'. Then, in Web Cache Admin Console, go to the page where you can specify caching rules and add a rule to cache pages with the extension 'xxx'.

          Hope this helps!

          G.E.S. Priyanka
          Oracle Web Cache Team
          • 2. Re: (urgent) web cache for forms 10g
            Forms only can use Web Cache for load balancing, nothing else.
            • 3. Re: (urgent) web cache for forms 10g
              Martin Bach
              Is there any up-to-date information on how to use Webcache (preferrably with Forms? I am thinking of having 2 webcache machines acting as load-balancers in front of a AS farm. The document I found on Metalink (207668.1) is a bit old....

              Looking forward to hearing from you,

              • 4. Re: (urgent) web cache for forms 10g
                Not really true. You could setup a rule to cache the JAR files for Forms. Additionally, you could cache the GIF files accessed by the applet, though it would be better to move those image files into a JAR file. Why?...

                If you use a static HTML file to call your forms, that would be cached by default.

                Because the client JVM caches the files. You can view this in the Java Console of JInitiator or your Java Plug-in. Additionally, you can see when the image files are served from the JAR files by looking in the Java Console as well. Change to level 5 trace in the Java Console window and look for GIF files with a path that includes http://server/forms/jave/filename.jar!/filename.gif. Notice the ! symbol. That shows a client JAR cache hit for that GIF file. Served locally, doesn't even make it to Web Cache!

                The rest of the communication really isn't cacheable. Communication goes from the Applet (Client JVM) through Web Cache to the HTTP Server to the OC4J_BI_Forms container (OC4J JVM) that runs the Forms listener servlet which talks directly with the Forms Server runtime process running as a Unix process (C, not Java).

                So, the only communication that goes between the applet and the Appliction Server is just the messages between the applet and Forms Server process telling the applet how to refresh the display on the client's applet screen and telling the Forms Server process what to do with the data and code being run. This communication is optimized by using message diffs, so it is relatively efficient. But an application not optimized for the web might use chatty functionality that slows things down a bit.

                Anyway, xhomet is essentially right in that Web Cache doesn't do much of any significance besides load balancing. Caching JAR files might make sense for you though if you have a lot of users all getting this JAR or an updated JAR at the same time.

                Hopefully you foundthis interesting.

                • 5. Re: (urgent) web cache for forms 10g
                  Additional update: Forms uses FMX, PLL or PLX, MMB or MMX files. These are called by the Forms process running on the OS and don't go across the network and as a result don't go through Web Cache or the app server.

                  Initial client startup can be slow since a file around 1.5 MB needs to be downloaded and unpacked before the applet can start. Additionally, if the user has never run Forms, they'll have to download JInitiator which adds several more MBs. I guess you could cache that too :-).