At 04:42 PM 2/28/2002 -0500, Ajit Deshpande wrote:
>On Thu, Feb 28, 2002 at 04:28:01PM -0500, Perrin Harkins wrote:
....
>2. True database independence is quite utopian. So, if you are stuck
>   with a certain d/b, then might as well leverage all the rich set of
>   tools available.

Hi,

It is my every intention to attain true database independence for the
application code.

Better yet, every piece of code that uses the P5EEx::Blue::Repository
abstraction will be able to have their requests satisfied by any of
the following (currently envisioned) Repository implementations.

  * P5EEx::Blue::Repository::DBI
  * P5EEx::Blue::Repository::File
  * P5EEx::Blue::Repository::BerkeleyDB
  * P5EEx::Blue::Repository::LDAP
  * P5EEx::Blue::Repository::HTML - for data stored in a web page
  * P5EEx::Blue::Repository::SOAP - remote data storage
  * P5EEx::Blue::Repository::Cache - use the Cache::Cache module

I think you are correct to point out that every database has its
advantages.  I propose that the *configuration* of Repository::DBI
at deployment-time (rather than the use of a distinct API at development-
time) be used in order to maximize db-specific performance.

For that matter, a company might choose to implement their own
Repository driver (i.e. MyCompany::P5EE::Repository::Oracle) if
they want to in order to take advantage of some nifty features.

True database independence must be a primary goal of P5EE or the 
software which is developed for it will not be able to be widely
deployed in the Enterprise!

Stephen

P.S. I am evaluating the degree to which the Repository interface is
redundant to or complementary to such interfaces as Tangram, Alzabo,
SPOPS, and Class::DBI.  My hunch is that I will probably be able to 
implement the following drivers as well.

  * P5EEx::Blue::Repository::Tangram
  * P5EEx::Blue::Repository::Alzabo
  * P5EEx::Blue::Repository::SPOPS
  * P5EEx::Blue::Repository::ClassDBI

We'll see.


Reply via email to