rewritten concise summary of my database module

Darren Duncan darren at DarrenDuncan.net
Mon Jan 20 00:39:49 CST 2003


For those of you who are interested, I am working on release 0.02 of my Perl framework for database abstraction, which should be uploaded in a few days.  There were large improvements.

Following discussions with modules at perl.org, I have decided to name the framework and its root module "Rosetta".  It uses a top-level name since that seemed the most appropriate first to Tim Bunce, and then to me also.  I chose "Rosetta" because that name is symbolic for what my framework does.  In retrospect, this is much better than "DBIx::Portable" ever was.  Regardless, I still thank all of you who helped me out with picking the older name, and release 0.01 will live forever in the CPAN historical archives under that name.

Below this letter is a copy of my module's abstract, which I wrote to be as concise as possible, basically summarizing other documentation.  So it should give you an idea where I was heading, or at least much better than any old discussions, I suppose.  Yes, it lacks example code; but hopefully that isn't a problem right now.

Have a good day. -- Darren Duncan

----------------------------------------

The Rosetta framework is intended to support complex (or simple) database-using
Perl 5 applications that are easily portable across databases because all
common product-specific details are abstracted away.  Rosetta is designed to
natively handle (interface to or implement) a superset of generic RDBMS product
features, so that you can do any action that you could before, including
standard data manipulation (including complex multi-table selects or updates
with subqueries or stored procedure calls), and schema manipulation (tables,
views, procedures).  At the same time, it is designed to do its work quickly
and efficiently.  The native interface of Rosetta (RNI) is unique to itself and
verbose, being designed to use non-ambiguous structured definitions of all
tasks; all input is multi-dimensional data structures (or objects) having
atomic values, rather than strings to be parsed.  It is intended primarily for
a data-driven application programming model, where an application uses a "data
dictionary" to control what work it is doing (whose composite values map
directly).  For cases where you don't already have a data dictionary, Rosetta
can scan your existing database to create one.  That said, Rosetta also
includes emulators (which sit on RNI) for common existing database interfaces,
so that most Perl applications can simply use Rosetta as a hot-swappable
replacement for them; you do not have to "learn yet another language" or
re-code your application in order for it to just work with more databases. 
Add-on utilities are also available for the likes of copying or backing up a
database, or editing one through a web interface (like PHPMyAdmin but for Perl
and any RDBMS).



More information about the Victoria-pm mailing list