Hi Robert
If you are curious about the Content Repository for Java Technology,
than I recommend you start with reading yourself through
http://www.jcp.org/en/jsr/detail?id=170 or
http://incubator.apache.org/jackrabbit/
From there on you will find a lot of interesting information.
One of the reasons to introduce a Repository (vs. data source) is the
fact that in many global organisations you have all sorts of datasources
using all sorts of API/protocols to access them. So imagine you as a
developer could write something like
--> String title = hierarchyNode.getProperty("MyPageTitle"); <-- (where
hierarchyNode could be the webPage)
and you would not have to worry about WHERE the value for "MyPageTitle"
is stored? Your repository takes care of finding the datasource (e.g.
filesystem, rdbms, etc.) containing the correct value.
Now imagine furthermore, that your piece of data is indexed (for
searching), versioned, encrypted, access-controlled, etc. without you
having to write any additional code?
Yes, the Content Repository for Java Technology (aka JCR), or actually
the API, does exactly that FOR YOU.
So as a Developer you develope your jsp/java based applications without
worrying about datasources. If for some reason SysAdmin or Management
decides to put some/all data into some other sort of datasource, they
configure the datasource (through the "Persistence Manager") into the
repository; your code does not need any changes. In fact, your code does
not even realize that it's getting the content from somewhere else.
The discussion thread you are following is about which underlaying
datasource to use. So that means they are discussing about which so
called "Persistence Manager" (which communicates to a datasource and
stores the data) is best to configure as a standard for Magnolia.
And that in fact is a very interesting discussion! It's philosophical
(rdbms vs. fs) or technical (performance issues) or both :-)
Just to give you an idea: If the repository manages my content, when do
I use a RDBMS and when a FS? Why does Jackrabbit (the Reference
Implementation) use a FS? If you think more about a RDBMS: isn't it a
"structured" filesystem with it's on Query language (I know, a little
provocative :-) )?
So imagine again: Why not using SQL syntax on top of a FS? Strange?
Well, SQL and XPATH are the search methods for the Content Repository.
And, to finish: If the FS is hierarchaly organized and there is a SQL
syntax to read content, don't I have something like a "Hierarchical
Database"?
Robert, I tried to keep above on a "conceptual" level, so it may sound
easier than it technically is. But maybe it helps you understand a
little more about the repository concept and why many people think JSR
170 is as revolutionary as the intro of rdmbs was.
/giancarlo
Robert Van Overmeiren wrote:
Is it DB 4.3, DB XML 2.1, or DB Java Edition?
So this is an embedded dbase? Is it like ObjectDB, the embedded JDOQL
dbase?
Its not some sort of ODBC RDBMS is it?
Is it correct to say that the API is not SQL, or JDO, but JCR?
Some big corps use it, Google, Cisco, Amazon, ..., so it must be pretty
good.
Where did this concept of a 'repository' come from?
When I first looked at Magnolia and saw it used a 'repository' with XML
files, I thought, 'Oh the Java guys like to configure things and store
info in XML files, so this 'JSR' standard must be a way to standarize
those practices'.
Now you're attaching it to this JCR implementation and that JCR
implementation, and now a dbase, so I don't know what to think. Of
course, as a user, I don't care, right? Its all transparent.
----------------------------------------------------------------
for list details see
http://www.magnolia.info/en/magnolia/developer.html
----------------------------------------------------------------