New Metastorage Web interface and Object Query Language
Manuel Lemos, 2004-06-10 08:00:00 GMT
|A new version of Metastorage was released providing an experimental Web
interface application named WebStorage. It is meant to offer a user
friendly alternative to use the Metastorage compiler tool.
Additionally, the Object Query language that is used to specify
object search query filters was greatly enhanced for this release and is
now fully documented.
WebStorage is an experimental application that is meant mostly for use
by people that for some reason cannot use PHP from the command line to run
the Metastorage generator tool, or simply prefer to use a nice graphical
WebStorage provides a clean Web based user interface with a look and feel
that makes it look like the applications of familiar window based desktop
Sample screenshots were
made available in this site, as well in the
reference manual as part of the step by step guide to generate
component code with Metastorage.
The Metastorage Object Query Language is the other important feature
made available in this Metastorage release. It lets the developers specify
expressions that define criteria for searching for objects of specific
classes or objects that are involved in relationships between different
The expressions of Metastorage Object Query Language are defined with a
simple XML syntax that the developers can use to define objects searches
with any level of complexity, including queries on related objects similar
to SQL joins and queries that use dynamic parameters passed at runtime to
the classes generated by Metastorage.
The Object Query Language expressions are meant to be used in the
definition of class functions that retrieve objects from persistent
storage. The developers have the freedom to define as many functions as
they need to query objects of the same classes or relationships using
search criteria defined with different Object Query Language expressions.
Metastorage compiles the Object Query Language expressions when the classes
functions that defined them are generated. The result of the compilation of
a search expression is a SQL condition that is encapsulated in the generated
classes. The compiled object query expressions have the form of optimized
code that executes the SQL queries to retrieve the data of the persistent
This way, the developer never has to manipulate SQL code manually, making
way for Metastorage to optimize the SQL queries according to the
capabilities of the underlying DBMS, eventually generating stored procedures
when optimizing for DBMS that support them.
Examples of Metastorage Query Language expressions are presented in the
reference manual and in the