Este artigo é o primeiro de uma série de três partes e apresenta o novo
Open Document Format (ODF) Document Object Model (DOM) para Java em
conjunto com a comunidade de software livre ODF Toolkit Union, cuja
missão é simplificar a manipulação programática de documentos e seus
dados.
Visão geral do Open Document Format
O ODF é um formato de arquivo de padrão aberto baseado em XML para
documentos de escritório, como planilhas, documentos de texto e
apresentações. O ODF é independente de aplicativos, plataformas e
fornecedores; portanto, facilita a ampla interoperabilidade de
documentos de escritório.
O padrão ODF foi criado e é mantido pelo Comitê Técnico do ODF da
Organization for the Advancement of Structured Information Standards
(OASIS). A OASIS publicou o ODF 1.0 em maio de 2005, e a Organização
Internacional para Normatização/Comissão Eletrotécnica Internacional o
ratificou em maio de 2006 como ISO/IEC 26300:2006, tornando-o o
primeiro padrão internacional para documentos de escritório.
Hoje, o ODF é suportado por uma variedade de soluções de software
livre e fornecedores, incluindo o Microsoft Office 2007 SP2. Como
resultado da disponibilidade amplamente difundida dessas ofertas, um
número crescente de usuários estão salvando seus documentos em formatos
ODF.
Além dos editores tradicionais de produtividade de escritório ODF,
uma nova classe de aplicativos inovadores está emergindo com suporte a
ODF. Esses aplicativos incluem visualizadores de ODF para navegadores da
Web, conversores de formato ODF, ferramentas de validação e
conformidade do padrão ODF e ferramentas de colaboração que manipulam
elementos de documentos ODF.
Visão geral da ODF Toolkit Union
A especificação ODF fornece uma descrição detalhada do padrão. No
entanto, com mais de 700 páginas, ela não simplifica ou facilita as
tarefas enfrentadas por um desenvolvedor de software que deseja
desenvolver aplicativos que manipulem programaticamente documentos e
seus conteúdos. A comunidade de software livre ODF Toolkit Union foi
estabelecida para tratar desse requisito.
A IBM e a Sun combinaram recursos para lançar a ODF Toolkit Union
em novembro de 2008. O objetivo da comunidade ODF Toolkit Union é
fornecer uma plataforma de desenvolvimento ODF de software livre e
neutra de fornecedor, e desenvolver diversos componentes e ferramentas
ODF que ofereçam suporte às necessidades de desenvolvedores.
Usando essas ferramentas, os desenvolvedores podem escrever
aplicativos ODF com mais facilidade, sem possuir um conhecimento
profundo sobre as complexidades da especificação ODF real.
Todas as
ferramentas e os ativos disponíveis na ODF Toolkit Union estão disponíveis
sob a licença de software livre Apache2. Qualquer voluntário pode
participar de qualquer projeto existente na comunidade e estabelecer um
novo projeto.
Projetos dentro da ODF Toolkit Union usam a ferramenta de software
livre Mercurial para o gerenciamento de código de origem. Além disso, a
ODF Toolkit Union fornece wikis, fóruns e listas de e-mails que
desenvolvedores podem usar para discutir e colaborar em relação a
problemas técnicos.
Projetos atuais da comunidade ODF Toolkit
Os projetos atuais da comunidade ODF Toolkit podem ser categorizados em três classes:
- ODFDOM
- Ferramentas de conformidade e validação do ODF
- Ferramentas de aplicativos ODF
O ODFDOM é o projeto principal e existem dois projetos ODFDOM
secundários. Um é o ODFDOM para Java, o foco dessa série de artigos, e o
outro é An Open Document Library (AODL), que é o módulo .Net do ODF
Toolkit para C#.
Aqui, as ferramentas de conformidade ODF referem-se principalmente ao
ODF Validator, que é uma ferramenta usada para validar se determinado
documento ODF está em conformidade com a versão específica do padrão
ODF. Tem foco no empacotamento do documento e na verificação de sintaxe.
O ODF Validator possui duas interfaces com o usuário: a interface de
linha de comandos e a interface da Web.
As ferramentas de aplicativos ODF podem ser qualquer tipo de
manipulação de documento ODF, que atendam aos requisitos específicos.
Atualmente, isso inclui duas ferramentas de processamento de documentos
ODF que usam Extensible Stylesheet Language Transformation (XSLT).
Todos os projetos da comunidade de software livre ODF Toolkit Union
estão em fase inicial de desenvolvimento. Voluntários que estiverem
interessados no desenvolvimento de software livre e ODF são bem-vindos
para participar e contribuir com a comunidade e beneficiar-se do seu
trabalho.
A Figura 01 mostra um resumo dos projetos atuais da ODF Toolkit.

Figura 01. Esquemático dos projetos atuais da ODF Toolkit
Participando da comunidade ODF Toolkit
Para participar da comunidade ODF Toolkit, siga estas etapas:
- Na página inicial da ODF Toolkit, clique no botão Sign Up ou entre no seguinte endereço da Web diretamente em seu navegador:
http://odftoolkit.org/projects/odftoolkit/pages/SignUp - Registre sua conta na página de Sign Up.
- Navegue pelas introduções de projetos e selecione um ou mais projetos nos quais estiver interessado.
- Assine a lista de e-mails dos projetos selecionados.
Visão geral do projeto ODFDOM
Como declarado na última seção, o ODFDOM – API OpenDocument é o
principal e mais ativo projeto da comunidade. O ODFDOM fornece aos
desenvolvedores um conjunto de leves APIs Java que oferecem suporte à
programação dos aplicativos ODF.
As APIs são projetadas para que os desenvolvedores possam escrever o
menor número possível de linhas de código para criar, modificar,
carregar e salvar documentos ODF com facilidade.
Ao aperfeiçoar o
ODFDOM, os desenvolvedores não precisam entender os detalhes triviais
das especificações ODF e não precisam depender de tempos de execução de
software de escritório, como com outros editores de ODF.
Voluntários trabalhando no projeto ODFDOM recebem o código atualizado
a cada três meses, aproximadamente, expandindo rapidamente e melhorando
a utilidade e o desempenho do ODFDOM.
Cenários de caso de uso do ODFDOM
O projeto ODFDOM possui dois objetivos. Um dos objetivos é fornecer
um conjunto de APIs que sejam mais convenientes e leves para a
manipulação de documentos ODF do que aquelas oferecidas por editores de
documentos ODF de desktop no mercado atual de software de escritório,
como o OpenOffice.org e o IBM Lotus Symphony.
O outro objetivo é ajudar os desenvolvedores a desenvolver de maneira
conveniente os recursos necessários para manipular documentos ODF em
cenários específicos do segmento de mercado de ambientes de servidores
corporativos ou de usuários pessoais.
Estes são diversos cenários simples, porém típicos, nos quais o ODFDOM pode ser usado:
- Em
um ambiente corporativo, gerar automaticamente grandes números de
documentos ODF de acordo com modelos de documentos de negócios
específicos e dados de bancos de dados de backend. Por exemplo, suponha que precise gerar automaticamente as folhas de
pagamento de todos os funcionários com documentos ODF, de acordo com um
modelo de documento de folha de pagamento e registros de folhas de
pagamento no banco de dados de um funcionário. Nesse cenário, uma
solução relativamente fácil é integrar o ODFDOM ao servidor do
aplicativo corporativo como um dos diversos servlets e fornecer
capacidade de geração automática de documentos ODF. -
Validar se determinado documento ODF está em conformidade com uma versão específica da especificação ODF. Ao aperfeiçoar o ODFDOM, é possível validar com precisão se o
empacotamento e a verificação de sintaxe (por exemplo, verificação do
esquema RelaxNG) de um documento ODF estão em conformidade com o padrão
ODF. Na verdade, o ODF Validator na comunidade ODF Toolkit é um
aplicativo típico do ODFDOM. -
Dentro de aplicativos de colaboração, acessar documentos compostos
formados por diferentes partes de documentos de diferentes autores. Uma das soluções para tal cenário é implementar o ODFDOM no servidor
de aplicativos e habilitar diferentes clientes usuários para acessar
diferentes partes de um documento composto ao programar com uma API do
ODFDOM. - Procurar conteúdo específico do documento com base em determinada
condição de procura sem a necessidade de renderizar o documento ODF em
editores. Uma solução óbvia para esse cenário é usar uma API de navegação do
ODFDOM na camada conveniente para implementar a função de procura de
conteúdo. Isso é feito facilmente e apenas algumas linhas de código são
necessárias.
Ambiente de desenvolvimento flexível do ODFDOM
O
ODFDOM é um projeto de software livre, neutro de fornecedor, cujo
ambiente de construção não é restrito a qualquer plataforma de
desenvolvimento específica do fornecedor. Os desenvolvedores podem
compilar e construir código de origem do ODFDOM em qualquer ambiente de
desenvolvimento Java.
Por exemplo, o ODFDOM fornece um script de construção Ant para que
ele possa ser desenvolvido com a interface da linha de comandos, o
Integrated Development Environment (IDE) do NetBeans ou o IDE do
Eclipse.
Além disso, o ODFDOM adota o Maven, uma ferramenta de gerenciamento
de código de software livre, para construir e manter seu código de
origem. O mecanismo de construção dinâmico e flexível do Maven fornece
mais conveniência para os desenvolvedores da comunidade e, com isso, o
código de origem de cada componente do projeto é mantido no servidor do
Maven.
Inicialmente, os desenvolvedores precisam fazer apenas o download do
conjunto principal de códigos do componente para iniciar a construção.
Durante a construção do código de origem, o Maven verifica a dependência
de diferentes componentes e faz o download do código de origem
necessário de maneira dinâmica.
Para os desenvolvedores, o maior benefício do Maven é não precisarem
se preocupar muito com as dependências do componente do projeto ou com
as alterações de versão dos componentes conforme a evolução do projeto.
Portanto, é possível manter um nível de relação aberta entre diferentes
componentes para concentrar-se no código lógico de suas empresas.
Participando do projeto ODFDOM
Antes de
participar do projeto ODFDOM, é necessário registrar uma conta no
odftoolkit.org de acordo com as etapas destacadas anteriormente.
Após efetuar login na conta da comunidade, vá para a página do wiki
do ODFDOM e conheça a visão geral do projeto ODFDOM, a arquitetura do
código, o endereço de download do código de origem, o status do release,
exemplos simples de aplicativos, fóruns, e assim por diante.
Também é possível assinar a lista de e-mails do ODFDOM para desenvolvedores da comunidade, acessar fóruns e relatar erros.
Conclusão
Acompanhe os artigos próximos artigos desta série vão abordar mais detalhadamente os
cenários de usuários típicos do ODFDOM, os benefícios do ODFDOM ao
manipular documentos ODF e o ambiente de construção flexível usado no
desenvolvimento do código de origem do ODFDOM.
Dica do autor: Você conhece muito sobre esse tópico? Deseja compartilhar seu conhecimento? Participe hoje do programa de wiki do software IBM Lotus.
Recursos
Aprender
- Consulte a página do produto developerWorks Lotus Symphony.
- Consulte a página inicial do IBM Lotus Symphony.
- Saiba mais sobre o Apache Maven.
- Consulte a página inicial da comunidade OpenOffice.org.
Discutir
- Participar do fórum de discussão.
- Compartilhe sua experiência no wiki do developerWorks Lotus Symphony.
***
artigo publicado originalmente no developerWorks Brasil, por Ming Fei Jia
Ming Fei Jia é um Engenheiro de Software da Equipe no IBM China Software
Development Lab, onde é membro da equipe do projeto ODFDOM da IBM, do
Comitê Técnico do OASIS ODF e do Comitê Técnico do ODF Interoperability
and Conformance (OIC). Ele também é representante das atividades padrão
de documentos da IBM China. É possível entrar em contato com ele pelo
e-mail jiamingf@cn.ibm.com.



