One thing that might be a possibility here is the use of the WebDAV protocol.

WebDAV is technically an extension of HTTP, is implemented in the
webserver you are already using (although it might need to have the
module be enabled...) and requires no active back-end intrepreted
language such as PHP, Perl or Python.

WebDAV allows the typical HTTP operations for GET, PUT, POST, and HEAD,
but adds to those with the additional operations of: PROPFIND, PROPPATCH
(used for managing 'properties' but could be database elements in
collections), COPY, MOVE (designed to remotely move server-side files),
SEARCH, BIND, and some others...

WebDAV is designed to work on atomic items remotely, meaning you don't
need to "GET" the entire file, you can specify to work with an
individual record out of that file.  I believe this primarily works with
XML elements.

It is theoretically possible to have your "database" be a structured set
of directories and files, such as:
http://server/webdav/dir1/dir2/file-area and the 'webdav' handler in
that path would use dir1/dir2/file as the equivalent of the REST-like
"dir1=foo&dir2=foo&file=foo" type operands in a GET request.

At the file level, you could actually have the file be an XML file,
containing numerous records.  WebDAV also provides locking mechanisms so
that multiple writers are not conflicting or locking each other on
writing to that file.

While I haven't tried this, it is certainly worth exploring - if you are
allowed to run the WebDAV extension (I don't know, your IT administrator
might rule that out too.)  I also haven't any idea if node.js, jquery,
or similar Javascript frameworks have built-in WebDAV client support.

Some of the more complex implementations implement WebDAV through custom
server-side code, Java, PHP or the like.  You'll need to focus on what
you get with the base protocol as you would have enabled in Apache.

Check out these:
* http://www.webdav.org
* http://www.webdav.org/specs/rfc4918.html
* XDB is open-source and uses native WebDAV to store/retrieve
semi-structured, schema-less data.  (Probably requires back-end Java or
something though...)
* Milton (http://milton.ettrema.com/index.html) is a Java process
(perhaps not exposed through Apache but runs in it's own external
process through Tomcat) which provides WebDAV for remote
applications (looks like it's designed for files/folders, but not
database files.)

Well there might not be anything which automatically fits the bill, but
with some ingenuity you should be able to cook up something that exposes
your data elements over basic WebDAV-Apache (but would have to be stored
in files since you can't use a back-end language).

It's also an area I'm interested in, just due to the general 'NoSQL'
concept, and distributed content access over a cloud-like system.  (A
pattern where thousands of current users need to access the same set of
content which could be held in files, but only 1 or 2 users would ever
update those files remotely - the shared filesystem such as NFS on the
backend is the storage - no SQL needed.)

DK

On 28Feb2011 06:15PM (-0700), Chris Louden wrote:
> Totally. The content can be loaded into a div on a page of HTML using
> a single call in jQuery that utilizes the load() function.
_______________________________________________
LinuxUsers mailing list
LinuxUsers@socallinux.org
http://socallinux.org/cgi-bin/mailman/listinfo/linuxusers

Reply via email to