Dive into Oracle ADF

Send me a mail
 Dive into Oracle ADF   Click to see the XML version of this web page.   (Updated: 2/3/2008; 9:13:31 PM.)
Tips and tricks from Steve Muench on Oracle ADF Framework and JDeveloper IDE

Search blog with Google:
 

Search BC4J JavaDoc:
 

May 2004
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          
Apr   Jun

Get Firefox!

Friday, May 28, 2004

Sung Im posts a couple of new articles about The Difference Between Entity State and Post State and Conditions When Detail Query in ViewLink Gets Executed.


4:28:26 PM    



Fernando writes in to ask:

I want to deploy a BC4J app as JavaBeans (not EJB) in an iAS9.0.2.2 with 3 middletiers. My question is: will the data modified via middtier 1 app be propagated to midtiers 2 and 3 app's cache?

In short, the answer is "by design, not automatically". Here's why, and what choices you have as the programmer. BC4J very deliberately uses the database's SGA as it's cross-client shared cache. That's what the database does best: super-efficient cross-client data caching and retrieval. We don't try to duplicate the sophisticated behavior of the database's read consistency model outside of the database. We take the approach of letting the database handle that complicated job, and keeping the application programming layer simpler and more predictable. 

So the answer is:

It will behave the same as the behavior you can observe by launching two BC4J Component Tester instances and experimenting with the data modification scenario that you want to understand better.

After a user has made a change to an entity object and successfully committed, other users will see that change the next time they:

  • Query in that row via some view object
  • Call refresh() on that row
  • Call findByKey() to find that row via some view object, or
  • Call findByPrimaryKey() that row via an entity definition.

Whether the two users happen to be both using the same "middle tier" or different "middle tier", the behavior is consistent. Each root AM instance has its own entity cache of just the instances that current session has touched.

Of course, a user in the process of making pending changes that haven't yet been posted (so that they only exist in that users entity cache) will continue to "see" their own pending changes, just as you would expect for pending changes made by a user at the SQL*Plus command line. The key difference is that with BC4J, you don't need to have posted those changes to the database to correctly "see" them as pending in your ongoing query results as you continue to work through the user's modifications being made as part of the same transaction.


1:39:20 PM    


I recently heard John F. Kennedy's 1961 innaugural speech again.The words that most resonated with me were:

I do not believe that any of us would exchange places with any other people of any other generation. The energy, the faith, the devotion which we bring to this endeavor will light our country and all who serve it--and the glow from that fire can truly light the world.

And so, my fellow Americans: ask not what your country can do for you--ask what you can do for your country.

As we've been brainstorming lately about how more effectively evangelize Oracle JDeveloper 10g and Oracle Application Development framework, for some odd reason these words of John Fitzgerald Kennedy kept popping back into my mind.

I know from all the emails I receive, and great technical questions I get asked, that we have a lot of enthusiastic, satisfied customers who have built amazing business applications using our tools and frameworks (some using our application server and database, others not). However, somewhat frustratingly, I don't see many of them sharing their enthusiasm about and experience with the product in the wider Java development community. Am I not just participating in the right online forums to see their efforts? Is it just that they have business applications to finish and no time to write about it on blogs or articles in magazines?

And so, my fellow JDeveloper users: ask not what your IDE and framework can do for you--ask what you can do for your IDE and framework... :-)

In the recent book I read called Creating Customer Evangelists, Ben McConnell and Jackie Huba make a compelling case for the fact that the most powerful evangelists for  products (both software and not) are enthusiast, satisfied customer who turn around and tell anyone they can tell about your product. If you are a satisfied user of JDeveloper and/or our BC4J/ADF frameworks who might be inclined to share more of your technical tips with the rest of the world, send me an email and let me know what it would take to get you to start blogging about it in public. Would a free, hosted blog at www.orablogs.com be a good place to start? I'm just thinking out loud, but very interested in what you have to say about it.

I'm convinced that getting to the next level of broader Java developer community awareness of our product, depends a lot on getting you all more involved. What do we need to do to help you help us get there?


10:49:55 AM    


As I continue to chip away at the technical whitepaper to accompanying the ADF Toy Store Demo, I've been contacted by several developers who are already familiar with the BC4J Toy Store Demo implementation who said, in so many words:

Is there any possible way you could just send me the demo code in the meantime? It would be helpful to me right now even without the whitepaper!

While I'm hestitant to make a pre-release of the demo available (without whitepaper) to developers who are not already familiar with the existing BC4J Toy Store Demo implementation, if you are up to speed on the existing implementation and are desparate to get your hands on the ADF Toy Store code, send me an email and I'll do my best to help you out.

For those new to ADF, it's really best to wait until the whitepaper is done. Still probably a week or two away, realistically.


10:28:12 AM    


© Copyright 2008 Steve Muench.