You are on page 1of 41

BPM 2.

0
Por Ismael Chang Ghalimi, CEO, Intalio

Contedos
Contedos............................................................................. 2 Prefcio ............................................................................... 3 Introduo ............................................................................ 4 Usado por Analistas de Processos ................................................. 5 Inicie com um BPMS completo ..................................................... 7 Uma nica ferramenta no Eclipse ................................................. 9 Adorado pelo pessoal de ABAP, PHP e VB ....................................... 11 BPEL .................................................................................. 13 BPMN ................................................................................. 15 Ferramenta de modelagem BPMN ................................................ 17 Codificao zero .................................................................... 19 Distribuio em um clique......................................................... 21 Gerao automtica de servios.................................................. 23 Interpretao nativa do cdigo BPEL ............................................ 25 Interface do usurio Web 2.0 ..................................................... 27 Motor de regras includo ........................................................... 29 BAM em tempo real includo ...................................................... 31 Simulao de processos nativa.................................................... 33 Otimizao dinmica do processo ................................................ 35 Motor de processos de cdigo fonte aberto..................................... 37 Inicie hoje mesmo, sem custo .................................................. 39 Sobre o autor ........................................................................ 41

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

Prefcio
Este documento uma compilao de 18 artigos semanais publicados no blog IT|Redux entre os dias 13 de maro de 2006 e 10 de julho de 2006. As publicaes originais foram ligeiramente editadas a fim caber no formato desta compilao. As referncias e os comentrios adicionais dos usurios esto disponveis online. Este documento foi originalmente editado usando a ferramenta ThinkFree Office 2.0.

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

Introduo
H seis anos, eu escrevi o primeiro artigo sobre BPMS. Era uma das publicaes semanais que ajudaram a definir o conceito para BPM e comear uma nova indstria. O acrnimo de trs letras se transformou numa sensao imediata, bem-sucedida alm de todas as expectativas que poderamos ter tido naquele momento. Muito bem-sucedida, alguns diriam. Hoje, o codinome BPM usado para descrever qualquer legado dos produtos de workflow, motores de regras de negcio, ferramentas de diagramao de fluxogramas, geradores de cdigo Java, ou mesmo servios de consultoria de reengenharia de processos de negcio. Esta confuso, perpetuada por fornecedores de software e por analistas da indstria, serve a duas finalidades principais: permite a todo fornecedor que puder mostrar caixas e setas em seu produto vender sua caixa, enquanto que qualquer analista que possa compilar uma lista dos fornecedores mencionados vendem seus servios brilhantes a usurios totalmente confusos. Clientes com quem eu converso solicitam uma mudana. Na tentativa da primeira verso do BPM, no encontraram o que procuravam, e esto querendo saber se vale a pena tentar, se houvesse qualquer outra coisa. A boa notcia: h, e eu a chamo de BPM 2.0 um termo inventado originalmente por meu amigo Bruce - e est disponvel. A m notcia: a definio que eu dou para BPM 2.0 radical, no saiu de qualquer lugar e a maioria dos fornecedores no vai gostar. Mas adivinhem? Eu estou mais interessado em fazer clientes felizes do que deixar outros fornecedores dormirem tranqilos, especialmente quando forem meus concorrentes. Assim, damos as boas-vindas ao BPM 2.0!

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

Usado por Analistas de Processos


Versus introduzido no mercado aos analistas de negcio
Vamos comear derrubando a maior mentira sobre BPM: que analistas do negcio poderiam usar uma ferramenta de BPM para modelar e distribuir um processo executvel do negcio. Embora isso tenha sido verdadeiro para os fluxos de processos centrados em documentos mais simples, como quando um analista do negcio especifica o processo de reviso de um release para ser liberado em um site na internet, isto logo quebrado quando o processo envolver transaes com qualquer tipo de sistema de retaguarda de escritrio, por duas razes principais: primeiro, ningum da TI vai querer abrir portas no sistema ERP corporativo para o analista do negcio; segundo, o tal analista no vai querer receber chamadas do CEO no meio da noite se o sistema de ERP no puder gravar ordens de compra novas. Concluso: BPM 2.0 no para analistas do negcio no tcnicos. Nunca deve ter sido, nunca ser, e ningum deve se importar. Ao contrrio, BPM 2.0 para os analistas de processos que se articulam bastante com o pblico de negcio, e so tambm tcnicos o bastante para compreender a diferena entre um lao do-while e um comando for-each. No construiremos uma ponte entre o negcio e a TI dividindo e autorizando analistas de negcio para comear a livrar-se do pessoal de TI. Em vez disto, deixar apenas uns analistas de processos mais tcnicos compreenderem exigncias do negcio e execut-las diretamente no processo, enquanto alavanca sistemas de TI. Nem top-down nem bottomup, uma abordagem middle-out, e nico que faz uma abertura mais estreita. Mas quem o analista de processos? Um teste simples perguntar a uma candidata se ela compreende as diferenas entre um lao do-while, whiledo e um for-each. Se entender e puder explicar a um analista do negcio, o que um lao - voc encontrou a pessoa que procurava. Voc o encontrar entre os 8 milhes de programadores de Visual Basic, os 3 milhes de fs do PHP, o milho da tribo PL/SQL, e meio-milho de entendidos em ABAP. Se voc comparar com os 2 milhes de pessoas que podem escrever o cdigo de Java nos dias de hoje, este um bom grupo. Se voc adicionar a esta mistura pessoas que compreendem HTML, voc ter mais de 20 milhes de pessoas que voc poder extrair deste. E se voc quiser compreender por que um mestre em Java e J2EE no deve ser um pr-requisito para usar um BPMS, apenas leia o programa de estudo para o curso no jBPM oferecido pela JBoss: O estudante deve ter a experincia precedente em desenvolvimento com Hibernate aplicao. O estudante deve saber

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

configurar um simples SessionFactory para Hibernate, utilizar uma Session Hibernate e demarcar transaes e como executar perguntas bsicas em objetos do Hibernate. Para mim, muito bonito para mostrar uma barreira. BPM 2.0 no para inflexveis.

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

Inicie com um BPMS completo


Versus comear com uma ferramenta de modelagem de processos
Como o BPM foi originalmente produzido para aos analistas do negcio, os fornecedores pensaram que seria uma boa idia comear somente com a ferramenta que o analista do negcio poderia usar, isto , algum tipo da ferramenta de diagramao de fluxogramas. O problema que isso exatamente o que os clientes fizeram, mas no fizeram nada mais alm disso, por uma razo muito simples: uma vez que um analista do negcio tem diagramado um processo com uma ferramenta que no reforce nenhuma regra que faa o processo ser executvel, no h nenhuma maneira de fazer esse processo executvel mais tarde. Todo este trabalho ser desperdiado e o analista do negcio se sentir iludido. Se voc quiser tentar com BPM 2.0, meu conselho no compre uma ferramenta de modelagem de processos. Prefira iniciar com um BPMS completo e comece a construir processos executveis no primeiro dia. Alguns chamaro isto de Desenvolvimento gil para processos de negcio. Eu chamo BPM que funciona. Mas o que um BPMS completo? Para mim, um BPMS deve suportar o desenho e a execuo do processo, conseqentemente uma ferramenta de modelagem de processos simples com potencialidades de simulao do processo no a qualifica como um produto de BPM 2.0. Tambm, um BPMS deve suportar orquestrao dos servios e interaes humanas no fluxo de trabalho. Voc pode pensar como os dois lados da mesma moeda: numa face os sistemas de retaguarda de TI, e na outra, pessoas com suas interfaces. Como resultado disto, um BPMS completo tem trs componentes principais: uma ferramenta de desenho dos processos, um motor de execuo de processos e uma interface de usurios para os fluxos de trabalho. Se voc quiser um BPMS mais completo, trs potencialidades adicionais so necessrias: suporte a regras de negcio complexas, monitoramento das atividades de negcio (BAM) e uma maneira de controlar verses de documentos anexados s instancias dos processos. No importa realmente se estas potencialidades so oferecidas de forma nativa pelo ncleo do BPMS, ou se so fornecidas por componentes externos, contanto que o ciclo de vida de processos do negcio seja preservado, com codificao zero e distribuio em um clique. E se voc quiser ser realmente extravagante, mais trs coisas podem ser adicionadas: um barramento de servios corporativo (ESB), um repositrio de metadados e um conjunto para inteligncia de negcio (BI) que lhe

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

ajude a cortar e fatiar os dados que saem da infra-estrutura de BAM. Uma vez alcanado esse nvel de sofisticao, voc obter um BPMS completo que pode ser usado para controlar virtualmente qualquer tipo de processo do negcio, dentro dos ambientes mais complexos. Agora, vamos fazer um exame e olhar como a Intalio est construindo isso. Primeiramente, ns desenvolvemos uma ferramenta de desenho de processos (que usa o Eclipse como base), um servidor de processos, e um conjunto para fluxos de trabalho. Em segundo, ns escolhemos como parceiros preferidos Corticon e OpenLexicon para regras de negcio, Actuate Birt para monitoramento das atividades do negcio (BAM), e Alfresco para gerenciamento de contedo (ECM), LogicBlaze ServiceMix e MuleSource para barramento de servios (ESB), Pentaho para extrao, transformao e carga de dados (ETL), IBM WebSphere para servidor de aplicaes, Orbeon para formulrios, Liferay para portal e MySQL para banco de dados. A integrao com estes produtos feita com nosso programa de desenvolvimento de demanda dirigido (D3). Se voc estiver procurando um BPMS completo, experimente Intalio.

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

Uma nica ferramenta no Eclipse


Versus mltiplas ferramentas de mltiplos fornecedores
No faz muito tempo, para mapear e distribuir o cdigo processos eram necessrias sete ferramentas: uma para modelar o processo no nvel do negcio, outra para descrever detalhes tcnicos, uma terceira para construir conectores aos sistemas externos, uma quarta para mapear a entrada e sada de dados, uma quinta para especificar regras de negcio, uma sexta para projetar interface de usurio do workflow, e uma stima para distribuir todo o cdigo em uma coleo de componentes proprietrios para execuo. Todos os tipos requeriam diferentes competncias, funcionavam em ambientes diferentes, usavam linguagens diferentes, perdiam informao entre um e outro, e tornaram tudo to complexo de montar para que o usurio final pudesse realmente us-los sem necessidade de servios de consultoria caros de um fornecedor de software que juntou vrias partes construdas a partir de mltiplas aquisies. BPM 2.0 pe tudo que voc necessita dentro de uma ferramenta, e essa ferramenta est no Eclipse. Com Oracle e SAP atualmente suportando o Eclipse, nenhum outro ambiente integrado de desenvolvimento ao lado do Microsoft Visual Studio ter importncia, daqui um tempo sua ferramenta de BPM 2.0 funcionar nativamente no Eclipse. Mas por que o Eclipse importante? Minha definio para BPM 2.0 indica que um BPMS deve ser construdo em torno de uma nica ferramenta no Eclipse, e esta indicao radical merece uma explanao mais completa, como foi ilustrado por algumas das discusses que seguiram para colaborar com a publicao original do BPM 2.0. Os ambientes integrados do desenvolvimento (IDEs) so como Sistemas Operacionais, no sentido que fornecem a infra-estrutura de software que os fornecedores podem construir suas ferramentas, sem ter que re-inventar a roda toda hora. E, bem como Sistemas Operacionais, tendem a ser a vtima de se tornar uma commodity e da consolidao, mais cedo ou mais tarde. A Oracle transformou-se um dos mais fortes apoiadores do Eclipse, Borland decidiu vender seu grupo de JBuilder, e NetBeans no est dirigindo exatamente desenvolvedores plataforma Sun. Isto deixa os dois no ringue: Eclipse e Microsoft Visual Studio. Mas porque Microsoft no gosta de se expor aos seus concorrentes, a maioria vasta de fornecedores de BPMS adotou Java como a plataforma de desenvolvimento, e aqui que o Eclipse entra no jogo. Ou seja, se voc for Microsoft, seu

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

BPMS ser construdo em torno do Visual Studio, mas se voc no for, o Eclipse o caminho. O benefcio principal de usar um IDE padro para desenvolver as ferramentas que faro parte para oferecer BPMS que voc pode alavancar os componentes existentes que j foram desenvolvidos por terceiros. Por exemplo, Intalio est usando um editor de XForms WYSIWYG desenvolvido com a Orbeon, que esto disponveis como plug-ins do Eclipse. Tambm, como o Eclipse fornece suporte para os sistemas de controle de fontes mais populares, integrar com a infra-estrutura de gerenciamento do ciclo de vida da aplicao incrivelmente simplificado, e o fornecedor de BPMS consegue tudo isso essencialmente de graa. Deve ser dito, usar o Eclipse em vez de uma estrutura proprietria cria dois desafios. Primeiro, o Eclipse uma plataforma muito complexa que faz uso extensivo de tecnologias avanadas, tais como EMF e GEF. A curva de aprendizagem para este consideravelmente ngreme, e a produtividade de um colaborador Java que se converter ao Eclipse pode ser reduzida significativamente para os primeiros trs a seis meses. Segundo, como o Eclipse foi desenvolvido originalmente para engenheiros de software, ele torna tudo mais complexo do que deve ser para um desenhista de processos mdio. Em conseqncia, um fornecedor de BPMS que adota o Eclipse como IDE deve certificar-se esconder esta complexidade de usurio mais simples. Esta no uma tarefa fcil, mas os benefcios que voc pode ganhar funcionando no Eclipse compensam pela maior parte o esforo da migrao. Obrigado IBM por esta parte do software!

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

10

Adorado pelo pessoal de ABAP, PHP e VB


Versus usado somente por peritos em J2EE
Os produtos de BPM da primeira gerao necessitavam competncias em J2EE, ou mesmo linguagens de script proprietrias, como se o mundo necessitasse de outra linguagem de programao. Tanto quanto eu gosto de J2EE como um fornecedor do software, isto uma especificao anormal, complexa, que est fora do alcance para a maioria das pessoas de TI. A programao orientada a objetos extremamente poderosa, mas como ela ou no, a maioria os programadores no a compreendem, nem pelo menos usariam algo mais simples como PHP ou Visual Basic. H 2 milhes programadores de Java por a, e eu conto que somente uma frao deles pode escrever componentes de EJB. Menos ainda sabem combinar EJB com o JMS, o Servlets e os Mensage-Driven Beans. Compare isso aos 3 milhes de desenvolvedores PHP e aos 8 milhes de codificadores em VB, e voc comear a ter este cenrio. BPM 2.0 no para os gurus de J2EE, e nem limitado a eles. BPM 2.0 alveja os analistas de processos que podem ler um diagrama em BPMN, para compreender a representao da rvore de um esquema XML, clicar e arrastar formas em uma tela. Se voc pensar que pode fazer sem grande esforo, BPM 2.0 trabalhar para voc. Mas o que h de errado com J2EE? Java e J2EE corporativo so tecnologias extremamente poderosas. O problema que poder vem acompanhado de complexidade, e J2EE um exemplo perfeito para isto. O site do Java Community Process (JCP) possui 320 pedidos de especificao (JSRs), e a especificao Beta da API corporativa da edio 5 tem 1438 classes. De qualquer maneira voc percebe que o Java cresceu, ficou grande e complexo. J2EE foi supostamente para trazer portabilidade para as aplicaes desenvolvidas, mas a realidade que alm das mais simples que tomam somente a vantagem de um recipiente de Servlet, voc no pode mover aplicaes de servidor de aplicao para outro, especialmente se empregarem componentes dos Enterprise Java Beans (EJB). O modelo de componentes EJB 3.0 promete mudar isto. Infelizmente, quando um problema reparado aqui, um novo aparece. Ns experimentamos isto recentemente quando ns tentamos mover nosso servidor de processos para o Apache Geronimo. Tudo trabalhou muito bem at que ns tentamos empacotar todos componentes junto servidor de processos, servios de workflow, motor de XForms, etc. e ento ele quebrou. De algum modo, um componente desligava um servio compartilhado de Log4j, e ns no tivemos uma maneira fcil de isolar qual componente estava com falha. Este problema irritante, junto com

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

11

uma dzia de similares, manteve uma equipe de trs dos melhores programadores Java, ocupados a maior parte do ltimo trimestre. Se uma empresa de software como a Intalio, cujo negcio desenvolver o software, est enfrentando este tipo de desafio, como ser para os usurios finais cujo negcio preliminar est vendendo dispositivos ou est processando transaes financeiras? Bem, tanto quanto eu posso dizer de muitas discusses com clientes, no to grande tampouco Seu programador mdio no pode tratar neste nvel de complexidade. No que no seja esperto o bastante, mas tem coisas melhores a fazer, como tomar conta do negcio, por exemplo. E o que verdadeiro para J2EE tambm verdadeiro para tecnologias colaterais, tais como o Eclipse por exemplo, voc tem tentado usar EMF e GEF? Para mim, BPM 2.0 oferecer um pulo do quantum de abstrao que permitir seu desenvolvedor mdio pessoal de ABAP, PHP e VB abstrair esta complexidade e focar em nveis mais elevados, como processos, regras e relaes. Para estender estes desenvolvedores sem a complexidade do J2EE e .NET, a BPM 2.0 lhes d as ferramentas para serem produtivos, como vingana. Isso precisamente porque gostam disto.

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

12

BPEL
Versus BPEL, BPML, WSFL, XLANG, XPDL
At um tempo atrs, no havia nenhum padro para processos executveis. XLANG estava emergindo, WSFL no existia, e o pessoal do workflow havia produzido nada mais do que um conjunto de relaes totalmente inteis. Ento o BPMI.org liberou a especificao da BPML, que forou Microsoft e IBM a abandonar XLANG e WSFL respectivamente. Por razes polticas, Microsoft e IBM decidiram escrever sua prpria especificao, em vez de adotar BPML, que conduziu liberao de WS-BPEL, um ano depois que a primeira execuo comercial da especificao da BPML foi distribuda em produo. Trs anos de discusses pblicas se seguiram, at que o BPMI.org foi fundido com a OMG e decidido finalmente deixar a BPML em favor de BPEL. At ento, nenhum padro real estava disponvel nos ltimos seis anos, o que contribuiu a retardar a baixa adoo do BPM. As coisas so um pouco diferentes hoje. BPEL ganhou, BPEL 2.0 uma especificao boa o bastante para os clientes construrem processos de misso crtica, e todos os grandes fornecedores a adotaram. BPM 2.0 trabalha graas ao BPEL, bem como bases de dados relacionais trabalham graas ao SQL. Os analistas de processos no devem realmente importar-se com ele, porque no tero que escrever uma nica linha do cdigo de BPEL se escolherem a ferramenta certa, mas BPEL como o DNA do processo, ele o padro em que tudo construdo ao redor. Assim, se voc estiver ouvindo que BPEL no importa, ou que o produto que voc est considerando para aquisio declarar que suportar BPEL no ano seguinte, no se engane: voc est a ponto de comprar uma parte muito cara de software proprietrio do qual voc ter que se livrar mais cedo do que voc pensa, assim como os que recm se adaptaram ao padro. Mas por que BPEL importa? Fora os 250 fornecedores de BPM que podem ser encontrados no Google, menos de 10 suportam BPEL de forma nativa. Os outros 240 fazem geralmente um caso que BPEL no importa realmente, porque nenhum analista do negcio o usaria diretamente. Esto certos e errados. Esto certos, no sentido que, nenhum analista de negcio ou analista de processos ter que escrever uma nica linha do cdigo de BPEL. Em vez disso, usaro uma ferramenta de modelagem de processos que gera o cdigo para eles. Mas tambm esto errados, o que se importam com a maneira que o cdigo gerado, por trs razes principais. Primeiramente, usar um motor de processos que suporte BPEL de forma nativa assegura que os processos que so distribudos nele podero ser

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

13

distribudos em outro motor de processos tambm. Tanto quanto eu posso dizer, esta a melhor poltica de segurana que todo o cliente poderia ter. Admitidamente, o fato que BPEL tem as verses mltiplas (1.0, 1.1, 2.0) e suporta definio proprietria de extenso muito semelhante ao SQL com SQL-87, SQL-92 e stored procedures proprietrias tal portabilidade dever ocorrer. No obstante, muito mais fcil do que optar por uma linguagem proprietria do fornecedor tal. Em segundo, projetando os processos que so ser distribudos visando um servidor executvel de BPEL permite que os desenvolvedores faam algumas suposies a respeito da execuo ambiente que os hospedar: as interfaces web services estaro l para interagir em qualquer momento com os processos em sua execuo, os dados para auditoria tero certo formato ou pelo menos so definidos uma semntica comum, e uma coleo de processos estar definida e construda antecipadamente, sem ambigidade. Isto faz o desenvolvimento de ferramentas baseadas em padres para monitorao da atividade de negcio e anlise dos processos e simulao muito mais fceis dentro do eco-sistema do BPM. Em terceiro lugar, e os fornecedores do workflow gostando ou no (normalmente eles no gostam), BPEL no (??) se transformou em um padro de fato na indstria. A maioria dos fornecedores de BPM hoje foi fornecedor do workflow no passado, e a grande comunidade de workflow fez um bom trabalho que fragmentou o mercado, e ningum desenvolveu nem suportou um padro til. Pensar em dividir-se para conquistar uma estratgia onde ningum conquista realmente qualquer coisa em primeiro lugar. Em conseqncia, os fornecedores de workflow tm um interesse investido dentro BPEL, a fim retardar sua baixa adoo e sua prpria evoluo em relao sua irrelevncia. Mas no h engano. Quando a maioria dos fornecedores de TI incluindo IBM, Microsoft, Oracle e SAP concorda com o padro fornecido, no h muito espao para mais outro. QL pode ter sido melhor do que o SQL vinte anos atrs, mas o suporte que a IBM deu ao SQL o fez um vencedor certo. O suporte para XPDL seria uma perseguio nobre somente se XPDL fosse tecnicamente superior a BPEL. No , e conseqentemente eu no vejo razo em no usar BPEL. E se voc pretender usar um produto que no suporte BPEL de forma nativa, certifique-se de pedir que o fornecedor de BPEL ajude-o a migrar para um que o faa. A ltima vez em que eu verifiquei isto, no era to difcil. Um dos melhores lugares para aprender mais sobre BPEL est no blog de um de meus concorrentes, uma publicao excelente no BPEL Radio publicado por Edwin Khodabakchian, vice-presidente de desenvolvimento de produto da Oracle. Edwin foi fundador da Collaxa, companhia que desenvolveu o primeiro trabalhando para execuo de BPEL. Ele sabe o que est falando, e confia nisto.

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

14

BPMN
Versus ARIS, HIM, UML, notaes proprietrias
Quanto linguagem de execuo de processos, os produtos recentes de BPM ostentaram muitas notaes diferentes, com formas pequenas e cores extravagantes. Alguns eram muito centrados no workflow como HIM, outros mais orientados aos tcnicos, como diagramas da atividade da UML, mas a maioria era totalmente proprietria, incompleta, e incompatvel uns com os outros. A BPMI.org reparou isto, mas desta vez aprendeu com seus erros, se adiantou e se certificou de que a IBM estivesse envolvida o mais cedo possvel no desenvolvimento do processo. Um cavalheiro chamado Stephen White fez sua mgica e desenvolveu a BPMN, que se estabeleceu rapidamente como a notao padro para modelar processos executveis do negcio. A BPMN suporta a orquestrao de servios web service e a execuo de tarefas humanas do workflow, ao permitir coreografia de mltiplos processos de negcio atravs da metfora das raias de uma piscina. BPM 2.0 funciona porque pode ir da BPMN ao BPEL sem ter que escrever cdigo. A BPMN no perfeita e deve aprender alguns truques do HIM, mas seu suporte para transaes de compensao, eventos no solicitados, laos complexos, mltiplas raias de uma piscina o que a faz original, eficaz e insubstituvel. Mas por que BPMN importa? At agora, no houve nenhuma notao padro para projetar processos do negcio. ARIS o Brainchild do Dr. AugustWilhelm Scheer uma grande notao, mas muito proprietria, que no permite ser suportada por nenhuma outra ferramenta que no IDS Scheer ARIS. Os diagramas da atividade de UML so simples, mas os analistas do negcio de algum modo no podem us-los. Os fluxogramas so um tanto limitados para modelar processos, que no acomodam as exigncias de uma arquitetura orientada a servio (SOA). Algo melhor era necessrio, e por este motivo a BPMI.org desenvolveu BPMN alguns anos atrs. Ao contrrio da BPML, a BPMN recebeu imediatamente o suporte de gigantes da indstria, como IBM, o que facilitou o estabelecimento como um padro. Tambm, ao contrrio da BPML, no havia nenhuma competio real para BPMN. Para ser justo, a BPMN no perfeita ainda, e a verso 2.0 est adicionando muito pouco verso 1.0. Um formato padro de serializao necessrio (XMI no o bastante), e a maneira com que a BPMN gera BPEL no est especificada inteiramente. Adicionando complexidade, ningum ainda sabe fazer o caminho inverso da BPEL para a BPMN, porque ainda no h nenhuma maneira de fazer isto. Tal problema sabido tambm como BPMN-BPEL rodam, meu amigo Bruce Silver fez um bom

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

15

trabalho de descrio a partir de um timo artigo de John Deeb e de Devesh Sharma publicado pelo Business Integration Journal. As convenes devero ser definidas, e eu estou disposto a apostar que um trajeto do padro estar definido somente em 2007. Enquanto isto, fornecedores que suportam BPMN e BPEL tero que dar seu melhor acerto. O ruim que poucos trabalham no problema hoje Mesmo que a BPMN necessite ainda mais trabalho, ela tem o mrito de existir, e no tem nada perto. a primeira notao que eu vi que pode ser usada por analistas do negcio, por analistas de processos, e por engenheiros de software igualmente, sem muita ambigidade que propicia a colaborao de seus esforos. tambm uma destas notaes muito raras que podem fornecer um trajeto desobstrudo execuo, algo imprescindvel para quem necessitar de um BPM que vai alm de desenhos de diagramas bonitos. A BPMN realmente importa e uma das mais poderosas partes para possibilitar o BPM 2.0.

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

16

Ferramenta de modelagem BPMN


Versus editor de BPEL
Os produtos mais recentes de BPM que suportam a especificao de BPEL ofereceram um editor de BPEL como ferramenta de desenvolvimento preliminar, em vez de uma ferramenta de real de desenho do processo de negcio. O problema com esta aproximao que BPEL uma especificao muito complexa, especialmente de um ponto de vista da gerncia de dados. Alm disso, a dependncia pesada de BPEL em especificaes complexa de web service requer desenvolvedores para sincronizar manualmente mltiplos arquivos BPEL e WSDL, de forma a distribuir um processo completo. Os editores de BPEL no fazem este exerccio muito mais simples. Produzem tambm os modelos de processos que no tm um aspecto fcil para que sejam mostrados ao pessoal das reas de negcio. Uma notao de alto nvel necessria, chamada BPMN, e BPM 2.0 deve aproveit-la para obter a audincia dos analistas de processos a comear pela produtividade que necessitam para seus projetos de BPM. Mas o que uma ferramenta de modelagem BPMN? A maioria dos fornecedores de BPM que desenvolveu BPEL nativo no servidor de execuo oferece um editor de BPEL como uma ferramenta de desenvolvimento. Isto melhor do que escrever manualmente o cdigo de BPEL, mas no espere que o analista de negcio ou mesmo o analista de processo seja produtivo com tal ferramenta. A BPEL uma linguagem de execuo de processos sofisticada, e como tal, foi projetada para computadores, no seres humanos. A BPEL uma linguagem poderosa, mas com poder vem responsabilidade, ou neste caso particular, complexidade. Eu no me aprofundarei em detalhes tcnicos demais, mas se voc quiser se convencer que BPEL no para fracos do corao, tente escrever um pedao de cdigo de BPEL que voc necessitaria correlacionar dois processos como exemplos, um para uma ordem que faz exame do processo e o outro para uma ordem que faz o preenchimento do processo. Se voc fizer isto, vai rapidamente perceber que voc tem uma ferramenta aliga uma seta que vai de uma caixa a outra. Isso precisamente o que uma ferramenta de desenho BPMN faz, ao lado de muitos outros truques similares. distncia, uma ferramenta de desenho de BPMN parece muito similar a um editor de BPEL: ambos se parecem com a ferramenta de diagramao do tipo do glorioso Visio, mostram caixas pequenas e setas, ambos deixam

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

17

mudar cores e fontes, mas a comparao pra a. Onde o primeiro requer somente que voc tenha uma boa compreenso dos tipos diferentes de fluxos da BPMN, o segundo necessita que voc conhea as entradas e sadas da especificao da BPEL. No somente isso, mas voc ter que tambm dominar a especificao do WSDL se voc quiser fazer qualquer coisa til, e que onde as coisas comeam realmente a ficar complicadas. O WSDL tem uma das especificaes menores de todos os padres diferentes para servios web service, mas tambm requerer pelo menos 10 sesses de leitura antes para voc compreender remotamente o que seus autores tiveram em mente quando eles escreveram. Para encurtar a histria, eu adoro BPEL, mas eu adoro mais ainda se eu no tiver que tratar dele diretamente. Para evidenciar realmente a diferena, voc no tem que ir muito longe. Em vez disso, apenas leia com cuidado. Por um lado, um editor de BPEL exatamente o que ele diz que : um editor para o cdigo BPEL. Visa s pessoas que podem ler e escrever o cdigo de BPEL, e essas pessoas tendem a ser engenheiros de software muito sofisticados. Sabem Java, a maioria dos APIs J2EE, e toda a especificao cujo nome comear com WS. Por outro lado, uma ferramenta de desenho BPMN para ns. uma ferramenta que gera o cdigo BPEL extrado de um diagrama BPMN voc escolheu bem, mas que no o deixe confuso com o prprio cdigo BPEL, a engenharia entre BPMN e BPEL um problema realmente complicado a resolver. A eClarus est prestes a liberar uma verso da sua ferramenta que faz isso, mas eu vou reservar meu julgamento at ver clientes indo para frente e para trs entre diagrama de BPMN e o cdigo de BPEL. E ao lado, BPM 2.0 deve suportar o Code Zero. Se voc procura uma ferramenta de modelagem de processos de negcio que gere cdigo para voc, alm de diagramas bonitos. Se a ferramenta requer que voc domine a especificao BPEL, certifique-se antes. E se a ferramenta gera qualquer outra coisa do que BPEL, certifique-se de que voc leu este artigo antes. Se voc fizer ambos, e se encaixar no perfil de um analista de processos, voc chegar mesma concluso que eu: uma ferramenta de modelagem BPMN caminho.

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

18

Codificao zero
Versus escrever cdigo atrs das caixas
BPMN e BPEL fazem uma combinao extremamente poderosa porque apresentam um caminho do diagrama ao cdigo sem ter que realmente escrever o cdigo. Vamos enfrentar isto, muito trabalho no desenvolvimento destas duas especificaes foi beneficiado pela quantidade de experincia coletiva sem precedentes que nenhum fornecedor poderia combinar com seus prprios recursos. O que isso significa que a maioria dos produtos de BPM, que so baseados em notaes proprietrias e em linguagens da execuo, realmente requerem a escrita de bastante cdigo a fim de fazer processos executveis. Duplo clique sobre as caixas e as setas, e cdigos escritos em Java ou as linguagens proprietrias mostraro sua face. Nada contra o cdigo, mas manter mais difcil e mais caro do que escrever. A BPM 2.0 possibilitou executar os processos mais complexos sem ter que escrever o cdigo. O governo holands fez apenas aquele para um processo que tivesse um quarto de milho de atividades, ento se ela trabalhou para elas em tal escala, deve trabalhar para muitas outras organizaes. Mas por que codificao zero importa? Esta a oitava edio da nossa publicao semanal do BPM 2.0. Hoje, eu tentarei explicar por que o cdigo zero importa. A maioria das solues de BPM necessita que os usurios escrevam manualmente o cdigo atrs das caixas e das setas usadas para descrever um processo. No h nada de errado sobre cdigo do software, mas o cdigo uma das coisas em que menos mais, e h mais de uma razo para que seja verdadeiro. Primeiramente, BPM necessita a participao de analistas do negcio, mas os analistas do negcio no podem ler nem escrever cdigo. O pessoal tcnico habilitado poderia escrever o cdigo atrs das caixas e das setas que os analistas do negcio extrairiam, mas eles no ajudariam realmente a construir uma ponte entre o negcio e o TI, dividindo-se? BPM 2.0 advoga um modelo onde os processos executveis sejam executados por analistas de processos, e estes poderiam escrever o cdigo se tivessem realmente, mas tendem a preferir usar ferramentas grficas preferivelmente. H 8 milhes de programadores Visual Basic a maior comunidade de programadores hoje e deve haver uma razo porque Microsoft chamou de BASIC sua ferramenta de desenvolvimento Visual. Se nenhuma lgica do negcio puder se esconder atrs das caixas, ser mais provvel, que os analistas de processos compreendam o que fizeram, e esta uma maneira certa de construir uma ponte entre o negcio e o TI divididos, para no se destruir inteiramente.

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

19

Em segundo, os seres humanos cometem erros, e o exerccio do cdigo da escrita um erro - propenso. Na mdia, uma forma do processo em BPMN leva a 10 linhas do cdigo de BPEL, e uma linha do cdigo de BPEL substitui aproximadamente 10 linhas do cdigo de J2EE. Significa que 100 linhas do cdigo J2EE desagradveis teriam que ser escritas se as ferramentas da gerao de BPEL no existissem. Se seu processo tiver centenas ou milhares das etapas (ou de 250.000 como o que a Intalio construiu para o governo holands), aquele dezenas dos milhares ou de centenas de milhares das linhas do cdigo. O cdigo comercial tem tipicamente em qualquer lugar de um a sete erros por 1000 linhas do cdigo de acordo com um relatrio do National Cyber Security Partnerships Working Group on the Software Lifecycle (Source: ZDNet). Isto significa que em mdia o projeto de BPM ter centenas, se no milhares de erros nele, que tero que ser reparado manualmente, um por um. Se voc deixar uma ferramenta BPM codigficao zero gerar o cdigo para voc, voc no tem que se preocupar mais sobre estes erros. Concedido, o gerador de cdigo da ferramenta de BPM poderia ter alguns erros, mas ser provavelmente sero reparados pelo fornecedor antes que voc obtenha os erros que voc mesmo criar escrevendo o cdigo manualmente. Alm disso, uma vez que os erros da ferramenta so fixos, eles produzem o cdigo vlido que qualquer um usa. Finalmente, o cdigo do software geralmente imperativo, quando o projeto orientado para codificao zero o desenvolvimento tende a ser muito mais declarativo na natureza. O que isso significa que a informao contida dentro dos diagramas de BPMN muito mais explcita, essa informao equivalente encaixada no cdigo de J2EE ou de C#. Quanto mais explcita for a informao, mais fcil para a plataforma de BPM fornecer a simulao, eliminando erros e potencialidades de otimizao. Para encurtar a histria, o cdigo melhor escrito pelo fornecedor e os clientes devem focar seus esforos em melhorar seus processos do negcio melhor que o cdigo usado para suport-los.

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

20

Distribuio em um clique
Versus escrever arquivos descritores para distribuio
Naturalmente, os processos do negcio so propensos a mudanas, e a maioria de ns nos interessamos por causa da promessa de mudana mais facilitada com BPM. Eu posso mesmo recordar um pure play BPM que usam o tagline vo adiante! Mudana!. Bem, isto agradvel e extravagante, mas se tiver que escrever mltiplos arquivos descritores para a distribuio e configurar vrias interfaces web services para distribuir um processo, a habilidade de mudar o processo significa um sonho. BPM 2.0 advoga uma abordagem Distribuio em um Clique' radical para resolver este problema. Uma vez que seu processo vlido, com todos os mapeamentos dos dados terminados, regras de negcio definidas, parmetros do workflow ajustados, em um clique no boto e o processo comea a ser distribudo no seu ambiente servidor de execuo, sem nenhum trabalho adicional. No h razo para ser mais complexo do que isso. Mas por que Distribuio em um Clique importante? Esta a nona edio das postagens semanais do BPM 2.0. Hoje, eu tentarei explicar porque Distribuio em um Clique importante. O processo de negcio executvel mais do que um diagrama bonito. Para comear, pode ser feito com mltiplos diagramas, que devem ser mantidos em sincronia. Mas atrs das caixas e setas encontram-se muitos artefatos que necessitam ter cuidados tambm. Se um for fazer mudanas freqentes no processo de negciocom razo o Sistema de Gerenciamento dos Processos de Negcio (BPMS) tem que faz-lo de forma muito fcil para que tais mudanas sejam refletidas no nvel da execuo, e Distribuio em um Clique faz isto tudo possvel. Em um nvel muito elevado supondo um modelo de distribuio BPEL o processo constitudo dos fluxos, servios, transformaes dos dados, regras de negcio, definies das tarefas do workflow e interfaces dos usurios. Do ponto de vista do servidor executvel, conduz gerao de mltiplos arquivos. Os fluxos, servios e as transformaes so expressos em BPEL, WSDL, e XPath ou XSLT, respectivamente. No h nenhum padro para regras de negcio ainda, conseqentemente temos que expressar em um formato proprietrio ainda. Para tarefas do workflow, o modelo BPEL4People pode ser usado, mas nenhuma especificao formal existe para ele, conseqentemente, so necessrios descritores proprietrios para distribuio. E at o conjunto de interfaces de usurio , h mais opes do que dedos em minhas mos e ps e serei sortudo se manter a dependncia de fornecedor distante. A Intalio optou

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

21

pelo padro XForms, mas eu no reivindicaria que deva ser uma exigncia para BPM 2.0. No momento, um bom candidato. O problema que, com muitos arquivos, a distribuio de um nico processo pode se tornar um pesadelo se cada arquivo necessitar ser distribudo manualmente. E se voc necessitar compil-los, ou fornecer os descritores especficos da distribuio, a tarefa se tornar quase impossvel. A que entra o Distribuio em um Clique. A idia simples: use uma ferramenta de modelagem do processo que suporte uma metodologia Codificao Zero e obtenha todos os artefatos do processo automaticamente distribudos em seu servidor de execuo, respectivamente em um nico clique do mouse. Quando comeamos a falar sobre Distribuio em um Clique, gerentes de TI criaram objees quanto quebra das melhores prticas de desenvolvimento para a plataforma de homologao antes da distribuio para os servidores de produo. No foram alertados que Distribuio em um Clique tambm trabalha desta maneira, no sentido de que voc poder necessitar trs etapas para levar um processo do desenho produo, mas cada etapa deve acontecer com no mais que um clique: um para enviar seu diagrama para o ambiente servidor de execuo do desenvolvimento, outro para migr-lo a um ambiente intermedirio, no entanto outro para promover o conjunto de artefatos para o sistema de produo real. Se soar simples demais para voc, no deve ser uma surpresa, porque os muitos engenheiros usam desenvolvimento e produo para suportar um ciclo de vida aerodinmico para processos executveis que se tornou Codificao Zero.

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

22

Gerao automtica de servios


Versus implementar conectores da aplicao
As solues de BPM, em sua maioria, so sistemas do workflow disfarados, e como tais, no suportam integrao com sistemas de retaguarda do escritrio. As transaes distribudas e mensagens confiveis so conceitos desconhecidos para tais ferramentas. Para tranqilidade delas, a integrao com aplicaes corporativas vem sendo tratada como o maior salto da histria do software corporativo, a idia que voc necessita de conectores feitos sob encomenda para integrar com aplicaes da empresa tais como PeopleSoft ou SAP. Nos anos 90, os fornecedores de EAI fizeram fortunas com conectores: voc quer incorporar uma ordem de compra nesta verso de SAP R/3? Compre o conector X, por uns $25.000 por CPU. Voc quer obter a lista dos empregados dessa verso de SAP R/3? Compre o conector Y, por outros $25.000 por CPU. Na realidade, pode-se escrever um conector genrico para todas as verses de SAP R/3, anteriores ao SAP R/3 3.1i, que expe todos os 200.000 BAPIs, IDOCs e RFCs como servios web service, no momento, para transaes padro e feitas sob encomenda, sem escrever uma nica linha de cdigo. O mesmo pode ser feitos para Oracle, PeopleSoft, Siebel, e a maioria de aplicaes corporativas por a afora. Se for possvel, avalie BPM 2.0, e a menos que voc tenha algum prazer masoquista em conectores e APIs obsoletos, ningum ter que escrever mais os conectores de costume. Mas, como BPM 2.0 se relaciona com a SOA? A menos que voc esteja ainda vivendo no mundo centrado no workflow dos anos 90, voc saber que a BPEL importante. O problema que a BPEL compreende somente servios web service, e somente um tipo muito restrito de servio web service - WSDL. Est aqui a m notcia: se voc necessitar orquestrar transaes que no so expostas ainda como um web service, a BPEL no lhe ajudar. BEA sugeriu o suporte a Java com a especificao BPELJ, mas no sabem que alguns analistas de processos no gostam de escrever cdigo de Java, se passar esta, agradeceremos. Agora a boa notcia: um bom produto de BPM 2.0 pode dar-lhe bons servios web service para qualquer coisa do lado de fora. De acordo com o modelo de BPM 2.0, as interfaces web services devem ser geradas no mesmo momento para todos os sistemas da aplicao ou do middleware que suportar algum formulrio API. Mesmo os sistemas legados de mainframe podem ser expostos APIs com o uso de ferramentas baseadas em telas comuns. Um BPMS bom alavanca estas APIs e geram interfaces web services para ele. Alm disso, o modelo BPM 2.0 indica tambm que tais relaes devem ser oferecidas para transaes de entrada e sada,

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

23

significando que o BPMS pode invocar uma transao com um sistema de terceiros atravs de um servio web service (inbound), quando um sistema de terceiros puder chamar um processo distribudo em um BPMS atravs de uma relao muito similar (outbound). Isto responde a uma pergunta que ns obtemos a toda hora: eu necessito da SOA para usar BPM? A resposta sim e no. Sim, voc necessita SOA para usar BPM, porque como o modelo da execuo de BPEL foi projetado. Mas no, voc no necessita ter Arquitetura Orientada a Servios no lugar antes de poder usar BPM, porque a mera instalao de um bom BPMS permitir SOA na maioria do que voc j tem, ou pelo menos deve. Se voc escolher o BPMS certo, vir com um Barramento de Servios Corporativos (ESB) e um Repositrio de Servios que converter tudo na Arquitetura Orientada a Servios que pretende usar. Ou seja, compre BPM 2.0 e voc obter SOA grtis. E se voc for sortudo o bastante e escolha um BPMS de Cdigo Aberto, e voc no ter mesmo que pagar por ela. isto o bastante, ou no?

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

24

Interpretao nativa do cdigo BPEL


Versus gerao de cdigo de Java
Recentes implementaes da BPEL e da BPML confiaram na gerao do cdigo de Java: voc escreve o cdigo em BPEL, e um gerador de cdigo traduz automaticamente em um conjunto de classes de Java que so distribudas em uma Mquina Virtual Java ou em um Servidor de Aplicao J2EE. A boa notcia: uma maneira relativamente fcil para que os fornecedores de um software iniciem o jogo com BPEL. A m notcia: no funciona bem. Assim como o banco de dados Oracle no gera o cdigo de C para executar uma pergunta em SQL, um bom BPMS no deve ter que gerar o cdigo de Java para executar um processo em BPEL. A gerao do cdigo de Java ruim porque faz a distribuio dos processos mais complexa do que deveria ser, ela cria a descontinuidade semntica do processo, que torna mais difcil a sua depurao e a monitorao em relao interpretao nativa, e finalmente, deixa tudo mais lento. As coisas comeam mesmo a ficar ruins quando tais execues confiam e um componente do modelo EJB para persistir os dados dos processos, especialmente quando Entity Beans com Container-Managed Persistence so usados. Para que trabalhe em uma grande escala, o governo holands, j mencionado anteriormente, est rodando 250 milhes de processos concorrentes simultneos que tm at cinco anos para terminar em uma mquina com 4 CPUs - BPM 2.0 deve interpretar de forma nativa o cdigo de BPEL 2.0, idealmente atravs da compilao no momento do bytecode muito prximo da semntica Pi-Calculus, e renunciam o uso de todo o componente de EJB para o persistncia, confiando no canal direto de conectividade com o banco de dados. Se voc necessita desempenho e escalabilbidade, voc deve ir para este modelo. Mas por que a interpretao nativa de BPEL importa? Quando voc um fornecedor do software e voc investiu dezenas ou centenas de homem/ano no desenvolvimento de algum motor de processos proprietrio, acaba muito tentado a adicionar uma camada simples da traduo que tornaria o cdigo BPEL no que o seu motor possa digerir. Os clientes devem passar longe de tais solues, porque criam mais problemas do que solues. Algumas consideraes adicionais so apresentadas em edies descritas no artigo original do BPM 2.0. Primeiramente, traduzir BPEL em outra linguagem proprietria cria a tentao de modificar o cdigo executvel nesse nvel, que adiciona uma terceira camada debaixo de BPMN e de BPEL, e faz a tarefa duas vezes mais difcil que ela deve ser. Para manter

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

25

coisas simples, BPMN deve ser colocado em srie em uma maneira cannica usando tecnologias tais como o MOF ou o EMF, a seguir ser traduzido no cdigo de BPEL no tempo da distribuio. Isto muito melhor do que as ferramentas de desenvolvimento para bancos de dados do cliente servidor tm trabalhado usando UML e SQL h anos, e as ferramentas de desenvolvimento de processos no so muito diferentes nesse aspecto. Alm disso, no adotar um modelo nativo da execuo de BPEL cria uma m combinao de impedncia entre a semntica da execuo do processo definida pela BPEL e a suportada pelo servidor executvel proprietrio. Na maioria dos casos, isto conduz ao desenvolvimento dos motores de processos que suportaro somente um subconjunto da especificao BPEL, ao adicionar algumas caractersticas extras que requerem extenses proprietrias. Se voc investir em padres da indstria, ser plano e simples. Adicionalmente, os fornecedores que inventaram sua prpria linguagem e construram o suporte para ele dentro de sua ferramenta de modelagem de processos e de seu servidor de execuo de processos, tm geralmente uma base dos clientes legados para cuidar. Se a estratgia da migrao for suportar linguagens dentro da ferramenta e do servidor executvel, o esforo de engenharia necessrio ser pelo menos quatro vezes mais significativo que suportando uma nica linguagem da execuo. Em conseqncia, muito provvel que as necessidades de clientes legados prevalecero sobre as necessidades de novos clientes em perspectiva, e o suporte para BPEL ser pobre no melhor dos casos. Como ela ou no, BPEL uma linguagem muito poderosa, contudo extremamente complexa, e suport-la no uma tarefa simples. Se voc fosse um fornecedor de BPM e se encontrasse na posio onde os clientes esto solicitando, eu recomendaria fortemente que voc o abrace inteiramente e migre seus clientes existentes a um produto da nova gerao que execute a suporte nativa para a especificao, e nada mais. E se voc for um usurio final, meu conselho ainda mais radical: no considere usar nenhum produto que no for construdo nativamente em torno de BPEL, porque voc pagar o preo de no ser compatvel com o padro no futuro.

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

26

Interface do usurio Web 2.0


Versus interface do usurio Web 1.0
As solues BPM 1.0 confiaram nas interfaces Web 1.0, tais como padres de clientes email, listas de tarefas servidas por portais e formulrios produzidos usando HTML. BPM 2.0 deve tirar vantagem de tecnologias Web 2.0 e do Office 2.0, tais como AJAX para listas dinmicas das tarefas e formulrios complexos que suportam validao de dados no lado cliente, alimentaes de RSS para eventos dos processos e listas da tarefa do usurio, weblogs e wikis para a documentao dos processos, calendrios de programao de tarefas e APIs para suportar mais criaes. De algum modo, BPM tem ser percebido ainda como uma tecnologia bacana, e a Web 2.0 pode ser tudo que necessrio obter mais audincia estimulada para isto. Mas por que interface do usurio Web 2.0 importa? Como outra aplicao, a parte mais difcil de distribuir num processo de negcio movido por um BPMS est em comear pelo suporte aos usurios finais. Para uma distribuio com sucesso, a aplicao tem que realmente ser usada pelos usurios finais, e as interfaces desempenharem o papel mais crtico. O problema com as interfaces do usurio que no so muito agradveis. A interface do usurio pode ser feia e ainda ser boa, do ponto de vista que os usurios finais gostariam disso. Os usurios finais gostam da interface no porque a acham sexy, mas porque lhes ajuda a executar seu trabalho, melhor do que ao usar qualquer outra coisa. E quando vem produtividade do usurio, a interface de workflow tem muito mais o impacto do que a cor de seus cones. Interfaces de workflow necessitam instalar aplicaes cliente ou no, um nmero de passos necessrio para a instalao, os usurios finais comeam a ser notificados quando tm que usar a interface a fim de conseguir uma determinada tarefa, e o nmero das etapas que tem que ir completamente a fim comear mais informao sobre a tarefa e a comear feita. As interfaces de usurio construdas com uma arquitetura cliente-servidor tradicional necessitam de uma instalao de clientes dedicada, por exemplo. Este problema foi resolvido com interfaces baseadas na web, mas o uso do HTML aumentou significativamente o nmero das etapas e cliques de mouse para que o usurio termine determinadas tarefas, s vezes por uma ordem de magnitude ou de mais.

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

27

A nova gerao de interface de usurio roda com tecnologias AJAX e RSS como o melhor de ambos os mundos em uma interface significativamente melhorada para o usurio final. Quando combinados com um conjunto de tecnologia da automatizao do processo, podem acomodar mecanismos que impulsionam e puxam notificaes, para fornecer interfaces de usurio dinmicas com potencialidades de especializar informaes, suporte para seqenciamento complexo de atividades que maximize a produtividade do usurio final removendo a necessidade de se autenticar nas aplicaes mltiplas vezes ou tratar das tarefas individuais mltiplas. No futuro, o Office 2.0 deve se transformar na interface de usurio para BPM 2.0.

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

28

Motor de regras includo


Versus trazer seu prprio motor da regras
At agora, as solues de BPM atuam em dois campos: ou voc tem um glorioso motor de regras apresentado como uma soluo genrica de BPM, ou voc teve uma soluo de BPM genrico que no suporta nativamente a execuo de regras de negcio complexas. Em conseqncia, a maioria de clientes que distribui uma soluo de BPM mais tradicional, teve que procurar um motor da regras fornecido por terceiros, mesmo que no necessitasse realmente de um motor de regras, faz do motor da regras uma exigncia do BPM 2.0, de modo que possa ser alavancado pelo prprio fornecedor de BPM nos lugares onde faz o sentido, tal como ramificar a deciso, roteamento de mensagem, parar servios para um estgio mais tarde, ou interfaces de usurio contextuais. O BPM 2.0 faz do Sistema de Gerenciamento de Regras de Negcio (BRMS) parte do BPMS, de modo que somente uma plataforma tenha que ser controlada e o ciclo de vida de processos dirigido a regras aerodinmico. Mas por que um BPMS necessita um motor da regras de negcio? A menos que seus processos do negcio no sejam extremamente complexos, voc pode nunca necessitar o poder de um desenvolvido o motor das regras de negcio, mas isto no significa que seu BPMS no deve incluir um. H muitas razes para isto. Primeiramente, no h nenhuma maneira padro de integrar com um motor das regras de negcio, e se houvesse sempre um, haver uma maneira padro de descrever regras de negcio como h para processos do negcio usando BPMN usando cdigo de BPEL. Os fornecedores dos motores das regras de negcio tentam construir tal padro h anos, mas nunca conseguiram concordar um com o outro, e eu duvido se conseguiro. Em conseqncia, se um BPMS no incluir um motor das regras de negcio, no tem nenhuma maneira de fornecer uma relao padro que permita que os clientes liguem seu motor de preferncia. Em segundo, a nica maneira de saber se realmente ter vantagem de um motor de regras de negcio dentro do contexto de um BPMS alinhar o ciclo de vida de regras de negcio com o ciclo de vida dos processos do negcio. Por exemplo, uma regra de negcio ter que ser expressada de encontro ao modelo dos dados dos objetos ou dos servios orquestrados por processos de negcio. Quando o processo muda, o modelo dos dados de seus objetos e servios relacionados mudar tambm, que impactaro nas regras de negcio usadas. Se os dois ciclos de vida no forem alinhados, voc pode se esquecer sobre Distribuio em um Clieque. Em terceiro lugar, o BPMS deve examinar as vantagens e potencialidades oferecidas pelo motor das regras de negcio no apenas para regras de

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

29

negcio, mas tambm onde ligar as regras para selecionar que execuo de um servio dever ser usada, como uma interface de usurio deve ser costurada aos usurios finais especficos, e quando escalar um alerta ao gerente de TI quando algumas excees de nvel de sistema so geradas. Se seu BPMS escolhido no incluir um motor das regras de negcio, voc ainda invoca regras de negcio como servio ou API, mas voc perder obter os benefcios esboados acima. Bastante interessante, esta uma das partes que faltam no Intalio|BPMS, e ns estamos trabalhando agressivamente para reparar isto. Nossas duas opes so Corticon e OpenLexicon.

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

30

BAM em tempo real includo


Versus trazer seu prprio BAM
Assim como a indstria de gerenciamento de dados teve fornecedores separados para processar dados (fornecedores de databases) e anlise de dados (fornecedores de business intelligence), a indstria de gerenciamento de processos de negcio se caracterizou por ter fornecedores separados para BPM e BAM. Com BPM 2.0, o BAM parte da soluo total, em vez de ser um componente opcional. Voc necessita o BAM, porque fazer BPM sem ele como dirigir um carro com os olhos fechados. O BAM o que faz o BPM possvel, e eu no posso pensar em uma razo de porque qualquer um no se deve examinar sua vantagem. Mas por que um BPMS necessita uma plataforma do BAM? As razes so as mesmas de porque um BPMS deve incluir um motor das regras de negcio e que foram bastante debatidas depois do artigo da ltima semana. Primeiramente, no h nenhuma maneira padro de integrar um BPMS com uma plataforma de monitoramento das atividades do negcio (BAM). Se voc pensar que uma relao padro do evento far o truque, voc deve pensar duas vezes. A razo para esta consideravelmente simples: agregar eventos sem o mapa do processo que os est gerando no primeiro lugar como reinventar o tempo todo a roda toda vez que voc pe um processo novo em produo. E porque no h nenhum formato padro para trocar modelos de processo BPMN , BPEL demais, e XPDL est fora, a melhor aposta ir com um BPMS que suporte o BAM nativamente. Em segundo, bem como o ciclo de vida de regras de negcio deve realizar sincronismo: sincronizado, no alinhado, com o ciclo de vida de regras de negcio, o ciclo de vida das mtricas do negcio deve ser sincronizado com o ciclo de vida de processos de negcio relacionados. Mtricas antigas do workflow no podero ser importadas, mais ou menos como os dados de processos e esquemas dinmicos, mas isto no mais verdadeiro com BPM, ou pelo menos no com BPM 2.0. Tendo a pea de infra-estrutura do BAM a plataforma de BPMS dirige a esta edio do ciclo de vida. Em terceiro lugar, uma ferramenta do BAM realmente quem mais pode ajudar voc a depurar, eliminar erros e simulaes durante a modelagem. Integr-la com seu ambiente de modelagem de processos uma boa maneira de conseguir a codificao zero e Distribuio em um Clique, durante todo seu ciclo de vida dos processos. E bem como Intalio|BPMS no inclui um motor das regras de negcio ainda, ele no fornece a integrao com a plataforma que do BAM, decidimos usar BIRT (Actuate). Isto algo que ter que ser desenvolvido com nosso processo dirigido de

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

31

desenvolvimento sob demanda (D3), e eu convido-o a juntar-se comunidade do nosso colaborador para aprender mais sobre ele.

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

32

Simulao de processos nativa


Versus a simulao de processos ad hoc
Na primeira gerao solues de BPM, a simulao de processos foi suportada pelos simuladores de processos ad hoc baseados em mquina de estados finito primitiva que simulava a execuo dos processos a serem distribudos em um servidor de execuo em separado. A boa notcia: um simulador ad hoc relativamente simples de ser implementado. A m notcia: no reflete a verdadeira natureza do ambiente servidor executvel, no pode simular a carga exata do teste, e no tem nenhuma visibilidade nos dados do processo, que representam metade da semntica do processo quando utilizada uma linguagem de execuo de processo como a BPEL. Quando apropriados para enderear s necessidades dos analistas de negcio que no tm nenhum interesse na execuo real dos processos que modelam, tais simuladores so totalmente inteis ao pessoal que possui todo o ciclo de vida do processo. Com aprendizado desta experincia, a BPM 2.0 advoga uma abordagem diferente para simulao, onde o motor de processos usado como o simulador dos processos. De acordo com tal abordagem, os processos simulados so extrados dos sistemas externos, que so emulados pelo prprio motor de processos. A fim de simular um processo, o ambiente de desenvolvimento dos processos distribui automaticamente uma coleo de exemplos de processos e geram variveis aleatrias a fim de suportar modelos da simulao, tais como Monte Carlo. O motor de processos executa o conjunto de exemplos de processos simulados e deixam a infraestrutura do BAM agregar os resultados para serem apresentados ao analista de processos, quem tem acesso aos indicadores do desempenho do negcio (KPIs), e tambm s mtricas do nvel de desempenho do sistema. Com esta abordagem, assegura-se de que a semntica do processo simulado possua 100% de exatido, respeitando a semntica do processo a ser distribudo. Tambm, combinando indicadores do negcio com as mtricas do sistema, garante que o negcio e o TI possuam uma avaliao igual dos processos distribudos no ambiente de misso crtica em produo. No final do dia, os simuladores de processos ad hoc sero nada alm de brinquedos para os analistas do negcio, enquanto os simuladores de processos nativos so uma metrologia exata com instrumentos em que praticantes de BPM podem confiar com segurana. Mas por que um BPMS deve suportar a simulao processo? Na postagem original do BPM 2.0, foi sugerido que o ncleo do motor de processos

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

33

deveria ser usado como o simulador de processos. Ainda, no foram fornecidas muitas explanaes a respeito do porque o simulador de processos necessrio em primeiro lugar. Do ponto de vista, processos do negcio podem ser vistos como transaes longas. Um processo de pedidos pode levar semanas para terminar o exame, quando os exemplos de um processo de contratao poderiam funcionar por muitos anos. Em conseqncia, simular a execuo de processos do negcio requer rapidez diante do tempo e os fragmentos do processo ao fazer modificaes ao processo os modelos at exemplos de processos simulados entregam resultados apropriados. Diante do retorno do investimento do simulador de processos. Assim, um simulador do processo deve tambm emular o comportamento externo dos sistemas que no podem ser envolvidos no tempo da simulao, tal como sistemas de ERP, por exemplo. Isto explica porque algumas pessoas preferem cham-lo de emulador de processos. Ao alimentar um modelo de processo no simulador de processos, o mais atrasado emula sistemas de terceiros e fornecendo maneiras simples para o analista de processo especificar entradas e sadas com defeito para transaes remotas. Esta relao da emulao pode tambm incluir gerao aleatria de parmetros executando mtodos de simulao, tais como, Monte Carlo. Ao usar o ncleo do motor do processo como uma mquina virtual de processos para o simulador de processos e a plataforma de Monitoramento das Atividades do Negcio interface do usurio, a mesma infra-estrutura pode ser usada tanto pelo pessoal da rea de negcio como para o pessoal de TI. A vontade anterior de simular o processo em um nvel superior enquanto transaes subjacentes forem acionadas por analistas de processos, e a outra de simular o processo em baixo nvel com ateno especial s mtricas de nvel do sistema, tal como latncia da transao e parmetros de caching. Quando usado por um arquiteto de software, um simulador de processo transforma fabuloso um processo que testa e eliminar erros depurando o ambiente. Naturalmente, diferentes interfaces devem ser expostas a ambas as categorias de usurios, mas a infraestruture pode ser a mesma.

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

34

Otimizao dinmica do processo


Versus a melhoria contnua do processo
Os adeptos da escola da Reengenharia de Processos de Negcio promoveram o conceito de melhoria contnua dos processos, e os primeiros fornecedores de BPM certificaram-se de suportar esta metodologia em seus produtos. O problema era mudar o processo distribudo uma vez na produo era mais difcil do que se esperava inicialmente, especialmente quando o cdigo do software tinha que ser reescrito para que as mudanas fossem aplicadas. Alm disso, fazer uma mudana num processo significa atravessar o ciclo de vida do processo inteiro mais uma vez, da modelagem a simulao e a distribuio, a maioria das idias para melhoria dos processos remanesceu destas idias. O BPM 2.0 marca uma partida no conceito da melhoria contnua dos processos, e promove um modelo de otimizao dos processos mais dinmico, por meio de que os elementos chave do processo podem ser otimizados em pleno vo, sem ter que redistribuir o processo inteiro. Com o uso da interpretao nativa do BPEL, interfaces de processos reusveis, regras de negcio externas, tratamento de excees, instncias do processo podem ser otimizadas em tempo real, sem necessidade de habilidades tcnicas avanadas. Tal abordagem permitiu que o governo holands faa mudanas regulares nos processos que podem levar at cinco anos para terminar. Se algum tinha alguma dvida de que BPM poderia ser usado para suportar transaes longas, tais dvidas caram agora. Mas o que otimizao dinmica do processo? Alguns anos atrs, o lema de uma companhia de BPM j falida era V adiante. Mude., e a habilidade de fazer as mudanas rpidas aos processos sempre foi anunciada por fornecedores como um dos benefcios principais oferecidos pelo BPM. A otimizao dinmica dos processos refere-se ao exame das etapas. Algum poderia definir a agilidade como sendo a velocidade em que as mudanas podem ser aplicadas aos processos de negcio que foram distribudos na produo. De acordo com tal definio, Codificao Zero e Distribuio em um Clique deve ter um papel crtico em promover a agilidade a uma organizao. No obstante, no importa quo fcil ns o faamos para ir da modelagem ao teste, do teste homologao, e ento distribuio, o ciclo de vida do processo de BPM transforma-se em

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

35

agilidade, independente de quando as mudanas em tempo real so necessrias. A fim de trabalhar em torno de tais limitaes, as dimenses dos processos so as mais suscetveis mudana e devem ser extradas ncleo do processo. Os parmetros e as variveis que dirigem a execuo dos processos devem ser externados, e o ciclo de vida de tais variveis devem ser descasados totalmente do ciclo de vida do processo de negcio que se relacionam a, ou pelo menos meramente sincronizado com ele. Isto verdadeiro para regras de negcio - como foi discutido durante um tempo considervel nos comentrios a este artigo, mas tambm verdadeiro para as regras obrigatrias invocadas para ligar o processo e para prestar servios de manuteno a relaes a suas execues, assim como os parmetros da interface de usurio usados para a internacionalizao, e localizao e a personalizao de finalidades. A fim de suportar as mudanas do tempo real a serem aplicadas ao processo de negcio, deve ser possvel mudar tais parmetros e variveis no servidor executvel, sem ter que redistribuir os mesmos processos. O desafio torna-se ento sobre como fornecer interfaces do usurio simples o bastante que permitiro aos usurios do negcio fazer tais mudanas no servidor executvel, ao reforar regras estritas para privacidade e da segurana, e ao capturar tais intervenes ao longo do caminho. No futuro, os desenvolvedores mais adiantados vo querer fechar o ciclo e modelar os processos que mudaro tais parmetros nos seus prprios, baseados sobre a informao que recolheram no servidor executvel, pela infra-estrutura do BAM, e sem algumas intervenes humanas. Para outros, soar como fico cientfica. Outros vero algo muito similar a algoritmos genticos que foram usados em muitos sistemas de produo de misso crtica, uns dez a quinze anos atrs.

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

36

Motor de processos de cdigo fonte aberto


Versus motor de processos de cdigo fonte fechado
Seu motor de processos se transformar rapidamente na parte mais crtica da sua infra-estrutura de TI. Como isso, voc necessitar mais dinheiro para compr-lo, e se voc puder obter grtis, melhor ainda. Esta a principal razo porque seu BPMS deve ser arquitetado em torno de um motor processos da fonte aberta. O que quer que acontea a seu fornecedor de BPM escolhido, a comunidade o suportar. A web, que poderia ter se chamado Internet 2.0, foi construda literalmente com servidores web Apache de fonte aberta, que est funcionando ainda em 67% de todos os usurios conectados Internet hoje. O mesmo ser verdadeiro para o BPM 2.0, e o os servidores BPEL de cdigo aberto sero os principais servidores BPEL. Mas o que fundamental para um motor de processos de fonte aberta? Aliado ao fato de que uma licena de fonte aberta fornece a melhor poltica de segurana a um cliente de software corporativo pode ter, o processo de desenvolvimento de fonte aberta traz muitos benefcios que so particularmente relevantes a um motor de processos. Primeiramente, tem recursos muito significativos para desenvolver qualquer parte da infra-estrutura do software a ser usado em um ambiente de misso crtica, seja ele um sistema operacional (pense Linux), um banco de dados (pense MySQL), um servidor web (pense Apache), ou servidor de aplicao (pense JBoss). O processo de desenvolvimento de fonte aberta tem sido muito eficaz em produzir tais softwares por ser confivel. Porque o software distribudo por mais usurios, e porque o cdigo de fonte acessvel para mais contribuintes. Em segundo, a semntica do servidor de execuo dos processos crtica para algumas aplicaes, especialmente para exigncias da conformidade ou razes da segurana. Quando o cdigo do motor de processos est aberto para que todos vejam, nenhuma ambigidade pode existir a respeito de como os processos executaro realmente. E se os desenvolvedores do motor fizerem um erro em interpretar a especificao de BPEL, qualquer um est livre para contribuir um reparo que beneficie a comunidade inteira dos usurios. Em terceiro lugar, os processos esto em toda parte, contudo o Workflow e as tecnologias de BPM no ganharam a aceitao merecida, mesmo que estejam disponveis por mais de 15 anos agora. Uma razo para isto que at agora, produtos de BPM fora construdos em cima dos modelos de execuo de processos proprietrios. Tambm, provaram ser

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

37

completamente difceis e caros para os fornecedores independentes do software (ISV) encaixarem dentro de seus prprios produtos. A adoo em larga escala da BPEL est reparando o primeiro problema, quando a disponibilidade de um motor de fonte aberta BPEL espera-se dirigir ao segundo. Para todas estas razes, ns necessitamos um bom motor BPEL de fonte aberta.

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

38

Inicie hoje mesmo, sem custo


Versus $250.000 para iniciar
ltimo mas no menos importante: BPM uma tecnologia boa demais para que seja mantido fora do alcance da maioria de seus usurios potenciais por causa dos custos de aquisio elevados. At agora, um BPMS de classe corporativa custaria $250.000. Se voc quisesse adicionar suporte para regras de negcio, BAM e algumas aplicaes da empresa, custaria perto de $500.000. Eu tendo a pensar de que um preo to elevado o nico contribuinte lenta taxa de adoo do BPM que ns testemunhamos durante seis anos passados. O BPM 2.0 mudar isto fazendo produtos BPMS de classe corporativa sem custo quando distribudo com determinadas configuraes. Os modelos hbridos de negcio que misturam a fonte aberta e o software comercial asseguraro de que um punhado dos fornecedores aprecie o sucesso que necessitam para clientes suportando sobre o longo funcionamento. Na extremidade, nos clientes, nos integradores do sistema e nos fornecedores do software igualmente todo o benefcio da exploso upcoming do mercado de BPM. As coisas esto comeando a ficar emocionantes, assim no esperaro mais por muito tempo e no se juntam festa hoje! Mas por que ns necessitamos um BPMS livre? Eu acredito que todos concordaro que aquilo que tem algo livre sempre agradvel, e como meu bom amigo Bruce tem dito, por que comprar um BPMS quando voc pode comear com um sem gastar nada? Realmente, nossos concorrentes podem discordar, mas eu posso viver com isto. Em vez disso, eu lhe direi um pouco mais sobre o que est vindo em seguida na parte dianteira do BPM 2.0. Primeiramente, eu empacotarei o artigo original de BPM 2.0 as 18 postagens semanais subseqentes em um nico artigo, seguindo o conselho dado a mim por Steinar Carlsen. As cpias eram livremente baixadas do web site IT|Redux, quando as cpias impressas estaro disponveis para a compra online. Eu tentei usar aplicaes do Office 2.0 para publicar este original, mas a falta de suporte apropriado para paginao fez o exerccio virtualmente impossvel. Eu suponho que eu terei que usar um processador de textos comum por um tempo. Em segundo, eu devo admitir que me encontrei na introduo desta postagem. Esta no a ltima edio da nossa postagem semanal do BPM 2.0. Na semana seguinte, ns comearemos um ciclo novo, atravessando os mesmos 18 princpios para BPM 2.0, os clientes reais esto percebendo benefcios da aplicao destes princpios. Eu no tenho nenhuma idia se trago exemplos reais do cliente para todos os 18, mas eu farei o meu melhor. Eu tentarei tambm relacionar-se ao Intalio|BPMS quando

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

39

aplicvel, mas voc percebeu logo que tanto quanto eu amo este produto, ele no compatvel ainda com todos os 18 princpios. Se voc pensar sempre que BPM 2.0 uma tentativa de promover a companhia para a qual trabalho, pense novamente. Eu estou promovendo uma viso, e meu trabalho na Intalio consiste em entreg-lo, no a outra maneira. Em terceiro lugar, eu tentarei explicar porque BPM est realmente fresco. Recentemente, houve algumas discusses aqui e l se BPM est fresco ou no, e se deve importar no primeiro lugar. Bem, para mim, BPM est realmente fresco, bem como um banco de dados ou um sistema operacional pode estar. Apesar de tudo, todos esto livres para dar o pontap inicial para o que gosta. Mas tanto quanto eu sou concernido, BPM, ou o que eu chamo BPM 2.0, pode ser o desenvolvimento da mais importante indstria do software corporativo nos ltimos vinte anos. Nesta dianteira, o BPMS est no preo com o RDBMS, e as vidas de muitos desenvolvedores mudaram com a introduo de tal tecnologia. No na mesma maneira que a introduo de uma vacina nova, mas em uma maneira muito significativa. Agora, para muitos, BPM remanesce de uma coisa obscura, algo tem uma estadia, e meu trabalho nestas pginas mudar esta percepo e mostrar que BPM real, poderoso, eficaz e, simplesmente, cool.

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

40

Sobre o autor
Ismael Ghalimi um empreendedor apaixonado, e um observador da indstria, fundador e CEO da Intalio, criador do BPMI.org e um iniciador do Office 2.0. Ismael mergulhador profissional, piloto privado, e fantico por American V-Twin. Ismael pode ser contatado em ismael@itredux.com.

Sobre a traduo para o portugus


Esta uma traduo para o portugus brasileiro, autorizada pelo autor, que poder no corresponder fielmente ao texto original. Contribuies para melhorias so bem vindas pelo email contato@projeler.com.br.

Copyright IT|Redux

Traduo autorizada para o portugus brasileiro

41

You might also like