El sistema de publicación en web Cocoon

Cocoon es un sistema de publicaci�n electr�nico basado en XML/XSL orientado a documentos.

Es 100% Java y est� basado en est�ndares. Adem�s es probablemente el framework de este tipo m�s maduro y reconocido. Como publishing framework aporta las ventajas descritas en el apartado anterior y adem�s tiene caracter�sticas de valor a�adido como:

  • Open source.
  • Altamente configurable y personalizable.
  • Incorpora la caracter�stica de poder escribir p�ginas de servidor aptas para el trabajo con XML (XSPs).
  • Permite diferenciar el procesado del documento en funci�n del dispositivo o tipo de software que realiza la petici�n.
  • Incorpora un sistema de cach� que permite un rendimiento muy elevado.

Cocoon puede trabajar como un programa en l�nea de comandos pero su uso normal es como Servlet para la publicaci�n a trav�s de la Web.

.�Estructura de Cocoon

Desde el punto de vista estructural Cocoon se compone principalmente de los siguientes elementos:

Estructura de Cocoon
  • Productores: Son las fuentes del XML. Pueden ser desde ficheros XML est�ticos hasta objetos Java que generen XML din�micamente. Dentro de los productores cabe destacar las XSP (eXtensible Server Pages). Son parecidas a las JSP s�lo que en lugar de compilar a un servlet, compilan a un Producer, que es la interfaz que debe implementar cada productor de XML que se integre con Cocoon.
  • Procesadores: Son los encargados de tratar el XML de los productores y someterlo a diversos procesos consecutivos. Por ejemplo las XSP son transformadas a clases Java por un procesador, otro procesador permite hacer peticiones a bases de datos en funci�n de instrucciones en XML y otro por ejemplo puede aplicar transformaciones XSL al XML.
  • El Reactor: Es la pieza central encargada de extraer del xml generado por los productores las instrucciones de proceso que determinan que procesadores actuar�n. Como estas instrucciones pueden ser cambiadas por los procesadores se puede alterar din�micamente el flujo de proceso del xml.
  • Formateadores: Son los encargados de recoger la representaci�n interna del xml resultante de los procesadores y prepararlo para enviarlo como respuesta al cliente en el formato adecuado (texto, html, xml, wml...).

Cabe destacar que Cocoon es un producto muy abierto. Podemos crearnos nuestros propios productores, procesadores y formateadores e integrarlos perfectamente. Adem�s podemos cambiar el parser XML y el motor de transformaci�n XSL por el que m�s nos convenga.

Para aprender m�s acerca de c�mo crear Producers y Formatters se puede visitar http://xml.apache.org/cocoon/dynamic.html.

.�Funcionamiento de Cocoon

A nivel funcional, el trabajo de Cocoon desde una petici�n del usuario a la devoluci�n del documento final, a grandes rasgos, pasa por las siguientes fases:

  1. El usuario pide un documento.
  2. Se analiza la petici�n para saber a que productor de XML corresponde.
  3. El productor genera un documento XML.
  4. El reactor extrae las instrucciones de proceso del documento y se lo pasa al procesador adecuado. Y as� sucesivamente hasta que no queden m�s instrucciones a procesar. Hay que tener en cuenta que los procesadores pueden a�adir m�s instrucciones de proceso.
  5. El resultado le llega al formateador. Si es un documento final le aplica el formato solicitado seg�n el tipo de documento y se le env�a al cliente. Si lo que llega es c�digo ejecutable (XSP compilada), el Loader lo recoge y lo coloca como productor empezando otra vez desde el paso 3.

Este ser�a un modelo muy simplificado, donde se ha omitido, por ejemplo la cach� de Cocoon. Para aprender m�s sobre la cach� de Cocoon ver el cap�tulo de referencias al final de este curso.

.�eXtensible Server Pages (XSP)

Las p�ginas XSP vienen a solventar las dificultades de las JSP en el trabajo con XML.

Para leer una comparativa XSP vs JSP puede acudirse a: http://www.oreillynet.com/lpt/a/620.

Una XSP no es m�s que un documento XML donde podemos incluir contenido est�tico y l�gica para generar XML din�micamente. Dentro del modelo de Cocoon ser�an productores.

Aqu� vemos c�mo a partir de un contenido se obtienen diversas vistas para distintos formatos.

XSP

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
SIGUIENTE ARTÍCULO