Meu chefe queria incluir a Omnidata Networking no rol de empresas que usam o Maven como principal ferramenta para automação, não apenas pelas características que auxiliam o desenvolvimento, mas também pelo aspecto de padronização de documentação associado com a geração do site (veja descrição da tecnologia).
Tive que estudá-la e converter projetos existentes para a estrutura típica de um projeto em Maven. Também era minha responsabilidade estudar e testar diversos plugins, alguns deles aparentemente úteis apenas em um futuro próximo. Meu chefe olhou a listagem dos plugins disponíveis e baseando-se na descrição das funcionalidades, criou uma lista daqueles que deveriam ser testados. Fui a primeira pessoa da empresa a estudar a fundo essa tecnologia. Após a conversão de alguns projetos, seria o responsável pela difusão do conhecimento aos demais funcionários e estagiários.
O primeiro projeto convertido foi o Sistema de Gerenciamento de Projetos (GerProj), pelo qual os desenvolvedores da empresa registram o número de horas dedicadas em suas atividades. Para apresentar resultados mais rapidamente, estudei inicialmente apenas os conceitos necessários para converter o sistema. Após a leitura de alguns capítulos de [5], da documentação em [12] e de alguns tutoriais na Internet, já era capaz de executar tal tarefa. Não enfrentei muitos problemas, pois foi possível empregar apenas as funcionalidades mais simples e razoavelmente documentadas. De fato, a tarefa mais custosa foi entender a arquitetura do sistema GerProj. Como início da difusão do conhecimento, expliquei ao estagiário Danilo de Andrade Castilho, o principal responsável pelo desenvolvimento do sistema, os passos para conversão ao Maven, a função dos arquivos xml que eu adicionei ao projeto e o uso de goals para funções como compilação, geração dos pacotes do sistema, implantação do sistema no servidor e geração do site com a documentação.
Após a conversão do sistema, continuei o estudo da tecnologia, estudando cada um dos plugins. Encontrei mais problemas nessa etapa, como bugs, funcionalidades mal desenvolvidas e documentação pouco abrangente. Em certos casos, era mais eficiente ver o código-fonte do plugin do que consultar a documentação ou buscar ajuda na Internet.
O segundo sistema convertido ao Maven foi o Web Info Miner (WIM), robô de busca de dados pela internet. Dessa vez, não converti o sistema sozinho, mas sim contei com a ajuda do estagiário Élcio Koiti Nakashima, que atuava em alguns módulos. Apesar da ajuda de uma pessoa que já conhecia a arquitetura do sistema, a dificuldade de conversão foi bem maior, pois o sistema era mais complexo que o GerProj, não sendo trivial dividi-lo em módulos. Ademais, algumas tecnologias utilizadas no WIM, como o XDoclet [16], para geração de código-fonte, não eram bem abrangidas pelos plugins de Maven disponíveis. De fato, a geração de código pelo XDoclet já era feita com o auxílio de um plugin para o Eclipse, o JBoss IDE [15] e então preferimos manter tal alternativa. Também enfrentamos problemas para utilizar o Cactus [17], um arcabouço para o desenvolvimento de testes. Mesmo com a existência de um plugin para o Maven, não conseguimos utilizá-lo corretamente e preferimos descartá-lo.