Artigo Java Magazine 63 - Introdução à JCR
O artigo apresenta a especificação JCR e a utilização de repositórios de conteúdo em aplicações Java, utilizando como exemplo a implementação de referência da especificação, o Apache Jackrabbit.
Introdução à JCR
Conhecendo a especificação JSR-170 e suas implementações
Como a Content Repository API possibilita o desenvolvimento de aplicações orientadas a conteúdo
De que se trata o artigo:
O artigo apresenta a especificação JCR e a utilização de repositórios de conteúdo em aplicações Java, utilizando como exemplo a implementação de referência da especificação, o Apache Jackrabbit.
Para que serve:
Os repositórios de conteúdo são um novo paradigma de persistência de dados especialmente útil para aplicações orientadas a conteúdo. Os repositórios provêm novas funcionalidades para o desenvolvedor e podem ser acessados a partir de diversos aplicativos, estimulando o reaproveitamento de dados entre eles.
Em que situação o tema é útil:
Todas as grandes corporações do mercado de sistemas de gerência de conteúdo estão envolvidas no desenvolvimento e disseminação da especificação. Sendo assim, o conhecimento da especificação permite ao desenvolvedor criar aplicativos capazes de se comunicar de maneira uniforme com todos estes sistemas que implementam a API.
Introdução a JCR:
A especificação JSR-170 define a API Java Content Repository (JCR), que traz o conceito de repositórios de conteúdo para as aplicações. Repositórios são uma nova abstração de modelo de persistência de dados que substitui a necessidade do uso de sistemas de arquivos e bancos de dados relacionais, disponibilizando um apanhado das melhores funcionalidades destes dois tipos de sistemas. Além disso, repositórios são extremamente flexíveis quanto à estruturação dos dados que controla, o que é uma abordagem bastante interessante para o desenvolvimento de aplicações voltadas a conteúdo.
Com o crescente número de sistemas de gerenciamento de conteúdo (CMS, sigla para Content Management System), surgiu a necessidade de padronização na forma de intercâmbio entre estes “silos” de dados. É esta necessidade que a JCR 1.0 (Java Content Repository, também referenciada como Content Repository API) tem por objetivo suprir.
Neste artigo serão apresentados os detalhes da especificação e sua utilização será exemplificada com uma aplicação web simples, que utiliza um repositório de conteúdo baseada no Apache Jackrabbit, a implementação de referência e de código aberto da especificação JSR-170.
A especificação
A Content Repository API é definida pela especificação JSR-170, cujo expert group é liderado por David Nuescheler, CIO da Day Software, empresa que desenvolve o software Day CRX, que implementa todas as camadas da especificação. Participam também do expert group importantes empresas do mercado de gerência de conteúdo, como IBM, BEA, Documentum e Oracle.
A necessidade de uma especificação para esta área surgiu quando observou-se a dificuldade na interoperabilidade entre os sistemas de gerenciamento de conteúdo existentes. Mesmo organizando os dados internamente de forma similar, essas instâncias de dados heterogêneas acrescentavam um novo nível de problemas no momento em que se desejava fazer uma substituição de algum desses sistemas, ou quando a tarefa era implementar uma aplicação que agregava dados provenientes de dois ou mais sistemas distintos.
O objetivo
O objetivo da especificação JSR-170 é prover uma interface de programação que seja ao mesmo tempo simples de usar para os programadores e de fácil implementação e adoção para os desenvolvedores de repositórios de conteúdo. Ao atingir estas metas, a especificação torna-se difundida entre os desenvolvedores e também um padrão de fato.
Com o propósito de ser fácil de implementar e adaptar a repositórios de conteúdo já existentes, a Java Content Repository API foi dividida em camadas. A especificação define também os níveis de conformidade para cada camada, podendo uma implementação JCR não dispor de funcionalidades de todas as camadas. Este conceito será mais bem compreendido após a análise de cada uma das camadas." [...] continue lendo...
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo