Dev (Back & Front)ARTIGO

BPM com BizAgi Process Modeler

Faz alguns meses que Cássio Dias, um amigo, me indicou a solução
de BPM do BizAgi. Hoje vou falar um pouco mais dessa solução e da ferramenta free que eles
possuem de modelagem de processos de negócio.

Solução
de BPMS

BizAgi tem uma solução de BPM, ou seja, um BPMS,
essa solução completa é paga. O que é gratuito é a primeira parte do
ciclo deles que é a modelagem, o BizAgi Process Modeler, que é 100%
compatível com BPMN 1.1.

A solução deles é completa, com
simulação, BAM e tudo mais, No entanto, não vou falar da solução completa
de BPMS, mas sim da ferramenta de Modelagem.

BizAgi Process Modeler

Com
essa solução você pode fazer a identificação e o design de processos que
existem ou vão ser criados. O editor é muito parecido com o Office da
Microsoft. Isso é bom por que aproveita o modelo mental dos usuário e
faz com que o uso da ferramenta seja facilitado.

É
muito fácil desenhar um processo com essa solução, porque quando
você clica em qualquer componente ele já dá as opções de continuação do
fluxo no próprio componente deixando assim o desenho do fluxo muito
fácil e muito ágil.

A ferramenta conta com diversas opções de
exportação: Imagem, Word, PDF, Visio e XPDL, e o melhor de tudo, é
portável; eu fiz o teste, funciona, o XPDL que ela gera é a última
versão.

Ainda é possível
validar se o seu fluxo está correto em termos de bpmn, ele mostra de
maneira amigável onde estão os problemas, fazendo com que os
usuários especialistas de negócio consigam usar a solução de maneira
fácil.

Já testei algumas soluções de modelagem com BPMN sendo que
eu acho a solução muito mais leve, fácil de usar, amigável e funcional
do que as soluções de grandes players como IBM(Modeler), ORACLE(BPM
Studio, Aris), Intalio(Studio). Outra notícia boa: essa ferramenta está
em português.

Neste artigo eu não estou avaliando a solução inteira de
BPMS, somente a parte de modelagem e, nesse ponto, acredito que o
editor da BizAgi é o melhor. Você pode fazer download do produto aqui.

Um exemplo

Fiz um processo de
exemplo fictício, só para mostrar a
solução. Veja o diagrama a baixo:


Processo de Exemplo

Esse é um processo simples, onde existe o cliente, a empresa que
aluga carros e o Detran, que indica para a empresa que aluga carros se os
locatários têm multas ou não. A ferramenta gerou esse XPDL que é
portável, confira abaixo:

<?xml version="1.0" encoding="utf-8"?><br /><package xmlns="http://www.wfmc.org/2008/XPDL2.1" xsi="http://www.w3.org/2001/XMLSchema-instance" xsd="http://www.w3.org/2001/XMLSchema" id="1c525c3b-4e00-44c5-bc47-240227981289" name="Alugar Carro" onlyoneprocess="false"><br />  <packageheader><br />    <xpdlversion>2.1</xpdlversion><br />    <vendor>BizAgi Process Modeler.</vendor><br />    <created>2009-06-09T22:42:03.0115306-03:00</created><br />    <description>Alugar Carro</description><br />    <documentation><br />  </packageheader><br />  <redefinableheader><br />    <author><br />    <version><br />    <countrykey>CO</countrykey><br />  </redefinableheader><br />  <externalpackages><br />  <participants><br />    <participant id="eabc718a-f017-457f-8526-f8d6690d6a1e" name="DETRAN"><br />      <participanttype type="ROLE"><br />      <description>São enviados os dados do cliente ao DETRAN e com esses dados ele verifics se existem multas ou não para esse cliente.</description><br />    </participant><br />    <participant id="98ab7f67-5032-4927-84c4-3ab7d50f9320" name="Cliente"><br />      <participanttype type="RESOURCE"><br />      <description>Cliente é quem deseja alugar um carro, para isso além do dinheiro ele deve apresentar seus dados.</description><br />    </participant><br />  </participants><br />  <pools><br />    <pool id="46f30f50-3cca-4cf1-9fcb-64adc9395ee3" process="9a46cbbd-3a96-4bf7-8760-52aa23cf270b" boundaryvisible="false"><br />      <lanes><br />      <nodegraphicsinfos><br />        <nodegraphicsinfo toolid="BizAgi_Process_Modeler" height="350" width="700" bordercolor="-16777216" fillcolor="-1"><br />          <coordinates xcoordinate="0" ycoordinate="0"><br />        </nodegraphicsinfo><br />      </nodegraphicsinfos><br />    </pool><br />    <pool id="17f67b85-0a96-4976-9289-f91a0c4eec26" name="Processo Alugar Carro" process="5e814461-5fcd-4682-8682-ef40e101be8e" boundaryvisible="true"><br />      <lanes><br />        <lane id="c3f86f06-0701-4566-8f93-1d82557e6ef3" name="Cliente" parentpool="17f67b85-0a96-4976-9289-f91a0c4eec26"><br />          <nodegraphicsinfos><br />            <nodegraphicsinfo toolid="BizAgi_Process_Modeler" height="112" width="901" bordercolor="-11513776" fillcolor="-1315861"><br />              <coordinates xcoordinate="50" ycoordinate="0"><br />            </nodegraphicsinfo><br />          </nodegraphicsinfos><br />          <documentation><br />          <extendedattributes><br />        </lane><br />        <lane id="fd8e5d5c-eb86-4ff8-84b7-5b4c776f8888" name="Empresa" parentpool="17f67b85-0a96-4976-9289-f91a0c4eec26"><br />          <nodegraphicsinfos><br />            <nodegraphicsinfo toolid="BizAgi_Process_Modeler" height="137" width="901" bordercolor="-11513776" fillcolor="-1315861"><br />              <coordinates xcoordinate="50" ycoordinate="112"><br />            </nodegraphicsinfo><br />          </nodegraphicsinfos><br />          <documentation><br />          <extendedattributes><br />        </lane><br />        <lane id="c21f0062-cdf5-4551-b337-36cfec76b53f" name="DETRAN" parentpool="17f67b85-0a96-4976-9289-f91a0c4eec26"><br />          <nodegraphicsinfos><br />            <nodegraphicsinfo toolid="BizAgi_Process_Modeler" height="188" width="901" bordercolor="-11513776" fillcolor="-1315861"><br />              <coordinates xcoordinate="50" ycoordinate="249"><br />            </nodegraphicsinfo><br />          </nodegraphicsinfos><br />          <documentation><br />          <extendedattributes><br />        </lane><br />      </lanes><br />      <nodegraphicsinfos><br />        <nodegraphicsinfo toolid="BizAgi_Process_Modeler" height="437" width="951" bordercolor="-16777216" fillcolor="-1"><br />          <coordinates xcoordinate="40" ycoordinate="34"><br />        </nodegraphicsinfo><br />      </nodegraphicsinfos><br />    </pool><br />  </pools><br />  <messageflows><br />  <associations><br />    <association id="bfc6fd80-8d88-43e1-a38d-c595c6dc756a" source="0b84e44b-13ef-414b-9b20-60558f2f7577" target="d1f19a69-9ca2-4ddc-bed7-8e627ebf06ab" name=""><br />      <connectorgraphicsinfos><br />        <connectorgraphicsinfo toolid="BizAgi_Process_Modeler" bordercolor="0"><br />          <coordinates xcoordinate="275" ycoordinate="373"><br />          <coordinates xcoordinate="490" ycoordinate="373"><br />          <coordinates xcoordinate="490" ycoordinate="550"><br />          <coordinates xcoordinate="525" ycoordinate="550"><br />        </connectorgraphicsinfo><br />      </connectorgraphicsinfos><br />      <extendedattributes><br />    </association><br />  </associations><br />  <artifacts><br />    <artifact id="d1f19a69-9ca2-4ddc-bed7-8e627ebf06ab" artifacttype="Annotation" textannotation="A verficação de multas se da por um email ao  DETRAN."><br />      <nodegraphicsinfos><br />        <nodegraphicsinfo toolid="BizAgi_Process_Modeler" height="60" width="100" bordercolor="-2763307" fillcolor="-2763307"><br />          <coordinates xcoordinate="345" ycoordinate="400"><br />        </nodegraphicsinfo><br />      </nodegraphicsinfos><br />      <documentation><br />    </artifact><br />  </artifacts><br />  <workflowprocesses><br />    <workflowprocess id="9a46cbbd-3a96-4bf7-8760-52aa23cf270b" name="Processo principal"><br />      <processheader><br />        <created>2009-06-09T22:42:03.0645306-03:00</created><br />        <description><br />      </processheader><br />      <redefinableheader><br />        <author>BizAgi Process Modeler.</author><br />        <version>1.0</version><br />        <countrykey>CO</countrykey><br />      </redefinableheader><br />      <activitysets><br />      <activities><br />      <transitions><br />      <extendedattributes><br />    </workflowprocess><br />    <workflowprocess id="5e814461-5fcd-4682-8682-ef40e101be8e" name="Processo Alugar Carro"><br />      <processheader><br />        <created>2009-06-09T22:42:03.0665306-03:00</created><br />        <description><br />      </processheader><br />      <redefinableheader><br />        <author>BizAgi Process Modeler.</author><br />        <version>1.0</version><br />        <countrykey>CO</countrykey><br />      </redefinableheader><br />      <activitysets><br />        <activityset id="0b84e44b-13ef-414b-9b20-60558f2f7577" name="Verifica multas" adhoc="true"><br />          <activities><br />          <transitions><br />        </activityset><br />      </activitysets><br />      <activities><br />        <activity id="68f09b69-dd94-4b24-89f5-e7115af0727b" name="Verifica os dados do cliente"><br />          <implementation><br />            <task><br />          </implementation><br />          <performers><br />          <documentation><br />          <extendedattributes><br />          <nodegraphicsinfos><br />            <nodegraphicsinfo toolid="BizAgi_Process_Modeler" height="60" width="90" bordercolor="-16553830" fillcolor="-1249281"><br />              <coordinates xcoordinate="253" ycoordinate="186"><br />            </nodegraphicsinfo><br />          </nodegraphicsinfos><br />          <isforcompensationspecified>false</isforcompensationspecified><br />        </activity><br />        <activity id="c49f25b6-cae6-4805-a5ad-93c50afdad1d" name="Nega locação"><br />          <implementation><br />            <task><br />          </implementation><br />          <performers><br />          <documentation><br />          <extendedattributes><br />          <nodegraphicsinfos><br />            <nodegraphicsinfo toolid="BizAgi_Process_Modeler" height="60" width="90" bordercolor="-16553830" fillcolor="-1249281"><br />              <coordinates xcoordinate="485" ycoordinate="58"><br />            </nodegraphicsinfo><br />          </nodegraphicsinfos><br />          <isforcompensationspecified>false</isforcompensationspecified><br />        </activity><br />        <activity id="bf987255-cec5-465e-8493-2ef8d70c3c15" name="Notifica o cliente por email"><br />          <implementation><br />            <task><br />          </implementation><br />          <performers><br />          <documentation><br />          <extendedattributes><br />          <nodegraphicsinfos><br />            <nodegraphicsinfo toolid="BizAgi_Process_Modeler" height="60" width="90" bordercolor="-16553830" fillcolor="-1249281"><br />              <coordinates xcoordinate="788" ycoordinate="55"><br />            </nodegraphicsinfo><br />          </nodegraphicsinfos><br />          <isforcompensationspecified>false</isforcompensationspecified><br />        </activity><br />        <activity id="1cf66f62-a7f4-4943-a643-175183210a73"><br />          <event><br />            <endevent result="Terminate"><br />          </event><br />          <documentation><br />          <extendedattributes><br />          <nodegraphicsinfos><br />            <nodegraphicsinfo toolid="BizAgi_Process_Modeler" height="30" width="30" bordercolor="-6750208" fillcolor="-1135958"><br />              <coordinates xcoordinate="678" ycoordinate="73"><br />            </nodegraphicsinfo><br />          </nodegraphicsinfos><br />          <isforcompensationspecified>false</isforcompensationspecified><br />        </activity><br />        <activity id="3bf962d4-dee5-447e-ae98-a5a9b9198f1a"><br />          <event><br />            <endevent result="Terminate"><br />          </event><br />          <documentation><br />          <extendedattributes><br />          <nodegraphicsinfos><br />            <nodegraphicsinfo toolid="BizAgi_Process_Modeler" height="30" width="30" bordercolor="-6750208" fillcolor="-1135958"><br />              <coordinates xcoordinate="928" ycoordinate="70"><br />            </nodegraphicsinfo><br />          </nodegraphicsinfos><br />          <isforcompensationspecified>false</isforcompensationspecified><br />        </activity><br />        <activity id="44077f3a-394e-4a4c-a05e-13d1e5892d07"><br />          <event><br />            <startevent trigger="Message"><br />              <triggerresultmessage><br />            </startevent><br />          </event><br />          <documentation><br />          <extendedattributes><br />          <nodegraphicsinfos><br />            <nodegraphicsinfo toolid="BizAgi_Process_Modeler" height="30" width="30" bordercolor="-10311914" fillcolor="-1638505"><br />              <coordinates xcoordinate="151" ycoordinate="75"><br />            </nodegraphicsinfo><br />          </nodegraphicsinfos><br />          <isforcompensationspecified>false</isforcompensationspecified><br />        </activity><br />        <activity id="c058750a-611f-40ee-9159-7cd8cd221513" name=""><br />          <route gatewaytype="AND"><br />          <documentation><br />          <extendedattributes><br />          <nodegraphicsinfos><br />            <nodegraphicsinfo toolid="BizAgi_Process_Modeler" height="40" width="40" bordercolor="-5855715" fillcolor="-52"><br />              <coordinates xcoordinate="491" ycoordinate="353"><br />            </nodegraphicsinfo><br />          </nodegraphicsinfos><br />          <isforcompensationspecified>false</isforcompensationspecified><br />        </activity><br />        <activity id="0c064927-1240-449d-9bf1-fb2adaeeef8b" name="Registro de negação por multas"><br />          <implementation><br />            <task><br />              <taskservice><br />            </task><br />          </implementation><br />          <performers><br />          <documentation><br />          <extendedattributes><br />          <nodegraphicsinfos><br />            <nodegraphicsinfo toolid="BizAgi_Process_Modeler" height="60" width="90" bordercolor="-16553830" fillcolor="-1249281"><br />              <coordinates xcoordinate="410" ycoordinate="190"><br />            </nodegraphicsinfo><br />          </nodegraphicsinfos><br />          <isforcompensationspecified>false</isforcompensationspecified><br />        </activity><br />        <activity id="2fc7d9a9-3958-442f-9958-df5da693a6d8" name="Registra  Locação"><br />          <implementation><br />            <task><br />              <taskservice><br />            </task><br />          </implementation><br />          <performers><br />          <documentation><br />          <extendedattributes><br />          <nodegraphicsinfos><br />            <nodegraphicsinfo toolid="BizAgi_Process_Modeler" height="60" width="90" bordercolor="-16553830" fillcolor="-1249281"><br />              <coordinates xcoordinate="761" ycoordinate="200"><br />            </nodegraphicsinfo><br />          </nodegraphicsinfos><br />          <isforcompensationspecified>false</isforcompensationspecified><br />        </activity><br />        <activity id="b8b6b9d4-2d1a-410f-8320-346017bd95e4" name="Escolhe modelo e envia o pedido"><br />          <implementation><br />            <task><br />              <tasksend><br />            </task><br />          </implementation><br />          <performers><br />          <documentation><br />          <extendedattributes><br />          <nodegraphicsinfos><br />            <nodegraphicsinfo toolid="BizAgi_Process_Modeler" height="60" width="90" bordercolor="-16553830" fillcolor="-1249281"><br />              <coordinates xcoordinate="253" ycoordinate="60"><br />            </nodegraphicsinfo><br />          </nodegraphicsinfos><br />          <isforcompensationspecified>false</isforcompensationspecified><br />        </activity><br />        <activity id="0b84e44b-13ef-414b-9b20-60558f2f7577" name="Verifica multas"><br />          <blockactivity activitysetid="0b84e44b-13ef-414b-9b20-60558f2f7577"><br />          <performers><br />          <documentation><br />          <extendedattributes><br />          <nodegraphicsinfos><br />            <nodegraphicsinfo toolid="BizAgi_Process_Modeler" height="60" width="90" bordercolor="-16553830" fillcolor="-1249281" expanded="false" expandedwidth="270" expandedheight="180"><br />              <coordinates xcoordinate="185" ycoordinate="343"><br />            </nodegraphicsinfo><br />          </nodegraphicsinfos><br />          <isforcompensationspecified>false</isforcompensationspecified><br />        </activity><br />      </activities><br />      <transitions><br />        <transition id="56f43044-1108-485a-86f4-e2588c8a8dc0" from="b8b6b9d4-2d1a-410f-8320-346017bd95e4" to="68f09b69-dd94-4b24-89f5-e7115af0727b" name=""><br />          <condition><br />          <extendedattributes><br />          <connectorgraphicsinfos><br />            <connectorgraphicsinfo toolid="BizAgi_Process_Modeler" bordercolor="0"><br />              <coordinates xcoordinate="298" ycoordinate="120"><br />              <coordinates xcoordinate="298" ycoordinate="186"><br />            </connectorgraphicsinfo><br />          </connectorgraphicsinfos><br />        </transition><br />        <transition id="e72ae797-0a16-4b19-9e44-08929066a799" from="68f09b69-dd94-4b24-89f5-e7115af0727b" to="0b84e44b-13ef-414b-9b20-60558f2f7577" name=""><br />          <condition><br />          <extendedattributes><br />          <connectorgraphicsinfos><br />            <connectorgraphicsinfo toolid="BizAgi_Process_Modeler" bordercolor="0"><br />              <coordinates xcoordinate="298" ycoordinate="246"><br />              <coordinates xcoordinate="298" ycoordinate="287"><br />              <coordinates xcoordinate="50" ycoordinate="287"><br />              <coordinates xcoordinate="50" ycoordinate="343"><br />            </connectorgraphicsinfo><br />          </connectorgraphicsinfos><br />        </transition><br />        <transition id="d426acc3-acfe-481c-aa4f-c7462e8a6bd3" from="0c064927-1240-449d-9bf1-fb2adaeeef8b" to="c49f25b6-cae6-4805-a5ad-93c50afdad1d" name=""><br />          <condition><br />          <extendedattributes><br />          <connectorgraphicsinfos><br />            <connectorgraphicsinfo toolid="BizAgi_Process_Modeler" bordercolor="0"><br />              <coordinates xcoordinate="455" ycoordinate="190"><br />              <coordinates xcoordinate="455" ycoordinate="155.5"><br />              <coordinates xcoordinate="530" ycoordinate="155.5"><br />              <coordinates xcoordinate="530" ycoordinate="118"><br />            </connectorgraphicsinfo><br />          </connectorgraphicsinfos><br />        </transition><br />        <transition id="c09a9def-c930-420e-9e84-600d9f5abe05" from="2fc7d9a9-3958-442f-9958-df5da693a6d8" to="bf987255-cec5-465e-8493-2ef8d70c3c15" name=""><br />          <condition><br />          <extendedattributes><br />          <connectorgraphicsinfos><br />            <connectorgraphicsinfo toolid="BizAgi_Process_Modeler" bordercolor="0"><br />              <coordinates xcoordinate="806" ycoordinate="200"><br />              <coordinates xcoordinate="806" ycoordinate="154.5"><br />              <coordinates xcoordinate="833" ycoordinate="154.5"><br />              <coordinates xcoordinate="833" ycoordinate="115"><br />            </connectorgraphicsinfo><br />          </connectorgraphicsinfos><br />        </transition><br />        <transition id="330ee202-e82f-4b7a-8975-26250a759734" from="c49f25b6-cae6-4805-a5ad-93c50afdad1d" to="1cf66f62-a7f4-4943-a643-175183210a73" name=""><br />          <condition><br />          <extendedattributes><br />          <connectorgraphicsinfos><br />            <connectorgraphicsinfo toolid="BizAgi_Process_Modeler" bordercolor="0"><br />              <coordinates xcoordinate="575" ycoordinate="88"><br />              <coordinates xcoordinate="678" ycoordinate="88"><br />            </connectorgraphicsinfo><br />          </connectorgraphicsinfos><br />        </transition><br />        <transition id="71961851-7273-4bd5-a183-2d7661531267" from="bf987255-cec5-465e-8493-2ef8d70c3c15" to="3bf962d4-dee5-447e-ae98-a5a9b9198f1a" name=""><br />          <condition><br />          <extendedattributes><br />          <connectorgraphicsinfos><br />            <connectorgraphicsinfo toolid="BizAgi_Process_Modeler" bordercolor="0"><br />              <coordinates xcoordinate="878" ycoordinate="85"><br />              <coordinates xcoordinate="928" ycoordinate="85"><br />            </connectorgraphicsinfo><br />          </connectorgraphicsinfos><br />        </transition><br />        <transition id="eb3416d9-90e0-4a20-ba73-13b44bdac965" from="44077f3a-394e-4a4c-a05e-13d1e5892d07" to="b8b6b9d4-2d1a-410f-8320-346017bd95e4" name=""><br />          <condition><br />          <extendedattributes><br />          <connectorgraphicsinfos><br />            <connectorgraphicsinfo toolid="BizAgi_Process_Modeler" bordercolor="0"><br />              <coordinates xcoordinate="181" ycoordinate="90"><br />              <coordinates xcoordinate="433" ycoordinate="90"><br />            </connectorgraphicsinfo><br />          </connectorgraphicsinfos><br />        </transition><br />        <transition id="8db96536-f759-4154-bb49-5c88fd83b8e5" from="c058750a-611f-40ee-9159-7cd8cd221513" to="0c064927-1240-449d-9bf1-fb2adaeeef8b" name=">= 2 multas"><br />          <condition><br />          <extendedattributes><br />          <connectorgraphicsinfos><br />            <connectorgraphicsinfo toolid="BizAgi_Process_Modeler" bordercolor="0"><br />              <coordinates xcoordinate="511" ycoordinate="353"><br />              <coordinates xcoordinate="511" ycoordinate="292.5"><br />              <coordinates xcoordinate="455" ycoordinate="292.5"><br />              <coordinates xcoordinate="455" ycoordinate="250"><br />            </connectorgraphicsinfo><br />          </connectorgraphicsinfos><br />        </transition><br />        <transition id="5e92992c-6ad2-4a60-8f3f-6b3194043c97" from="c058750a-611f-40ee-9159-7cd8cd221513" to="2fc7d9a9-3958-442f-9958-df5da693a6d8" name="<= 1 multa"><br />          <condition><br />          <extendedattributes><br />          <connectorgraphicsinfos><br />            <connectorgraphicsinfo toolid="BizAgi_Process_Modeler" bordercolor="0"><br />              <coordinates xcoordinate="531" ycoordinate="373"><br />              <coordinates xcoordinate="646" ycoordinate="373"><br />              <coordinates xcoordinate="646" ycoordinate="230"><br />              <coordinates xcoordinate="761" ycoordinate="230"><br />            </connectorgraphicsinfo><br />          </connectorgraphicsinfos><br />        </transition><br />        <transition id="5be22f41-785d-41dd-a697-15aa1c29cc0d" from="0b84e44b-13ef-414b-9b20-60558f2f7577" to="c058750a-611f-40ee-9159-7cd8cd221513" name=""><br />          <condition><br />          <extendedattributes><br />          <connectorgraphicsinfos><br />            <connectorgraphicsinfo toolid="BizAgi_Process_Modeler" bordercolor="0"><br />              <coordinates xcoordinate="275" ycoordinate="373"><br />              <coordinates xcoordinate="671" ycoordinate="373"><br />            </connectorgraphicsinfo><br />          </connectorgraphicsinfos><br />        </transition><br />      </transitions><br />      <extendedattributes><br />    </workflowprocess><br />  </workflowprocesses><br />  <extendedattributes><br /></package>

Se vocês quiserem baixar os recursos deste artigo,
diagrama bpmn, imagem e XPDL confiram nessa url.

Para fechar com o BizAgi,
que para mim é a melhor solução de modelagem, pensando
só em modelagem, é uma abordagem válida para empresas que querem começar
a mapear os seus processos para ajudar no desenvolvimento e para
melhorar o funcionamento da empresa, para aplicação de uma solução de
BPMS completa precisamos ter mais critérios. Mas aí já é história para
outro artigo!

Abraços e até a próxima.

é Técnico em Processamento de Dados e graduando em Ciências da Computação(7º sem.) na Ulbra. Já trabalhou com desenvolvimento de software em VB, ASP, .NET e PHP. Atualmente é Arquiteto de Software criando soluções corporativas em Java. Certificado pela SUN com SCJP 5 e SCWD 5. Mantém o blog (diego-pacheco.blogspot.com).

Ver perfil