Universidade Federal de Santa Catarina Departamento de

Propaganda
Universidade Federal de Santa Catarina
Departamento de Informática e Estatística
Bacharelado em Sistemas de Informação
Rafael Strecker Coelho de Souza
ANÁLISE E COMPARATIVO DE FERRAMENTAS CMS COMPATÍVEIS
COM A JSR-170
Proposta completa para o trabalho de conclusão do curso de Sistemas de Informação da
Universidade Federal de Santa Catarina
John Cleber Jaraceski (orientador)
Florianópolis, abril de 2006
1. Definição do problema
Quase todos os gerenciadores de conteúdo têm um repositório de
conteúdo próprio. Este repositório estende uma camada de armazenamento,
normalmente uma base de dados relacional, com alguns serviços que
qualquer aplicação de conteúdo atual exige. Estes serviços, como: controle
de versão, workflow, tem diferentes terminologias e interfaces de
programação diferentes. Assim percebe-se que é necessária uma interface
padrão para o acesso aos repositórios de conteúdo. As grandes empresas
produtoras de CMS, uniram-se e definiram para a linguagem Java, uma
especificação para esta padronização de acesso aos repositórios. Tem o
nome de JSR-170 Java Content Repository, com o objetivo de fazer um
padrão de acesso semelhante ao que foi feito com a especificação da Java
Database Connectivity (JDBC). Auxiliando assim desenvolvedores, usuários
finais, fabricantes de repositórios.
1.1. Problemática
O problema em si é fazer uma análise das ferramentas de
gerenciamento de conteúdo que sob a ótica da JSR-170. Comparando-as, e
mostrando suas vantagens e desvantagens.
1.2. Objetivos
Os principais objetivos deste projeto são: a análise das
implementações existentes da JSR 170,a descoberta de novos problemas
conforme o desenvolvimento da análise, a acumulação de massa crítica
sobre o assunto.
1.2.1. Objetivo Geral
Pesquisar o uso da especificação pelos softwares de gerenciamento de
conteúdo atuais.
1.2.2. Objetivo Específico
•
Conhecer as pesquisas e possíveis soluções para o desenvolvimento
da interface padrão de acesso ao CMS.
•
Analisar os gerenciadores de conteúdo existentes de código aberto que
implementam a especificação.
•
Analisar
os
principais
gerenciadores
de
conteúdo
que
não
implementam a especificação.
•
Elaborar um comparativo entre estes gerenciadores de conteúdo,
mostrando as vantagens e desvantagens entre eles, sob a ótica da
JSR 170.
1.2.3. Motivação
A principal
motivação
do
estudo
está
na
análise
e
futura
implementação de uma tecnologia nova, que propiciará uma nova geração
de gerenciadores e repositórios de conteúdo.
1.3. Metodologia
Inicialmente pesquisar todos os CMS que já suportam a especificação .
Após isso efetuar uma análise das implementações existentes, sob os
ângulos do desenvolvedor, do fornecedor de repositório e do usuário final.
Trazendo assim um comparativo entre o modelo antigo, e o novo modelo
proposto.
3. Desenvolvimento
3.1 Gerenciadores de Conteúdo Compatíveis com a JSR 170
No momento, há duas opções de gerenciadores de conteúdo
compatíves com a JSR 170. São eles o Magnolia http://www.magnolia.info e
o Alfresco http://dev.alfresco.com/ . Estas duas implementações são livres e
de código aberto. Ambas possuem suporte aos 2 níveis de implementação
da JSR 170, trazendo toda a falicidade de integração que a especificação
propõe. As duas soluções são implementadas em java, tem como foco o
gerenciamento de conteúdo em todo o seu ciclo de vida.
Os dois gerenciadores serão escolhidos para fazer a análise
comparativa, com outras soluções que não implementam a especificação.
3.2 Outros Gerenciadores de conteúdo
Entre gerenciadores de conteúdo que não implementam a JSR 170,
existem centenas de opções, tanto pagas quanto livres e de código aberto.
Para este trabalho foi escolhido o CMS OpenCMS, ferramenta implementada
em Java, que é uma solução livre e aberta, bem conceituada entre
ferramentas de CMS, com boa aceitação no mercado corporativo.
3. Revisão de Literatura
3.1 O que é Gestão do Conhecimento
Gestão do Conhecimento, é o processo pelo qual uma organização
gera riqueza a partir do seu conhecimento, seja ele explícito ou tácito a partir
do seu capital intelectual. A Gestão do Conhecimento vem rapidamente
ganhando espaço dentro das organizações, dado cada vez mais as mesmas
darem a real importância ao seu capital intelectual. Pois o capital intelectual é
a fonte mais clara de uma competitividade longa e duradoura. Pode ser visto
também como, um conjunto de procedimentos estabelecidos para
desenvolver e controlar todo tipo de conhecimento essencial para a
organização atingir seus objetivos.
3.2 O que é Gestão de Conteúdo
Gestão de Conteúdo pode ser definido como o ciclo de vida completo
de edição, armazenagem, disseminação e controle de versões de conteúdos,
tanto impressos como digitais. A gestão de conteúdo, tem sido um assunto
muito popular na internet, pela sua grande aceitação das organizações e por
possuir diversas ferramentas de apoio a esta gestão. As organizações,
perceberam a necessidade de organizar melhor a suas informações,e seu
sistema de publicação de conteúdo, interna e externamente, para comportar
uma demanda cada vez maior de informações geradas e recebidas. Gestão
de conteúdo, partiu desta necessidade organizacional, provendo todo um
conjunto de técnicas e procedimentos para cuidar de todo o sistema de
publicação de um conteúdo. Primeiro com a criação, depois a armazenagem,
revisão,aprovação e publicação. Este processo gera uma versão do
conteúdo, que é armazenado e pode ser sempre consultado, mesmo que
seja apenas p/ uma revisão.
3.3 O que é CMS
CMS é a sigla para Content Management System, ou gerenciador de
conteúdo. É a idéia de um gerenciamento da informação de organizações
que produzem muito conteúdo. São baseados na web, auxiliando em vários
aspectos a publicação de conteúdo, desde sua forma de apresentação ao
seu controle de versão. Estes CMS servem para a publicação de conteúdo,
gerenciamento de transação de e-commerces, Wikis, gerenciamento de
documentos, entre outras atividades.
3.4 O que é a JSR 170.
É a sigla para Java Specification Request 170, que em sua versão final
foi batizada como Content Repository for Java Technology API. Ela foi
proposta por um grupo de fabricantes de CMS. Empresas como
IBM,Oracle,Macromedia,Bea,Sun e Vignette participaram da definição deste
padrão. Ela visa ser uma interface entre o CMS e o repositório, para que a
troca de um repositório por outro, ou mesmo de um CMS para outro seja
uma tarefa simples que não de dor de cabeça para usuários e
desenvolvedores. Ela se baseia na idéia da JDBC, que é uma interface
padrão entre a linguagem java e os bancos de dados. É composta de 2
interfaces, uma voltada para os fornecedores de repositório e outra para os
desenvolvedores que acessam o conteúdo deste repositório. A especificação
surgiu da necessidade de uma padronização do acesso aos dados de um
repositório nas ferramentas de CMS. Atualmente, há uma dependência total
entre o fabricante do CMS e o repositório de dados. Se uma organização,
tem a necessidade de trocar de ferramente de gerenciamento de conteúdo,
ela é obrigada a substituir também o seu repositório, pois não há
compatibilidade entre eles, ou se a organização deseja adicionar uma nova
fonte de dados, o gerenciador de conteúdo precisa modelar uma nova
abstração p/ esta nova fonte de dados. Isto demanda um custo
desnecessário, que com uma simples interface padrão entre fonte de dados
e gerenciadores de conteúdo seria resolvido. A JSR possui dois níveis de
implementação principais e outros níveis opcionais de implementação. Faz
parte destes níveis desde o acesso ao repositório e leitura, há o controle de
workflow do conteúdo.
Cronograma
2006:
• Maio, Junho, Julho – Análise das ferramentas de gerenciamento de
conteúdo.
• Agosto, Setembro – Comparativo entre as ferramentas.
• Outubro, Novembro – Elaboração do estudo de caso.
• Dezembro – Férias
2007:
•
Janeiro – Elaboração do estudo de caso.
•
Fevereiro, Março - Revisão
Referencia Bibliográfica
http://www.cmswatch.com/Feature/123
Artigo sobre a JSR 170 e CMS.
www.wikipedia.orgwww.wikipedia.org
http://www.artima.com/lejava/articles/contentrepository.html
Artigo sobre Apache Jackrabitt e a Java Content Repository API.
http://www.jcp.org/en/jsr/detail?id=170
Pagina oficial da especificação.
http://www.theserverside.com/news/thread.tss?thread_id=34342
Artigo sobre o a especificação.
Revista Java Magazine Ed.27
Artigo sobre a JSR 170 e uma pequena lista de CMS que visam implementar
a especificação
Download