Dive into BC4J and ADF

Send me a mail
 Dive into BC4J and ADF    Click to see the XML version of this web page.   (Updated: 6/3/2006; 11:49:48 AM.)
Tips and tricks from Steve Muench on Oracle ADF Framework and JDeveloper 10g

Search blog with Google:
 

Search BC4J JavaDoc:
 

October 2003
Sun Mon Tue Wed Thu Fri Sat
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
Sep   Nov

Get Firefox!

Wednesday, October 15, 2003

I spent quite a bit of time this week studying a customer testcase to prepare some recommendations on how to improve the network traffic of their three-tier BC4J/JClient application. When building an application that is meant to run in 3-tier, it's advisable to test and profile the network traffic of your application early and often to catch yourself when you write code client-side that should be placed in your server-side components (generating unnecessary round-trips in the process).

JDeveloper has a built-in event profiler that helps you understand the nature of the problem. The screenshot below illustrates the project-level profiler settings that you can use to tune what event information the profiler shows you. Here we've asked it to only display VM garbage collection events (GC) as well as BC4J Remote Method calls.

We demonstrated that by ripping nearly all code out of their JClient thin-client forms, and pushing the "work" into their middle-tier application module, we were able to rebuild a form of similar complexity, UI controls, and number/types of JClient bindings which brought the number of thin-client-to-appserver roundtrips down from over 100 in their example to 15. The form comprised 4 panels with six poplists, two JTables, and some text fields: a total of nine view objects involved in the data model.

I plan on taking the tips that were useful to this customer and publish some kind of generic JClient/BC4J performance "best practices" whitepaper that captures the essence of the advice we sent to them without revealing any specific details of their data or application.

In JDeveloper 10g (9.0.5) we have worked even harder on a new "Batch Mode" that allows us to batch up even more of your operations in a single roundtrip, so hopefully in 10g, those 15 roundtrips at form startup will be able to be counted on one hand (or a few fingers).

In the case of JDev 9.0.3.3 that we used for testing, here's what the event profiler showed us for the final, optimized example Swing form...


2:25:00 PM    



I'll be in Paris for OracleWorld EMEA next week. Stop by the Oracle Demogrounds, JDeveloper hands-on sessions, or my break-out session to say hi if you'll be there, too.
2:13:51 PM    


© Copyright 2006 Steve Muench.