Esse artigo faz parte da revista Java Magazine edição 27. 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. 

Gerência de conteúdo em Java 

CMS e a Content Repository API  

 

Após um longo trabalho de três anos foi finalizada (em 17 de junho) a JRS -170, Content Reposetory for Java technology API. O Expert Group que definiu a especificação é composto por grandes empresas entre elas Apache, BEA,Sun, Oracle,IBM, SAP, Macromedia e Vignette, e implementações baseadas nesta importante JRS já estão sendo incorporadas a produtos de portal e gerenciamento de conteúdo para a internet e intranets .

Neste artigo iremos apresentar a JRS – 170 e seu modelo de programação. Veremos também uma implementação voltada a desenvolvedores que queriam criar seu próprio sistema de gerenciamento de conteúdo (CMS), bem como um produto de gerência de conteúdo para usuários finais. Apresentamos também alguns produtos de CMS que não derem à JRS – 170.

 

Conceitos de CMS

No contexto de CMS, o termo conteúdo representa “informações puras”, ainda não formatadas para exibição em sites (o ambiente web é o alvo principal das ferramentas de CMS). Por exemplo, arquivos – texto, imagens, planilhas, documentos PDF etc.

Os sistemas de gerência de conteúdo, ou content management systems, visam facilitar a criação colaborativa de documentos. Eles possibilitam a definição de um workflow, com regras e processos: por exemplo, pode-se definir que notícias sejam editadas por várias pessoas, depois verificadas por um revisor especializado e em seguida aprovadas por editores antes da publicação.

Além disso, sistemas CMS possuem interfaces web, possibilitando a administração geral e edição / publicação de conteúdos, e fornecem mecanismos de templates para formatação e exibição estruturada das informações.

 

Java Content Repository

A JRS-170, também conhecida como Java Content Repository (JCR), define uma camada de abstração entre um repositório de conteúdo e um sistema de gerência de conteúdo (CMS). São definidas duas “interfaces”. Uma SPI (Service Provider Interface), voltada aos fornecedores de repositórios e transparentes ao desenvolvedor; e uma API para desenvolvedores, que da acesso aos recursos do repositório.

É uma estratégia similar à do JDBC, que define uma SPI, para a implementação de protocolos específicos e gerenciadores de banco de dados, e uma API padrão para o desenvolvedor. A JCR padroniza e simplifica o acesso de produtos de CMS a diversos repositórios, permite a troca do repositório sem exigir a mudança do produto de CMS. A arquitetura básica é ilustrada na Figura 1.

 

Figura 1. Arquitetura básica da JCR

 

Repositório e seus elementos

Repositórios de conteúdo podem ser implementados de diversas maneiras, por exemplo, diretamente no sistema de arquivos; usando documentos XML; ou por meio de um banco de dados (relacional ou orientado a objetos), entre outras opções.

Um repositório é composto de um ou mais workspaces, onde as informações são organizadas numa árvore de itens, que podem ser nós ou propriedades. Cada workspace tem um nó-raiz, abaixo do qual estão todos os outros itens.

As propriedades são as “folhas” da árvore e são elas que armazenam o verdadeiro conteúdo. Um nó pode, por exemplo, representar uma página simples com título, resumo e imagens, sendo todas essas informações armazenadas em propriedades.

Propriedades podem ter os tipos STRING,DOUBLE,BOOLEAN e LONG ...

Quer ler esse conteúdo completo? Tenha acesso completo