Vous êtes sur la page 1sur 2

Workflows com jBPM

Uma aplicao baseada no jBPM


Aprenda como utilizar a ferramenta de BPM da JBoss para construir aplicaes orientadas ao negcio Alexandre Saudate

Demonstra como realizar a instalao e configurao do jBPM e JBoss Tools para uso sob ambiente clipse! atra"#s do exemplo da criao de uma loja "irtual de discos$

%ornece uma maneira de flexibilizar o c&digo e mant'(lo intelig)"el para analistas de neg&cio e no(programadores em geral$

Al#m de ser considerado uma boa pr*tica de programao! pro"' uma interface de comunicao entre os analistas de neg&cio e o c&digo propriamente dito! reduzindo o custo de traduo do contexto do neg&cio para o c&digo do sistema$

+m ,or-flo, #! basicamente! uma se.u'ncia de tarefas a ser seguida em determinado processo de neg&cio / algo .ue 00!0001 dos sistemas possuem$ 2omo o processo de traduo entre o processo de neg&cio e o c&digo em si tende a ser caro! lento e com fal3as! foi desen"ol"ida a t#cnica de modelagem de processos de neg&cio$ sta t#cnica consiste em desen"ol"er 4.uase sempre com editores gr*ficos5 o processo de maneira .ue seja intelig)"el para os analistas de neg&cio e! ao mesmo tempo! seja interpretado diretamente pela m*.uina! reduzindo o gap da interpretao$ 6 jBPM aborda a modelagem de processos atra"#s de uma linguagem pr&pria! facilitando muito o desen"ol"imento de processos .ue en"ol"em cumprimento de tarefas! en"io de e(mails e tomada de decis7es$

As aplica7es modernas t'm seguido mais e mais a tend'ncia de serem 8orientadas a neg&cio9! ou seja! de serem desen"ol"idas mantendo em mente sempre o produto final e deixando em segundo plano detal3es como linguagem de programao a utilizar! frame,or-s! etc$ Seguindo esta lin3a! foi desen"ol"ida a Ar.uitetura 6rientada a Ser"ios 4S6A5! .ue nada mais # do .ue descre"er essa l&gica de neg&cios por meio de padr7es abertos! de maneira fracamente acoplada$ :o topo desta ar.uitetura existe o BPM 4Business Process Modeling5 / uma t#cnica cujo prop&sito # auxiliar no desen"ol"imento de processos de neg&cio de uma maneira escal*"el! independente de plataforma e .ue seja intelig)"el tanto para analistas de neg&cio .uanto para desen"ol"edores$ sta t#cnica # descrita! geralmente! em uma notao c3amada de BPM: 4Business Process Modeling :otation5! .ue fornece alguns dos elementos b*sicos .ue so utilizados pelos processos de neg&cio 4ou seja! # a +M; dos processos de neg&cio5< entretanto! alguns fornecedores oferecem abordagens alternati"as para implementao de BPM! como # o caso da JBoss$ 2onfira mais detal3es no quadro 8BPM com jBPM9$

O jBPM uma ferramenta de BPM que representada pela jPDL (jBPM Process Definition Language). Trata-se de uma linguagem mais intimamente ligada ao Java (e, por conseguinte, abandonando o preceito de ser independente de linguagens). Mesmo sendo ligado a SOA, o jBPM no depende de um servidor de aplicao para ser executado, podendo ser executado na plataforma Java SE. Entretanto, o jBPM oferece alguns recursos voltados para ferramentas SOA, como a interligao (nativa) com ESB e a possibilidade de integrao com BPEL. Vale lembrar que o jBPM no possui interligao nativa com web services: caso seja necessrio acessar um web service por uma aplicao jBPM, necessrio criar um cliente Java que o faa. A grande vantagem da implementao de fluxos jBPM est na

possibilidade de integrao com BPEL. Vale lembrar que o jBPM no possui interligao nativa com web services: caso seja necessrio acessar um web service por uma aplicao jBPM, necessrio criar um cliente Java que o faa. A grande vantagem da implementao de fluxos jBPM est na implementao nativa de tarefas manuais, que precisam ser executadas por seres humanos (algo que algumas linguagens de execuo de BPM, como o Oracle BPEL[1], possuem nativamente; entretanto, este recurso no parte da especificao BPEL). Alm disso, o jBPM possui integrao nativa com Hibernate, de maneira que possvel salvar o estado de um processo em execuo e retom-lo a qualquer momento, fazendo com que o jBPM seja uma ferramenta ideal para implementao de workflows.

Para conhecer mais recursos do jBPM vale a pena conferir a apresentao deste artigo.

+m ,or-flo, pode ser traduzido diretamente como 8fluxo de trabal3o9! o .ue indica exatamente o .ue ele #$ Basicamente! # uma se.u'ncia de passos .ue de"em ser feitos para se alcanar algum objeti"o do neg&cio$ stes passos podem ser realizados por uma ou mais pessoas ou sistemas! de acordo com algumas regras definidas pelo pr&prio neg&cio$ +m exemplo de ,or-flo, # a lin3a de montagem de um "e)culo! por exemplo= primeiro! uma m*.uina # respons*"el por trabal3ar o c3assi e repassar o c3assi para outra m*.uina! .ue ser* respons*"el por inserir a carroceria e assim por diante$ "entualmente! ser* necess*ria super"iso 3umana para garantir .ue todas as peas foram instaladas corretamente$ 6 jBPM possui uma estrutura de nomenclatura em .ue os respons*"eis por cada passo da execuo so c3amados de atores$ 2ada passo # um n&! independente do tipo do n&$ Para mais informa7es sobre os n&s dispon)"eis! consulte o quadro 86s tipos de n& do jBPM9$

A exibio deste artigo foi interrompida Este post est disponvel para assinantes MVP.

Alexandre Saudate
Desenvolvedor e instrutor Java EE/SOA graduado em Sistemas de Informao pela EACH-USP. Trabalha com estas tecnologias na SeedTS, uma consultoria especializada em SOA.