7 Replies Latest reply: Jan 31, 2013 3:25 AM by HamidHelal RSS

    Caching the FMX on client side

    Christophe
      Hello,

      Using Forms 11g, so in Web mode, I have several fmx files programmatically called.

      For each call, the fmx is downloaded from the server to the client. Since some of them are quite heavy, I'd like to know how to cache them on the client, like the jar files.

      Anyone has an idea ?
        • 1. Re: Caching the FMX on client side
          Hani
          No way to do this, the only cache is html and jar file
          • 2. Re: Caching the FMX on client side
            Christophe
            Hum thanks.

            So there is no way to reduce network traffic ?
            • 3. Re: Caching the FMX on client side
              HamidHelal
              check this link
              1. http://www.oracle.com/technetwork/developer-tools/forms/275191-1-132651.pdf
              2. http://web.deu.edu.tr/doc/oracle/B25016_04/web/B14032_03/tuning003.htm
              3. Re: (urgent) web cache for forms 10g

              hope this helps

              Edited by: HamidHelal on Jan 30, 2013 4:54 PM
              • 4. Re: Caching the FMX on client side
                Andreas Weiden
                The fmx is not downloaded to the client, its executed on the server and just the "UI" is transfered to the client.
                • 5. Re: Caching the FMX on client side
                  simterico
                  Andreas is right, only information on what is visible on client side is transferred to the client in a message-exchange type way. Similar to Citrix, but more on a component level (e.g. textfield at coordinate xy, content xyz, colour xyz).

                  So for example if you show a data block on a canvas, where there are 10 rows visible - it does not matter how big the query/database table behind the datablock is, the Forms Server only transfers the current screen content (+ any updates) to the client. If you go PgDn, Forms keeps the fields and just transfers the next lot of data - just enough to fill the screen.

                  You can look at the registry.dat file to see the type of components which are transferred, or you can turn on Client side logging in order to see performance data around message exchanges (if I remember right the basejpi parameter is "printHeaderInfo=true" )

                  Anyway, it looks like if you have performance issues with certain big FMX, it is because they take longer to load on the server end & pre-form triggers etc. Worth tracing that.

                  cya
                  Sim
                  • 6. Re: Caching the FMX on client side
                    Christophe
                    simterico wrote:
                    Andreas is right, only information on what is visible on client side is transferred to the client in a message-exchange type way. Similar to Citrix, but more on a component level (e.g. textfield at coordinate xy, content xyz, colour xyz).

                    So for example if you show a data block on a canvas, where there are 10 rows visible - it does not matter how big the query/database table behind the datablock is, the Forms Server only transfers the current screen content (+ any updates) to the client. If you go PgDn, Forms keeps the fields and just transfers the next lot of data - just enough to fill the screen.

                    You can look at the registry.dat file to see the type of components which are transferred, or you can turn on Client side logging in order to see performance data around message exchanges (if I remember right the basejpi parameter is "printHeaderInfo=true" )

                    Anyway, it looks like if you have performance issues with certain big FMX, it is because they take longer to load on the server end & pre-form triggers etc. Worth tracing that.

                    cya
                    Sim
                    Ok thanks for the explanation.

                    So for the forms which are slow to load, it means that the triggers are slow (or making too much job) ?
                    • 7. Re: Caching the FMX on client side
                      HamidHelal
                      Ok thanks for the explanation.

                      So for the forms which are slow to load, it means that the triggers are slow (or making too much job) ?
                      check your form having procedure,trigger or any other validation checking and execution of data when form is loading.
                      For example if your form has EXECUTE_QUERY at when new-form-instance or When-New-Block-Instance and has validation it will may take time. turn off the issues and check the loading time..

                      More block with lot's of record can cause..

                      Hope this helps...

                      Hamid