Consejos de Instalación Cocoon 2 para Principiantes

Cocoon 2, como parte del Proyecto XML de Apache, es un marco de trabajo para publicaci�n Web altamante flexible que utiliza componentes reutilizables. Cocoon 2 utiliza documentos XML, mediante SAX, como su API intercomponente. Siempre que un componente acepte y emita XML, funcionar�.

Cocoon 2 es un marco de trabajo para publicar XML. �Qu� significa esto? No es una base de datos que almacena contenido XML, ni un servidor de aplicaciones J2EE que proporcione facilidades de servicio Web para servir contenidos. En lugar de eso Cocoon 2 se construye entre esas dos capas. Es un marco de trabajo para procesar contenidos. El procesamiento de contenido se consigue ensamblando l�neas o tuber�as (pipelines) de componentes.

.�Ejemplos Sencillos

Empecemos con el caso m�s sencillo. Un documento escrito en XML est� almacenado en un fichero (file.xml), es procesado mediante una hoja de estilos XSL (stylesheet.xsl), y luego se sirve como HTML. Abajo podemos ver un pipeline Cocoon que puede realizar esta tarea:

Todas los pipelines empiezan con un generador. En la figura anterior, el generador lee un fichero del sistema de ficheros y lo convierte en un stream SAX de XML. El componente central, en este caso un transformador XSL, aplica las etiquetas de presentaci�n HTML, aceptando un stream XML y emitiendo otro. Finalmente, el componente final, un serializador, termina el stream y saca los contenidos en formato HMTL. Este pipeline de tres-estados se aplica a tantas p�ginas de un site dado como defina el usuario. Este ejemplo parece trivial porque dos de los tres componentes tienen que ver con el inicio y final del pipeline, pero ilustra la situaci�n m�s simple.

La figura anterior muestra una situaci�n m�s t�pica, Las p�ginas contienen tanto contenido est�tico como din�mico obtenido de una base de datos. El nuevo componente introducido aqu� es el Transformador SQL. Las sentencias SQL embebidas en el documento XML original se procesan y reemplazan con una hoja de resultados XML. Por ejemplo, si el documento fuente contiene esto:


<guest-list>
  <sql:execute-query>
    <sql:query>
      SELECT CONCAT(lastName, ', ', firstName) as name, age
          FROM guest WHERE status = ARRIVING;
    </sql:query>
  </sql:execute-query>
</guest-list>

Un posible documento de salida del Transformador SQL podr�a ser �ste:


<guest-list>
  <row-set>
    <row>
      <name>Bush, George</name>
      <age>56</age>
    </row>
    <row>
      <name>Jackson, Michael</name>
      <age>42</age>
    </row>
    <row>
      <name>Einstein, Albert</name>
      <age>105</age>
    </row>
  </row-set>
</guest-list>

La ventaja clave de �sto es que el fichero fuente se convierte en un documento de l�gica de negocio muy condensado. No hemos tenido que preocuparnos, ni siquiera tratar con el API JDBC. En su lugar, el contenido del documento inicial ha solucionado el problema de negocio.

Finalmente, supongamos que un base de datos local contiene una lista de s�mbolos de stocks de los que deseamos obtener sus precios actuales en el mercado. Esta p�gina podr�a ser parte de un portal como Yahoo. El problema de negocio podr�a solucionarse con un pipeline multi-componentes como el que vemos en la siguiente figura:

El fragmento XML de entrada al Transformador SOAP podr�a parecerse a esto:


<soap:query url="http://www.mystock.org:8080">
  <soap:body>
    <getStockPrice>
      <stockName>IBM</stockName>
      <stockName>HWQ</stockName>
      <stockName>BEA</sockName>
    </getStockPrice>
  </soap:body>
</soap:query>

Observa que para este ejemplo se ha utilizado un transformador XSL para preparar la salida del transformador SQL al formato exacto requerido por el transformador SOAP. Podemos utilizar XSL para una gran variedad de tareas que van m�s all� de la representaci�n HTML.

.�El Proyecto Cocoon de Apache

El Proyecto Cocoon de Apache es un proyecto de la comunidad de c�digo abierto que desarrolla los marcos de trabajo Cocoon y las aplicaciones basadas en Cocoon. Con unas fuertes bases en los marcos de aplicaciones Web del lado del servidor basadas en XML, este proyecto consta de un grupo de gente que comparte valores comunes sobre la colaboraci�n intensiva en un desarrollo de c�digo abierto y de calidad basado en la comunidad. El Proyecto Cocoon de Apache comparte estos valores con su organizaci�n progenitora: The Apache Software Foundation.

El proyecto Cocoon de Apache actualmente consiste en:

  • El propio Apache Cocoon.
  • Lenya, un recientemente incubado marco de trabajo para el control de contenido en websites basadas en Cocoon.

COMPARTE ESTE ARTÍCULO

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

SIGUIENTE ARTÍCULO