Professional Documents
Culture Documents
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
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
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
Copyright IT|Redux
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
Copyright IT|Redux
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
Copyright IT|Redux
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
10
Copyright IT|Redux
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
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
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
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
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
16
Copyright IT|Redux
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
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
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
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
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
22
Copyright IT|Redux
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
24
Copyright IT|Redux
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
26
Copyright IT|Redux
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
28
Copyright IT|Redux
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
30
Copyright IT|Redux
31
desenvolvimento sob demanda (D3), e eu convido-o a juntar-se comunidade do nosso colaborador para aprender mais sobre ele.
Copyright IT|Redux
32
Copyright IT|Redux
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
34
Copyright IT|Redux
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
36
Copyright IT|Redux
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
38
Copyright IT|Redux
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
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.
Copyright IT|Redux
41