Pesquisar neste blog

17 de nov. de 2011

Bonita para Gerenciamento de Processos de Negócios, Parte 1: Configuração de Formulários e Variáveis

Por:Bilal Siddiqui
Em:http://www.ibm.com/developerworks/br/library/j-bpm2/index.html

Resumo:  As ferramentas de software livre™ baseadas em Java para gerenciamento de processos de negócios (BPM) estão sendo reconhecidas por si só. Neste arquivo em duas partes, Bilal Siddiqui apresenta conceitos de BPM e mostra os recursos da Bonita Open Solution — um mecanismo de BPM que implementa o padrão Business Process Modeling Notation (BPMN). Na Parte 1, você aprenderá como vários elementos de BPMN trabalham e começará a configurar um exemplo de fluxo de trabalho de processo de negócios com Bonita. Na Parte 2, você concluirá as tarefas de configuração restantes para implementar o fluxo de trabalho.

Um processo de negócios ocorre quando as pessoas interagem de maneira coordenada para alcançar uma meta de negócio comum. O trabalho flui de uma pessoa para a próxima e cada pessoa executa sua própria tarefa ou função de negócios. Por exemplo, considere um fluxo de trabalho simples para controlar um cliente em um hotel. A recepcionista reserva o quarto para o hóspede que chega. A informação de reserva do quarto é encaminhada para o departamento de manutenção e para a contabilidade do hotel. O departamento de manutenção assegura que o hóspede encontre o quarto pronto e a contabilidade mantém um registro dos pagamentos do hóspede.
O gerenciamento de um processo de negócios é o gerenciamento do fluxo de trabalho. As ferramentas de gerenciamento de processos de negócios (BPM) permitem expressar fluxos de trabalho de uma maneira que permite aos sistemas de computador entendê-los e agir de acordo. A maneira antiga de fazer isso é escrever o código em alguma linguagem de programação. A maneira do BPM é fazer isso de forma administrativa através de configuração sem escrever uma única linha de código, usando software de BPM. Business Process Modeling Notation (BPMN) é um padrão que permite expressar graficamente os requisitos de negócios de um fluxo de trabalho. Primeiro usa-se um editor de fluxo de trabalho de BPMN para fazer autoria da representação de BPMN do seu processo de negócios. Em seguida a representação de BPMN é hospedada em um mecanismo do fluxo de trabalho de BPMN, que trata do fluxo de trabalho real.
Estão disponíveis algumas excelentes soluções de BPM de software livre baseadas em Java. Neste artigo em duas partes você aprenderá a usar uma delas — Bonita Open Solution — para configurar um fluxo de trabalho para o processo de negócios de reservar quartos em um hotel. Bonita inclui um editor de BPMN gráfico, assim como um mecanismo do fluxo de trabalho.
Configurar um fluxo de trabalho requer quatro tarefas:
  1. Fazer autoria do fluxo de trabalho usando BPMN.
  2. Projetar as formas usadas para interação humana durante a execução do fluxo de trabalho.
  3. Especificar quais aplicativos externos devem ser usados no fluxo de trabalho. Quase sempre serão necessários aplicativos externos para atender os requisitos do fluxo de trabalho.
  4. Especificar quem executa qual atividade do fluxo de trabalho definindo as funções de negócios de todo o pessoal (ou agentes) participante. As funções de negócios determinam quem tem acesso a qual atividade. Decidir tudo isso é parte de uma política de controle de acesso,
Aqui na Parte 1 irei demonstrar a primeira tarefa, usando Bonita para fazer autoria do fluxo de trabalho de reserva de quartos. Na Parte 2, mostrarei como projetar dois formulários para o fluxo de trabalho e demonstrarei como trabalhar com dois aplicativos de software livre populares usados com frequência em fluxos de trabalho: o banco de dados PostgreSQL e o mecanismo de relatórios JasperReports. Definir políticas de controle de acesso está além do escopo deste artigo. ConsulteRecursos para obter um link para um artigo sobre esse tópico.
Para fazer uma apresentação ao BPMN usarei o processo de reserva de quartos no atendimento de um hotel como exemplo. O requisito de processo na sua forma mais simples é um hóspede chegar ao atendimento e pedir um quarto. O funcionário do atendimento verifica a disponibilidade de quartos e, se houver um quarto disponível, reserva-o. (Para simplificar, não estou considerando o fluxo de trabalho completo mencionado na introdução, do atendimento do hotel para o departamento de manutenção e a contabilidade.)
A representação de BPMN desse processo (que desenhei usando o editor de fluxo de trabalho do Bonita) é exibida na figura 1:

Figura 1. Usando BPMN para representar um fluxo de trabalho simples para reservar um quarto de hotel
 
O círculo verde fino na extrema esquerda na Figura 1 é o início . Ele representa o início de um fluxo de trabalho como definido pelo BPMN.
A seta à direita do elemento inicial representa uma transição. Várias transições são possíveis, como você aprenderá neste artigo. Esta é uma transação simples que no fluxo de trabalho aponta somente para a primeira atividade.
À direita da primeira transação na Figura 1 há um retângulo com cantos arredondados. Figura 1 contém três desses retângulos. Eles representam tarefas ou atividades do fluxo de trabalho, que podem ser automáticas ou executadas por um usuário. O retângulo na extrema esquerda — chamado EnterRoomInformation — contém o símbolo de uma pessoa, indicando que é uma atividade do usuário. Nessa atividade, a recepcionista usa um formulário para inserir informações sobre o tipo de quarto que o hóspede deseja.

BPM e ERP comparados

As ferramentas de planejamento de recurso corporativo (ERP) (consulte Recursos ) fornecem outra maneira de gerenciar os fluxos de trabalho de negócios. Ao configurar uma implementação de ERP são executadas tarefas semelhantes às do BPM (autoria de fluxo de trabalho, projeto de formulário, vinculação a aplicativos externos e definição das políticas de controle de acesso). Como as ferramentas de ERP evoluíram com o tempo, competiram umas com as outras para oferecer recursos de fluxo de trabalho mais ricos. Todas as ferramentas de ERP oferecem fluxos de trabalho pré-configurados e algumas permitem escolher entre tipos de fluxos de trabalho — categorias de fluxos de trabalho comumente requeridas no gerenciamento de processos de negócios. Os tipos de fluxos de trabalho podem ser usados para configurar aplicativos com rapidez de acordo com os requisitos de negócios. O resultado da evolução das ferramentas de ERP é que elas são bem menos padronizadas que as ferramentas de BPM. BPM é uma solução mais organizada e mais padronizada para o mesmo problema que as ferramentas de ERP vêm tentando resolver.
O retângulo do meio é denominado CheckRoomAvailablity. Seu símbolo plug-and-wire mostra que é uma atividade automática, o que significa que executa alguma coisa no backend. Podem ser feitos vários tipos de coisas automáticas — por exemplo, uma operação de banco de dados para verificar se o tipo de quarto necessário está disponível.
O terceiro retângulo (na extrema direita), denominado BookRoom, tem o símbolo de uma pessoa e do plugue, o que significa que um usuário executa parte dessa atividade e o resto é executado por algum processo automático no backend. A parte humana da atividade BookRoom é para a recepcionista fornecer as informações de reserva do quarto. O resto é automático (uma transação do banco de dados para salvar as informações de reserva de quarto).
Em resumo, a primeira atividade apenas reúne dados sobre o quarto necessário e a segunda verifica se o tipo de quarto necessário está disponível. A terceira atividade faz tudo para reservar o quarto.
Observe a transição simples (uma seta) na Figura 1 apontando da atividade EnterRoomInformation para a atividadeCheckRoomAvailability . Essa transição simples significa que após a recepcionista reunir os dados de consulta do quarto, a etapa seguinte é sempre verificar a disponibilidade do tipo de quarto necessário.
A transição seguinte — da atividade CheckRoomAvailability para a atividade BookRoom — não é uma transição simples. Ela depende do resultado da atividade CheckRoomAvailability — ou seja, se o tipo de quarto necessário está disponível. Se estiver disponível, o funcionário poderá reservá-lo para o hóspede, assim a atividade BookRoom é realizada. Se o tipo de quarto necessário estiver indisponível, o funcionário poderá verificar a disponibilidade de outro tipo de quarto, assim o controle deverá ser transferido de volta para a atividadeEnterRoomInformation .
Assim, aqui é necessário tomar uma decisão sobre qual direção seguir. Toda vez que for necessário tomar essa decisão, o caminho de execução se divide. Essa divisão é representada por um losango (um elemento gate ou gateway em terminologia de BPMN) com uma cruz dentro. Pode-se ver na Figura 1 que o elemento gate conecta a saída da atividadeCheckRoomAvailability com os dois caminhos de execução possíveis.
Três linhas com setas conectam-se ao gate. Cada linha representa uma transição:
  • A primeira transição é a entrada para o gate, que se origina da atividade CheckRoomAvailability e termina no gate. Essa é uma transição incondicional simples.
  • A segunda transição é do gate para a atividade EnterRoomInformation . Essa transição representa um caso em que o tipo de quarto especificado não está disponível. É uma transição condicional.
  • A terceira transição do gate, — outra transição condicional — , aponta para a atividade BookRoom caso o tipo de quarto necessário estiver disponível.
Observe que o elemento gate não é nada além de um ponto em que as transições se encontram. Cada transição que entra ou sai do gate conhece suas próprias propriedades (ou seja, se é simples ou condicional).
Agora você viu como o processo simples de reservar um quarto é representado pelo BPMN. A próxima seção demonstra como configurar esse fluxo de trabalho no Bonita. Transfira por download, instale e ative o Bonita agora para acompanhar o exercício prático deste artigo (consulte Recursos ).
A ferramenta gráfica do Bonita é simples de usar, permitindo arrastar e soltar de uma paleta para uma janela do editor chamada quadro branco. Após soltar os componentes no quadro branco, cada componente pode ser configurado individualmente de acordo com os requisitos do processo de negócios.
A Figura 2 mostra a página de boas-vindas do Bonita, que contém links rápidos para tarefas comuns como criar um novo processo ou abrir um existente.

Figura 2. Página de boas-vindas do Bonita
 
É possível clicar no botão New para iniciar a configuração do fluxo de trabalho de reserva de quarto. Um novo processo chamado MyProcessDiagram (Versão 1.0) abre, como mostrado na figura 3:

Figura 3. Um novo processo
 
Pode ser visto na Figura 3 que a tela do Bonita é dividida horizontalmente em duas partes e cada parte é dividida verticalmente.
A parte superior esquerda contém uma paleta dos elementos BPMN que podem ser usados para configurar os fluxos de trabalho.
A parte superior direita é um quadro branco de processo em que você arrasta e solta elementos BPMN da paleta. O quadro branco é a visualização de design real do processo. Como a Figura 3 mostra, Bonita inclui automaticamente três elementos BPMN ao criar um novo processo: partida, uma transição e uma atividade chamada Step1.
A parte inferior esquerda é uma janela de visão geral que mostra uma visão geral do fluxo de trabalho inteiro que está sendo desenvolvido. É útil para ir rapidamente para uma parte específica do fluxo de trabalho, principalmente quando a definição de fluxo de trabalho é grande e não é possível ajustá-la no quadro branco sem barras de rolagem.
A parte inferior direita é uma janela de detalhes que é usada para configurar elementos BPMN individuais. Ela mostra os atributos de BPMN que são definidos durante a configuração. Como nenhum elemento BPMN está selecionado atualmente, a janela de detalhes na Figura 3 mostra atributos do fluxo de trabalho. Por exemplo, observe que a janela de detalhes contém uma guia chamada Diagram que contém um campo Name cujo valor é MyProcessDiagram. Altere MyProcessDiagram paraRoomBookingDiagram e clique no botão Save na barra de ferramentas principal do Bonita.
Comece a configurar o fluxo de trabalho de reserva de quarto clicando na atividade Step1 . Seus atributos aparecem na janela de detalhes, como mostrado na Figura 4:

Figura 4. Detalhes de atributos da atividade Step1 
 
Ao clicar na atividade Step1 a paleta de contexto — um pequeno subconjunto de ícones de elementos BPMN — aparece em torno dela, como mostrado na figura 5:

Figura 5. A atividade Step1 mostrando sua paleta de contexto
 
A paleta de contexto permite incluir de forma conveniente a próxima atividade ou transição ao fluxo de trabalho. A paleta de contexto será usada com frequência no exercício deste artigo.
Pode ser visto na Figura 4 que a janela de detalhes contém várias guias que podem ser usadas para controlar o comportamento de cada elemento BPMN — como a atividade Step1 — que você arrasta e solta no quadro branco do Bonita. Essas guias oferecem ricos recursos para cobrir praticamente qualquer requisito possível de gerenciamento de processos de negócios. Não iremos falar sobre todos os recursos do BPMN neste artigo. Para o caso de uso simples de reserva de quarto no hotel iremos precisar somente das guias General, Data, Connectors e Forms da janela de detalhes.
A guia General, como mostrado na Figura 4, permite especificar o nome, a descrição, o tipo e a prioridade da atividade. Substitua Step1 conforme o nome da atividade, digitando EnterRoomInformation no campo de texto Name. Observe queEnterRoomInformation é agora o nome da atividade que aparece no quadro branco.
O campo Description permite fornecer documentação sobre os elementos. TipoMostra um formulário para buscar as informações sobre o quarto necessário pelo hóspede no campo Description.
Em seguida será especificado o tipo dessa atividade. Como a atividade EnterRoomInformation activity requer o preenchimento de um formulário de entrada de dados para especificar o tipo de quarto necessário, essa é uma atividade do usuário executada pela recepcionista que usa o aplicativo de fluxo de trabalho de reserva de quarto. O campo Activity type é uma lista suspensa. O tipo de atividade EnterRoomInformation deve ser Human, que estará selecionado por padrão.
Como a atividade EnterRoomInformation é uma atividade do usuário, é necessário desenvolver um formulário de entrada de dados para ela. Na Parte 2 você irá projetar e implementar o formulário e, em seguida, implementá-lo na atividade usando a guia Forms da janela de detalhes. Na Parte 2 irá usar também a guia Data para definir variáveis que contêm os dados sobre o quarto que o hóspede requer.
Em seguida irá adicionar uma transição e a próxima atividade, chamada CheckRoomAvailability, ao fluxo de trabalho. A opção CheckRoomAvailability recebe dados do formulário EnterRoomInformation , verifica o banco de dados do hotel (que será configurado na Parte 2) para ver se há disponibilidade de quarto e define um sinalizador para mostrar se o quarto está disponível.
Clique na atividade EnterRoomInformation para ativar sua paleta de contexto. Arraste o ícone do elemento da etapa (uma caixa pequena) do canto superior direito da paleta de contexto e solte-o ao lado da atividade EnterRoomInformation . Como mostrado na Figura 6, uma transição e um outro elemento Step1 são incluídos no fluxo de trabalho:

Figura 6. Uma nova transição e um elemento Step1 incluídos no fluxo de trabalho
 
A janela de detalhes do elemento Step1 recém-criado mostra o nome, a descrição e os campos de tipo da atividade. InsiraCheckRoomAvailability como o nome da atividade. No campo Description, digite Um processo automático para consultar o banco de dados sobre a disponibilidade do tipo de quarto necessário. SelecioneAutomatic na lista suspensa Activity type. A Figura 7 mostra a atividade CheckRoomAvailability como acabou de ser configurada:

Figura 7. Configurando a atividade CheckRoomAvailability 
 
Se o tipo de quarto necessário estiver indisponível, a atividade CheckRoomAvailability configura um sinalizador denominado isRequiredRoomTypeAvailable. A próxima transição no fluxo de trabalho depende se o sinalizadorisRequiredRoomTypeAvailable está configurado ou não, por isso é necessário definir o sinalizadorisRequiredRoomTypeAvailable como uma variável no Bonita.
Bonita permite definir variáveis para cada atividade individual assim como para o fluxo de trabalho completo. Você define uma variável de nível de atividade quando a variável for requerida somente dentro de uma atividade específica. Se o uso dessa variável abranger múltiplas atividades, a variável é definida no nível de fluxo de trabalho para que qualquer elemento possa acessá-la.
No caso do fluxo de trabalho de reserva de quarto, o sinalizador isRequiredRoomTypeAvailable precisa ser uma variável de nível de fluxo de trabalho porque múltiplos elementos acessam o sinalizador. A variável CheckRoomAvailability configura o sinalizador e a próxima transição verifica o status do sinalizador.
Para definir uma variável no nível de fluxo de trabalho, clique no agrupamento retangular da definição do fluxo de trabalho inteiro, destacado na Figura 8:

Figura 8. Janela de detalhes do fluxo de trabalho de reserva de quarto
 
Observe que a janela de detalhes agora mostra atributos do fluxo de trabalho completo de reserva de quarto.
Clique na guia Data na janela de detalhes e clique no botão Add. O diálogo Add a new variable abre, como mostrado na Figura 9:

Figura 9. Incluindo uma nova variável no fluxo de trabalho
 
InsiraisRequiredRoomTypeAvailable no campo de texto Name. No campo Description, digite A workflow-level flag to show whether the required type of room is available or not. SelecioneBoolean na lista suspensa Data type e escolha false como o valor padrão do sinalizador. Clique no componente Finish na parte inferior. Pode-se ver que a variávelisRequiredRoomTypeAvailable foi incluída na guia Data como mostrado a seguir na Figura 10:

Figura 10. Guia Data mostrando a variável isRequiredRoomTypeAvailable incluída na caixa de texto
 
Você acabou de definir a atividade CheckRoomAvailability junto com um sinalizador no nível do fluxo de trabalho denominado isRequiredRoomTypeAvailable. No entanto, não foram configurados o banco de dados real e as instruções SQL que lerão os dados de disponibilidade de quarto e definirão (ou redefinirão) o sinalizadorisRequiredRoomTypeAvailable . Tudo isso será demonstrado na Parte 2. No momento mostrarei como configurar a próxima transição dinâmica, que requer tomada de decisão dependendo se o quarto estiver disponível.
Clique na atividade CheckRoomAvailability para ativar sua paleta de contexto. Arraste o losango com o sinal de mais da paleta de contexto e solte-o à direita da atividade CheckRoomAvailability para colocar um elemento gate ali, como mostrado na Figura 11:

Figura 11. Um elemento gate para tomada de decisão em um processo BPM
 
Os elementos gate podem ser de dois tipos:
  • Gate XOR: Se o gate tiver um sinal da cruz dentro dele, é usado para dividir um caminho em vários caminhos.
  • Gate AND: Se o gate tiver um sinal de mais dentro dele, ele combina dois caminhos.
Na seção Transições simples e condicionais você ficou sabendo que precisa de um gate que divide um caminho em vários caminhos. Para definir o tipo de gate correto, clique no elemento gate no quadro branco e escolha XOR como a propriedade Gate type na guia General, como mostrado na Figura 12:

Figura 12. Escolhendo um gate XOR para dividir um caminho em vários
 
Agora clique e arraste o ícone do elemento da etapa da paleta de contexto do elemento gate para a direita do gate. Uma nova atividade chamada Step1 é colocada à direita do gate. Altere o nome da nova atividade para BookRoom e seu tipo para Human na guia General na janela de detalhes. O gate está agora configurado e o processo tem aparência semelhante ao da Figura 13:

Figura 13. A atividade BookRoom colocada ao lado do gate
 
No canto esquerdo do elemento BookRoom há um símbolo representando uma pessoa e no canto direito há uma cruz (ambos visíveis na Figura 13). A cruz indica que não foi especificado quem executará essa atividade. Clique na guia Actors e clique emChoose . Um diálogo Assign actors abre, como mostrado na Figura 14:

Figura 14. O diálogo Assign actors
 
O diálogo Assign actors pede para se que sejam selecionados os grupos de agentes que podem executar a atividadeBookRoom . Bonita permite definir os grupos de agentes de acordo com as regras de negócios requeridas em um fluxo de trabalho. Discutir regras de negócios está além do escopo deste artigo. Será usado simplesmente um grupo de agentes padrão denominado Initiator, já definido no Bonita. O grupo Initiator consiste em qualquer um que iniciar o fluxo de trabalho.
SelecioneInitiator na caixa de texto e clique no botão Finish na parte inferior da janela. O Initiator é incluído na lista na guia Actors, como mostrado na Figura 15:

Figura 15. O agente Initiator incluído na lista na guia Actor
 
A atividade BookRoom também requer um formulário de interação com o usuário que pede ao funcionário de atendimento do hotel para inserir informações do hóspede. Os formulários requeridos para o fluxo de trabalho serão projetados na Parte 2. Observe também que para o momento, BookRoom é uma atividade do usuário. Na Parte 2 você irá configurar a parte automática dessa atividade.
Agora iremos incluir a condição de disponibilidade de quarto na transição do gate para a atividade BookRoom . É necessário configurar o fluxo de trabalho de maneira que a atividade BookRoom ocorra somente quando o tipo de quarto necessário estiver disponível.
Clique no elemento de transição do gate para a atividade BookRoom . Os detalhes do elemento de transição aparecem na janela de detalhes, como mostrado na Figura 16:

Figura 16. Janela de detalhes mostrando atributos de uma transição
 
Os detalhes do elemento de transição contêm somente uma guia, denominada General, como mostrado na Figura 16. A guia General contém um campo chamado Condition, que especifica a condição em que a transição irá ocorrer. InsiraisRequiredRoomTypeAvailable no campo de textoCondition. Rechamada de Incluindo no fluxo de trabalho um sinalizador de disponibilidade de quarto que você declarou o sinalizador isRequiredRoomTypeAvailable como uma variável no nível de fluxo de trabalho. Se o quarto estiver disponível, a atividade CheckRoomAvailability configura o sinalizadorisRequiredRoomTypeAvailable para true. Essa condição simplesmente ativa a transição para a atividade BookRoom se a variável isRequiredRoomTypeAvailable for localizada como sendo true (o que significa que o sinalizador está configurado).
Ao inserir uma condição para a transição, observe que um pequeno losango aparece no lado do gate do elemento de transição. O losango mostra que a transição é condicional.
Como você pode ter adivinhado, também é necessário configurar uma condição para a outra transição. Clique no elemento gate no quadro branco do processo para ativar sua paleta de contexto. Arraste a seta (o ícone de transição) da parte inferior da paleta de contexto para a atividade EnterRoomInformation . Isso arrasta um elemento de transição do gate para a atividadeEnterRoomInformation , como mostrado na Figura 17:

Figura 17. Transição do gate para a atividade EnterRoomInformation no caso de o tipo de quarto necessário estar indisponível
 
Agora, como mostrado na Figura 17, basta configurar isRequiredRoomTypeAvailable como a condição dessa transição. O trabalho irá fluir de volta para a atividade EnterRoomInformation se o tipo de quarto necessário estiver indisponível.
A etapa final de configuração do fluxo de trabalho é incluir um elemento final no processo arrastando o item de círculo da paleta de contexto de BookRoom para a direita. Uma paleta seletora de eventos aparece, como mostrado na Figura 18:

Figura 18. A paleta seletora de eventos
 
A paleta seletora de eventos contém símbolos para muitos tipos de eventos definidos pelo BPMN. Você precisa somente do elemento end (um círculo vermelho, mostrado em um círculo na Figura 18), que pode ser localizado no canto superior direito da paleta seletora de eventos. Selecione o elemento final na paleta de eventos. Seu fluxo de trabalho agora contém um elemento final, como mostrado na Figura 19:

Figura 19. O fluxo de trabalho de reserva de quarto com um elemento final
 
O fluxo de trabalho de reserva de quarto foi configurado, exceto que não possui formulários e banco de dados. Salve o trabalho feito até o momento clicando em Save no menu principal do Bonita. Isso salva as informações do fluxo de trabalho no arquivo RoomBookingDiagram.proc. O arquivo RoomBookingDiagram.proc também está disponível para download deste tutorial.
Recursos do ERP como fluxos de trabalho pré-configurados e tipos de fluxo de trabalho populares são úteis, mas têm um preço: esses recursos são específicos do produto. Descobri que ensinar profissionais de TI a usar recursos específicos do produto para resolver problemas cotidianos de fluxo de trabalho é a parte mais difícil de qualquer projeto ERP.
Por esse motivo, creio que BPM é a onda do futuro. Embora a padronização ainda não esteja concluída, está progredindo. Tenho a confiança de que dentro de poucos anos BPM irá cobrir todos os recursos do fluxo de trabalho, comuns ou incomuns, de modo que o treinamento de BPM padronizado irá se tornar parte do currículo de TI e o treinamento de ERP específico do produto não será mais um problema.
Neste artigo você aprendeu um pouco de BPMN e como usá-lo para configurar um fluxo de trabalho simples no Bonita. Na Parte 2, irei cobrir o que deixei sem fazer na Parte 1 — projetar formulários, usar variáveis, conectar a um banco de dados PostgreSQL e gerar relatórios com JasperReports — para colocar em ação o fluxo de trabalho de reserva de quarto.

DescriçãoNomeTamanhoMétodo de download
BPMN file for this article's examplej-bpm1.zip4KBHTTP

Aprender
Obter produtos e tecnologias
  • Bonita Open Solution: Download Bonita. O artigo usa a versão 5.2.2.
  • Avalie os produtos IBM da maneira que for melhor para você: faça download da versão de teste de um produto, avalie um produto on-line, use-o em um ambiente de nuvem ou passe algumas horas na SOA Sandbox aprendendo a implementar Arquitetura Orientada a Serviços de modo eficiente.
Discutir
  • Participe da comunidade do My developerWorks. Entre em contato com outros usuários do developerWorks, enquanto explora os blogs, fóruns, grupos e wikis orientados ao desenvolvedor.
Bilal Siddiqui é engenheiro eletrônico, consultor de XML e cofundador da WaxSys, empresa concentrada em simplificação de e-business. Após se formar, em 1995, em engenharia eletrônica na Universidade de Engenharia e Tecnologia, em Lahore, Paquistão, ele começou a projetar soluções de software para sistemas de controle industrial. Depois, ele começou a trabalhar com o XML e usou sua experiência em programação em C++ para criar ferramentas de processamento XML baseadas na Web e em WAP, soluções de análise do lado do servidor e aplicativos de serviço. Bilal é divulgador da tecnologia e um autor técnico publicado com frequência.

2 comentários:

  1. Muito bom o artigo.
    gostaria de lhe perguntar duas coisas:
    onde encontro material de bonita em portugues pra estudar?
    eu trabalho com orquestra BPM, que é uma ferramenta paga, gostaria de saber de vc como é comunicacao com banco de dados, é via store procedure? na ferramenta que trabalho essa é a unica forma.

    att,

    Marcelo

    ResponderExcluir
    Respostas
    1. Caro Marcelo,

      material em português é muito escasso, o que encontrei coloquei aqui no blog, veja o link abaixo:

      http://marcogandra.blogspot.com.br/2011/11/bonita-para-gerenciamento-de-processos.html#uds-search-results

      Grande abraço

      Excluir