Artigo Java Magazine 09 - Cocoon

Artigo publicado pela Java Magazine.

Esse artigo faz parte da revista Java Magazine edição 09. Clique aqui para ler todos os artigos desta edição

Atenção: por essa edição ser muito antiga não há arquivo PDF para download.Os artigos dessa edição estão disponíveis somente através do formato HTML. 

 

Cocoon Inicial

Publicação Web com XML, XSL e Java

Gustavo Nalle Fernandes

Uma introdução prática ao framework Apache para publicação web, baseado em tecnologias XML e construído 100% em Java

O Apache Cocoon é um poderoso framework livre, criado em Java, para a construção de aplicações baseadas em XML, contemplando a separação entre conteúdo, lógica (processamento de dados e geração de conteúdo) e estilo (forma como o conteúdo é exibido).

Características e vantagens

Uma das principais características do Cocoon é o seu suporte à separação de responsabilidades, segundo a qual, profissionais de diferentes perfis podem restringir-se apenas ao trabalho no qual têm maior especialização. O Cocoon tem a vantagem de separar completamente a lógica e estilo; não existe código Java nem marcações de templates dentro de páginas HTML/WML, ou em qualquer outro formato de apresentação utilizado. Isso é possível com o uso de XML e XSL – o XML é responsável pela descrição do conteúdo; o XSL, entre outras coisas, pela forma como o conteúdo é exibido.

O Cocoon permite a geração de XML a partir de diversas fontes, tais como sistemas de arquivos, banco de dados, servidores LDAP, páginas HTML e web services, só para citar algumas. O conteúdo pode ser apresentado em muitos formatos: HTML, XML, WML, TXT, PDF, XLS, PNG, JPEG, entre outros.

Por apresentar uma arquitetura modular, não é difícil estender o Cocoon para criar componentes que atendam a necessidades específicas. Pode-se, por exemplo, implementar o suporte a um formato diferente de apresentação, ou permitir o acesso a um novo tipo de fonte de dados. No entanto, os muitos componentes e exemplos que já vêm com o Cocoon tornam extensões desnecessárias para a maioria das aplicações.

Nota: a criação de aplicações baseadas no Cocoon exige o conhecimento básico de XML e XSL. Os tutoriais indicados nos links são boas fontes para o aprendizado dessas tecnologias.

Pipelines

A atividade central na construção de aplicações baseadas no Cocoon é a interconexão de três tipos de componentes: Generators, Transformers e Serializers.

A função de um Generator é gerar eventos SAX através do parsing de um documento XML, que pode ser proveniente de um arquivo em disco, uma consulta SQL, um arquivo XHTML gerado a partir de uma página HTML, enfim, de dados de qualquer fonte capaz de produzir XML.

Os Transformers recebem os eventos SAX dos Generators, realizam algum tipo de transformação (XSL, por exemplo) e geram novos eventos SAX, que são consumidos pelos Serializers; estes geram a representação final do conteúdo: páginas HTML, documentos PDF, imagens de vários tipos etc.

Uma combinação de um Generator, Transformers (zero ou mais) e um Serializer constitui um Pipeline, a unidade básica de processamento do Cocoon (veja a Figura 1).

Um pipeline pode ainda conter Matchers, componentes com função semelhante a uma instrução if, e Selectors, que permitem implementar estruturas lógicas similares a um switch/case. Os pipelines são declarados no arquivo sitemap.xmap, localizado na raiz da distribuição do Cocoon.

A Listagem 1 mostra dois exemplos de pipelines. O primeiro é ativado quando for feita uma requisição na forma "/site/relat-**.xml" (que corresponde a qualquer URL com prefixo "/site/relat-"  e sufixo ".xml"). A execução do pipeline é iniciada por um Generator do tipo " [...] continue lendo...

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados