Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re^2: new module pl2sql

by tqisjim (Beadle)
on Sep 20, 2012 at 18:25 UTC ( #994720=note: print w/ replies, xml ) Need Help??


in reply to Re: new module pl2sql
in thread new module pl2sql

I would describe pl2sql as an ORM, as the name implies. However, I would describe Class::DBI and the others as an ROM, since it maps database functions (normally implemented in SQL) to class methods. Hence, Class::DBI defines numerous methods to correspond to their database equivalents. For nomenclature, this ORM designation seems somewhat Orwellian- its name has an opposite meaning. In fact, a Class::DBI object is exactly an RDB table represented as a Perl object.

PL2SQL takes the opposite approach. It provides automatic persistence (in an RDB table) of any arbitrary complex object. PL2SQL has two methods: The first assigns the object to a designated table via a unique ID. The second retrieves the object. It also uses a "Universal table definition" which provides reusability. Finally, a single table can be applied to numerous object types, instead of the one-to-one correspondence required of Class::DBI.

In fact, the "Universal table definition" is based on an XML representation of an arbitrary object. I lack the expertise to precisely place this module in the Universal jingo taxonomy, but based on Wikipedia, I would describe it as an XML-enabled XML database.

I took the liberty of posting your response on my website and my response there is structured a little differently. You should have better luck reading the description, but you'll need to enable javascript in order to read the comments. That feature is uses AJAX.


Comment on Re^2: new module pl2sql

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://994720]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (15)
As of 2015-07-06 20:02 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (82 votes), past polls