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

ENVIAR A UN AMIGO
COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN GOOGLE +
ARTÍCULO ANTERIOR

SIGUIENTE ARTÍCULO

¡SÉ EL PRIMERO EN COMENTAR!
Conéctate o Regístrate para dejar tu comentario.