Chegamos a segunda parte de nosso exemplo na parte 1 desenvolvemos o diagrama das tabelas, nesta fase iremos construir o nosso processo descrito na primeira parte. Começamos criando o nosso projeto, vá em File – New e escolha BPM Project
Clique em OK
Clique em Next
Selecione Composite with BPMN Process e clique em Finish.
Agora colocamos um nome para o nosso processo, e vou colocar ele como serviço síncrono pois no nosso cenário enquanto o gerente não aprovar o pedido ele não deve prosseguir. Clique em Next
Nesta próxima etapa podemos já definir os parâmetros de entrada e saída de nosso processo, porém iremos definir isso depois. Clique em Finish.
Agora vamos modelar nosso projeto, mãos na massa.
Vamos começar definindo nossas Roles ou papéis, no nosso cenário temos duas Roles a do Cliente que realiza o pedido e a do Gerente que autoriza e da prosseguimento ao processo. Para adicionar é bem simples clique com o botão direito na área branca e selecione Add Role.
Clique em New e coloque o nome como Cliente. Realize o mesmo processo para adicionar o Gerente.
Repare na imagem acima que o Start do processo fica na role Cliente já que quem iniciará o processo será o cliente.
Agora precisamos definir as etapas do nosso processo no BPMN, primeiramente o cliente precisa fazer o input do dados do pedido para que o Gerente aprove ou não o pedido. Para isso vamos adicionar o iten User, Selecione User na paleta de componentes e adicione na role cliente colocando sobre a linha entre o Start e o End. Coloque o nome de Pedido e clique em ok. Não se preocupe com o ponto vermelho que aparecerá isso é normal pois ainda não colocamos a implementação.
Agora Precisamos colocar no Gerente a opção de visualizar o pedido e aprovar ou não. Adicionamos na Role Gerente então uma User para o gerente revisar o pedido. Nesta fase o gerente tem três opções, Aprovar, Reprovar o pedido ou pedir para que o cliente revise adicionando uma mensagem para o cliente pedindo que revise alguns itens e enviando novamente para o Gerente aprovar. Para isso acontecer vamos utilizar uma estrutura de decisão após a User de Revisão de Pedido. Veja na imagem abaixo
Além disso nesta estrutura acima, já adicionamos o que vai acontecer quanto as possíveis opções para as ações do Gerente. Se colocado para revisão, voltar para o cliente revisar, se Aprovado chama um serviço para finalizar o pedido e se for reprovado, notifica o cliente que o pedido foi reprovado com uma tarefa chamada FYI(For You Information) e finaliza o pedido.
Bom com isso temos nossa estrutura do bpm pronta, no próximo post vamos fazer a funcionalidade das user tasks, para o bpm funcionar.









