Skip navigation.
 
mlDynamic langauge support for fault implementation in Enterpise Objects Framework
FROM : Erik Buck
DATE : Mon May 19 23:55:06 2008

One of the coolest examples of dynamic language untility was provided By Apple's Enterpriise Objects Framework (EOF).
Here is a brief quote from http://developer.apple.com/documentation/LegacyTechnologies/WebObjects/WebObjects_4.5/System/Documentation/Developer/EnterpriseObjects/DevGuide/EOFDevGuide.pdf explaining how object relationship fetching from an object<->relational mapping framework was implemented:
 
Resolution of Relationships and Faulting
  When the Framework fetches an object, it creates objects representing
  the destinations of the fetched object’s relationships. For example, if you
  fetch an employee object, you can ask for its manager and immediately
  receive an object; you don’t have to get the manager’s employee ID from
  the object you just fetched and fetch the manager yourself.
  The Framework doesn’t immediately fetch data for the destination
  objects of relationships, however. Fetching is fairly expensive, and
  further, if the Framework fetched objects related to the one explicitly
  asked for, it would also have to fetch the objects related to those, and so
  on, until all of the interrelated rows in the database had been retrieved.
  To avoid this waste of time and resources, the destination objects created
  are stand-ins, called
  faults
  , that fetch their data the first time they’re
  accessed. Figure 5 illustrates this process.
  The framework allows you to tune relationship resolution by
  prefetching
  relationships and
  batch faulting
  . For more information on these features,
  see the chapter “Answers to Common Design Questions” on page 221.
  For more information on the general faulting mechanism, see the chapter
  “Behind the Scenes” on page 187.

Related mailsAuthorDate
No related mails found.