No jBPM 4, poucas coisas estruturais mudaram da versão 3.2.X para a versão mais nova. Usuários experientes do jBPM poderão iniciar rapidamente no jBPM 4 apenas seguindo as instruções do novo User Guide e o Developers Guide, mas usuários que não experimentaram o framework a fundo, ou usaram-no mas de uma forma apenas superficial ou apenas em nível de prova de conceito, podem sentir mais dificuldade em entender certas coisas.Neste post, irei mostrar com dar os primeiros passos no jBPM 4, a mais nova versão do framework de BPM mais popular do mercado. Através deste post, usuários iniciantes do jBPM poderão avaliar as novas funcionalidades da solução assim como os recursos exclusivos da versão 4.0. Neste exemplo passo a passo, irei considerar que você pelo menos fez o download da ultima versão do jBPM, e que configurou o designer visual de acordo com as instruções do user-guide.
1) Inicie um projeto Java no seu ambiente Eclipse
Para começar o exemplo, você deverá criar um projeto Java novo no ambiente Eclipse em que você configurou o designer visual do jBPM. Depois de criar o projeto, é interessante que você configure adequadamente o classpath do projeto com as bibliotecas do jBPM. Para isso, crie uma User Library contendo os seguintes arquivos JAR:
- $JBPM_HOME/jbpm.jar
- $JBPM_HOME/lib/*.jar
2) Crie os arquivos de configuração do jBPM
Para que você possa executar o jBPM, é necessário que alguns arquivos de configuração sejam criados. Tal como a versão anterior, você ainda pode executar processos do jBPM tanto da forma "unmanaged" ou seja, sem estar com o contexto de persistência ligado, ou da forma "managed" que determinada o uso de Hibernate para a persistência dos grafos dos processos.
Entretanto, na versão 4, o jBPM solicita que pelos menos os arquivos estejam presentes no classpath para fins de debugging do ambiente, uma vez que agora questões de infra-estrutura JEE estão separadas da máquina de processos, caracterĩstica básica do PVM (Process Virtual Machine). Neste caso, dependendo da factory em execução que você use, os recursos serão carregados ou não junto com o contexto do jBPM.
Você precisará criar apenas dois arquivos XML no root do classpath de seu projeto: O arquivo de configuração geral que determina quais recursos você irá usar, e o arquivo de configuração do Hibernate. Vamos começar pelo arquivo de configuração do jBPM. Crie um arquivo chamado jbpm.cfg.xml no raiz do classpath contendo a seguinte declaração:
Agora crie outro arquivo XML chamado jbpm.hibernate.cfg.xml e edite-o conforme mostrado abaixo:
Repare que, o arquivo que contêm a definição do Hibernate na verdade define uma conexão com o servidor HSQLDB. Caso você queria testar o jBPM em outro servidor de banco de dados, edite-o apropriadamente não esquecendo de colocar os conectores do JDBC no classpath do projeto.
3) Crie um processo novo usando o designer visual.
Crie um processo simples usando o designer visual novo contendo apenas dois estados, como mostrado na figura abaixo:
A listagem abaixo mostra a declaração do processo na notação do jPDL. Repare que além da definição dos processos, foi configurado também um modelo de eventos do jBPM, para que possamos monitorar a execução do grafo do processo no estilo "imprima-cada-passo-executado".
4) Crie uma classe Java para monitorar as atividades do processo
5) Crie uma classe Java que inicia e executa o processo usando a PVM
Em próximos posts, irei mostrar como usar os recursos do novo console, a integração com o JBoss Application Server e os recursos de BAM e BI encontrados na nova versão.

7 comentários:
Olá Ricardo, Baixei o jBPM 4.0.CR1 vc. pode explicar como instala-lo no Eclipse com SO Windows.
sds.
William Silva
"Anônimo"
Leia o User Guide do jBPM 4. Lá é mostrado como fazer isso.
Ola Ricardo, estou com um problema serio, fiz um processo simples, gerei o banco com o script do bpm, mais na hora de tentar publicar da um erro serio nesta linha:
ProcessEngine processEngine = new Configuration().buildProcessEngine();
Caused by: java.lang.NoSuchMethodError: org.apache.log4j.Logger.trace(Ljava/lang/Object;)V
não consegui resolver de maneira alguma, os jars estao todos la inclusive do log4j, ja tentei atualizar o jar, mais o erro persiste.
Se tiver alguma ideia do que possa ser agradeço.
att: Patric
Olá Ricardo,
bom artigo para dar partida no assunto.
Estou tentando criar um processo que necessita chamar webservices. Vi que na jBPM3 havia nós com esta função. Como faria na jBPM4 ? Tens algum exemplo ?
Obrigado.
Ricardo, o JBPM 4 funciona com JBoss 3.2.x? Existe algum tutorial para configurar essa integração?
Obrigado, nota 10 o blog!
Jean
Jean,
Infelizmente usando JBoss 3.2.X não rola não. Você terá que usar o jBoss 4.2 ou superior, devido a algumas dependências de MBeans e JDK.
Mas lembre-se que o jBPM pode rodar embarcado num aplicação. Use-o no modo unmanaged que funciona tranquilo, mesmo no JBoss 3.2.X.
Abraços,
Olá Ricardo, você sabe me dizer quais são as libs que preciso ter para utilizar este exemplo?
Grato.
Postar um comentário