cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marcelo F. Ochoa" <moc...@ieee.org>
Subject Re: A lurker's RT -- proactive cache
Date Sun, 25 Aug 2002 23:28:36 GMT
Miles Elam wrote:

> <snip>
>
> On the other end, instead of fam, the same might be used for databases 
> as well.  For example, PostgreSQL could have a trigger function 
> written that, when a dependent set of tables are changed, a cache 
> expiration queue table could be populated with the affected entries 
> and a linked C function (in the database) could fire off a "cache 
> expired" message to the app server.  But of course, this requires that 
> something like Cocoon have a socket listener or constantly open 
> connection to its data input source. 

  This kind of expiration messages is already implemented into DBPrism 
External Invalidator Server which works with ESI 
(http://www.w3.org/TR/esi-invp) invalidation protocol.
   I'll upload a new patch to Cocoon's Bugzilla system with the new 
implementation of DBPrism beta sources at this time only available 
through CVS access into DBPrism SourceForge website 
(http://sourceforge.net/projects/dbprism/), look at the link browse CVS 
and the directories prism/src/org/apache/cocoon/* .
   New implementation of InMemoryServerImpl provides support for basic 
and avanced selector using regular expresion 
(http://www.dbprism.com.ar/dbprism/doc/xdocs/Server.html)
  A tipical flow of interaction using databases as source of 
invalidation messages is showed at 
(http://www.dbprism.com.ar/dbprism/doc/cms/CMS-WebCache.html), but the 
source of the invalidation messages could be any sources, including a 
simple telnet program which contact the invalidation server and sent the 
message like this:

POST /dbprism/x-dbprism-cache-invalidate HTTP/1.0
Authorization: BASIC aW52YWxpZGF0b3I6aW52YWxpZGF0b3I=
Content-Length: 190

<?xml version="1.0"?>
<INVALIDATION VERSION="WCS-1.0">
  <OBJECT>
    <BASICSELECTOR URI="/docs/samples/xsp/simple_ext.xsp"/>
    <ACTION REMOVALTTL="0"/>
  </OBJECT>
</INVALIDATION>

  The listening process is a simple XSP page 
(http://www.dbprism.com.ar/dbprism/view-source?filename=/invalidate.xsp) 
which interprets the invalidation message and contacts the invalidation 
server running inside cocoon.
   DBPrism CMS provides a set of Oracle triggers that synchronizates the 
content of the CMS with the content showed by Cocoon providing an 
average repsonse time similar to static xml pages.

>
> <snip>
>
> More info on fam: http://oss.sgi.com/projects/fam/faq.html
> More info on TUX: http://www.redhat.com/docs/manuals/tux/TUX-2.2-Manual/ 

  I'll look these urls ;)

>
>
>
> Thanks for your time,
>
> Miles
>
>
  Best regards, Marcelo.

-- 
Marcelo F. Ochoa - mochoa@ieee.org
Do you Know DB Prism? Look @ http://www.plenix.com/dbprism/
More info?
Chapter 21 of the book "Professional XML Databases" (Wrox Press 
http://www.wrox.com/)
Chapter 8 of the book "Oracle & Open Source" (O'Reilly 
http://www.oreilly.com/catalog/oracleopen/)
-----------------------------------------------
Lab. de Sistemas - Fac. de Cs. Exactas - UNICEN
Paraje Arroyo Seco - Campus Universitario
(7000) Tandil - Bs. AS. - Argentina
Te: +54-2293-444430 Fax: +54-2293-444431





---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
For additional commands, email: cocoon-dev-help@xml.apache.org


Mime
View raw message