BT
x Por favor preencha a pesquisa do InfoQ !

Novos Drools e jBPM aproximam o BPM dos desenvolvedores: Entrevista com Mauricio Salatino

por Julio Faerman em 13 Jul 2011 |

A JBoss recentemente anunciou novas versões importantes dos projetos da família Drools. Estes projetos buscam simplificar a implementação de requisitos complexos, como gerenciamento de regras, controle de fluxos e processamento de eventos, que muitas vezes são "engessados" no código da aplicação. 

Sistemas de programação declarativa, como o Drools, normalmente baseados em algoritmos de inteligência artificial, têm conquistado cada vez mais espaço fora do ambiente acadêmico onde surgiram. Produtos, serviços e casos de sucesso no mundo corporativo são frequentemente apresentados por grandes fornecedores como IBM, Red Hat e Progress. Na plataforma Java isto é refletido pelas especificações de motores (ou engines) de regras (JSR-94) e de programação por restrições (JSR-331), tendo esta última especificação recebido o prêmio de mais inovadora JSR de 2010.

Convidamos Mauricio Salatino, colaborador independente que ganhou recentemente o JBoss Community Award 2011 por contribuições ao Drools e ao jBPM. Atualmente, Mauricio trabalha criando extensões de integração para Drools e jBPM relacionadas à interação remota com a API do Drools para execução distribuída de processos e regras de negócio. Também contribui com correções e novas funcionalidades para ambos os projetos e está finalizando seu segundo livro sobre jBPM, a ser publicado este ano. Mauricio nos fala sobre detalhes das novas versões e tecnologias relacionadas à família Drools.

Julio Faerman: Qual é a motivação para o jBPM e como ele se diferencia de outros produtos de gerenciamento de processos de negócio (BPM)?

Mauricio Salatino: O jBPM é uma engine de BPM sólida, leve e open source. Pode ser embutido em qualquer aplicação para suportar a execução nativa de processos definidos com a notação padronizada BPMN 2.0, mas vai muito além dessas funcionalidades. O que torna o jBPM diferente de outros sistemas de BPM é a integração com um motor de regras (Drools Expert) e um mecanismo de processamento de eventos complexos (Drools Fusion).

JF: Como os outros projetos da familia Drools complementam o jBPM?  

MR: Atualmente, um engine de BPM não é suficiente por si só. São necessários mecanismos mais inteligentes para lidar com diferentes situações de negócio. O Drools, com o jBPM, pode auxiliar a resolver situações de negócio extremamente complexas de maneira declarativa. Atualmente diversos sistemas de BPM estão focados em fornecer um conjunto integrado de ferramentas; mas se a complexidade das situações reais for subestimada, acabamos chegando a modelos de processos extremamente complexos. Se tirarmos proveito da abordagem declarativa oferecida pelas regras, o desenho dos modelos será simplificado, deixando mais claro como o conhecimento corporativo influencia o trabalho no dia a dia.

JF: Quais são as principais novidades desta versão do jBPM?

MS: O jBPM 5.1 inclui muitas correções e pequenas melhorias baseadas no feedback da comunidade. Uma das novidades mais importantes é o editor web de processos, que suporta o ciclo completo de desenvolvimento, contemplando desde ferramentas web voltadas para analistas de negócio até as baseadas no Eclipse para desenvolvedores. A nova versão também inclui um módulo com exemplos que demonstra a maioria das funcionalidades em ação. Além disso, a documentação foi atualizada e estendida significativamente e há ferramentas para testes de processos através do framework JUnit, o suporte a múltiplos threads e melhorias na sincronização com o repositório de processos.

JF: Atualmente, quais você considera os maiores desafios do projeto?

MS: Há poucas pessoas familiarizadas com o jargão de motores de regras, processos e o seu funcionamento interno. Com objetivo de facilitar o aprendizado dessas tecnologias, tenho trabalhado na criação de documentação e exemplos. A aplicação "Serviços de Emergência", por exemplo, foi construída para demonstrar padrões comuns de arquitetura e o uso das várias tecnologias em conjunto. Muitas vezes, é necessário entender os fundamentos das tecnologias para utilizá-las de maneira correta.

JF: Como você vê a evolução na maturidade de implantações de BPM? Acredita que as empresas estão vendo o BPM como uma mudança cultural em TI, ou que o enfoque ainda é limitado aos aspectos técnicos?

MS: Um dos principais objetivos da especificação BPMN 2.0 (Business Process and Modeling Notation) é reduzir a distância entre o pessoal técnico e os analistas de negócio, que descrevem como a empresa funciona usando fluxogramas. O jBPM5 foi projetado com esse conceito em mente. Estamos trabalhando para criar novas ferramentas que auxiliem na adoção dessas tecnologias pela área de negócio e não apenas pelo público técnico. Nos três últimos anos, percebi que o BPM finalmente está chegando ao cenário do desenvolvimento. Com plataformas como o jBPM5, departamentos de TI serão capazes de utilizar BPM para entregar soluções que agrupem toda a informação demandada pelo negócio.

JF: Como o jBPM se encaixa em arquiteturas orientadas a serviço? Seria possível conectá-lo ao meu barramento de serviços (ESB)?

MS: Certamente, pois o jBPM também foi criado para lidar com a integração de sistemas. Isto significa que é possível coordenar e orquestrar serviços expostos pela sua arquitetura orientada a serviços e acessá-los de maneira unificada. Meu único alerta neste ponto é que se deve lembrar que o objetivo real da modelagem de processos é a colaboração com analistas de negócio. O BPM deve ir além da orquestração de serviços. O projeto jBPM pode ser utilizado para realizar a orquestração em baixo nível, mas como o BPM foi projetado inicialmente para lidar com a interação entre humanos e sistemas, tentamos evitar processos que envolvam detalhes de implementações de baixo nível.

JF: Você tem conselhos para aqueles que estão considerando ou iniciando a implementação de soluções BPM em suas empresas?

MS: Antes de iniciar a utilização de BPM é essencial conhecer os principais conceitos em volta dessa disciplina, além de entender como o BPM será aplicado na sua empresa. Existem muitos livros que tratam da aplicação do BPM em diversos cenários de negócio, mostrando como evitar erros comuns nestas implementações. Uma vez acostumado à mentalidade BPM, você perceberá que um motor de regras é o próximo passo rumo ao desenvolvimento de aplicações corporativas robustas e unificadas.

JF: A equipe está procurando contribuições?

MS: Os projetos jBPM e Drools estão sempre abertos a contribuições, desde testes simples a melhorias na documentação e relatórios de defeitos, até correções e implementação de novas funcionalidades. Se estiver interessado em participar do projeto ou aprender sobre as tecnologias relacionadas, você pode contribuir em iniciativas como a aplicação de exemplo Serviços de Emergência já mencionado e o Community Training, ou mesmo diretamente nos projetos jBPM5 e Drools. O primeiro passo no envolvimento com a comunidade é tornar-se um usuário ativo. Recomendamos abrir uma conta no JIRA e nos informar quando algo não funcionar bem. E se puder fornecer um teste simples que demonstre e isole o problema ou descrever como uma funcionalidade pode ser simplificada, poderemos então realizar rapidamente uma correção do problema ou guiá-lo na implementação das funcionalidades. 

JF: Onde se pode aprender mais sobre Drools e jBPM, além da documentação oficial?

MS: Tenho blogado e publicado materiais de treinamento para ajudar na adoção destas tecnologias. Convido todos da comunidade a nos dar feedback sobre este material, que, como todo esforço comunitário, irá melhorar na medida em que for usado e comentado. Incentivamos os leitores a escreverem seus próprios blogs sobre suas experiências com projetos open source. Este post publicado por Kris Verlaenem (líder do projeto jBPM5) indica outras leituras muito interessantes. O jBPM inclui um arquivo de instalação que configura automaticamente um ambiente de trabalho para utilizar as ferramentas. O novo módulo jbpm-examples é um ótimo ponto de partida para estudar casos básicos em funcionamento, como a interação com tarefas humanas. Sintam-se à vontade para comentar no meu blog ou me seguir no Twitter (@salaboy) para mais novidades.

Avalie esse artigo

Relevância
Estilo/Redação

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião
Feedback geral
Bugs
Publicidade
Editorial
Marketing
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2016 C4Media Inc.
Política de privacidade
BT

Percebemos que você está utilizando um bloqueador de propagandas

Nós entendemos porquê utilizar um bloqueador de propagandas. No entanto, nós precisamos da sua ajuda para manter o InfoQ gratuito. O InfoQ não compartilhará seus dados com nenhum terceiro sem que você autorize. Procuramos trabalhar com anúncios de empresas e produtos que sejam relevantes para nossos leitores. Por favor, considere adicionar o InfoQ como uma exceção no seu bloqueador de propagandas.