+ All Categories
Home > Software > Workshop - Business Process Management

Workshop - Business Process Management

Date post: 19-Feb-2017
Category:
Upload: thiago-pereira
View: 10,931 times
Download: 1 times
Share this document with a friend
64
Transcript
Page 1: Workshop - Business Process Management
Page 2: Workshop - Business Process Management

NPI

Workshop – Business Process ManagementUniversidade Federal do Ceará – Campus Quixadá – 2015.2

Núcleo de Práticas em Informática (NPI)

Thiago Pereira Rosa | [email protected]

Engenharia de Software - Estagiário e Bolsista de Extensão do NPI

Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0)

Page 3: Workshop - Business Process Management

Treinamento BPM – Atenção

• Este treinamento foi planejado para um(a) desenvolvedor(a) utilizando a suíte BonitaBPM Community Edition pela primeira vez.

• Ele também assume que você esteja familiarizado com as seguintes tecnologias:• JavaScript, JSON e REST API.

Page 4: Workshop - Business Process Management

Treinamento BPM – Agenda• Bonita Soft

• Suíte BonitaBPM• O que é BPM• Edições da suíte BonitaBPM

• BonitaBPM Community Edition 7• BonitaBPM Studio

• BPMN 2.0• BonitaBPM Execution Engine

• Bonita Execution Engine API• BonitaBPM Portal• Documentação

• Instalação e configuração (Windows/Linux/Mac)

• Ciclo de vida• Configuração

• Organização• Modelagem de processos• BonitaBPM UI Design (Páginas e Formulários)

• Oficina - Desenvolvimento de um processo simplificado• Resultado planejado• Protótipos desenvolvidos para o NPI

Page 5: Workshop - Business Process Management

http://www.bonitasoft.com

Page 6: Workshop - Business Process Management

BonitaSoft

• Clientes:

• Números:

Page 7: Workshop - Business Process Management

BonitaBPM – Visão Geral

• O que é a suíte BonitaBPM?• É uma plataforma de aplicativos baseados em BPM

• O que é BPM? (Business Process Management)

• Ponto de vista da Tecnologia:• Sigla que identifica soluções e software de gestão de processos de

negócio.

• Ponto de vista de Negócios:• É um conceito que une gestão de negócios e tecnologia da

informação com foco na otimização dos resultados das organizações por meio da melhoria dos processos de negócio.

Page 8: Workshop - Business Process Management

BonitaBPM

• BonitaBPM – Edições

Page 9: Workshop - Business Process Management

BonitaBPM Community Edition

• Suíte - BonitaBPM

Page 10: Workshop - Business Process Management

BonitaBPM – Suíte• BonitaBPM – Bonita Studio

3 - Painel de Detalhes

2 - Diagrama de Processo

1 - Menu principal

Page 11: Workshop - Business Process Management

BonitaBPM – Suíte

• BonitaBPM – Bonita Studio – BPMN 2.0

http://www.omg.org/spec/BPMN/2.0/

Page 12: Workshop - Business Process Management

BonitaBPM – Suíte

• BonitaBPM – Bonita Studio – Elementos importantes

Page 13: Workshop - Business Process Management

BonitaBPM – Suíte

• BonitaBPM – Notação BPMN 2.0http://www.omg.org/spec/BPMN/2.0/PDF

Page 14: Workshop - Business Process Management

BonitaBPM – Suíte

• BonitaBPM – Bonita Execution Engine

Page 15: Workshop - Business Process Management

BonitaBPM – Suíte

• BonitaBPM – Bonita Execution Engine - API

Page 16: Workshop - Business Process Management

BonitaBPM – Suíte

• BonitaBPM – Bonita Portal

Page 17: Workshop - Business Process Management

BonitaBPM

• BonitaBPM – Documentação

http://documentation.bonitasoft.com

Page 18: Workshop - Business Process Management

BonitaBPM Community Edition

Instalação

Page 19: Workshop - Business Process Management

BonitaBPM – Instalação

• Java SE Development Kit 8• Java SE 8u65 / 8u66

• http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html?ssSourceSiteId=otnpt

• BonitaBPM• Bonita BPM Community Edition 7

• http://www.bonitasoft.com/downloads-v2• Cadastro é necessário para efetuar download

• Clique em: BonitaBPM-Community64Linux

Page 20: Workshop - Business Process Management

BonitaBPM – Instalação

Page 21: Workshop - Business Process Management

BonitaBPM – Lifecycle

• Ciclo de vida• Ciclo de vida para criação de um aplicativo/processo usando o BonitaBPM e colocá-lo

em produção.

Criação da Aplicação

• Análise de negócio

• Definição da aplicação

• Fluxo de processo

Criação do Sistema

• Administrador Inicializa a plataforma

• Definição da aplicação

• Deploy do processo

Produção

• Administrador gerencia aplicação e processo

• Usuários utilizam a aplicação

Page 22: Workshop - Business Process Management

BonitaBPM – Configuração

• Organização• O que é uma Organização?• Uma organização é um conjunto de utilizadores, normalmente definida em uma

estrutura hierárquica que está alinhada com a estrutura da Entidade de Negócio que os utilizadores pertencem.

Criação da aplicação

Criação do sistema Produção

Page 23: Workshop - Business Process Management

BonitaBPM – Configuração

• Modelagem de processo• Diagramas:

• Pools and Lanes• A piscina é um recipiente para um processo em um diagrama.

• Tasks• Uma tarefa é uma atividade em um processo.

• Gateways• Gateways são utilizados para controlar a forma como uma sequência flui

e como convergem e divergem num processo.• Transitions

• Transições representam um fluxo de sequência.• Events

• Um evento é algo que acontece durante a execução de um processo, e tem um impacto sobre o fluxo.

• Subprocesses• Text Anotations

Criação da aplicação

Criação do sistema Produção

Page 24: Workshop - Business Process Management

BonitaBPM – Configuração

• Desenvolvimento de Páginas e Formulários• Um aplicativo é um conjunto de formulários usados para coletar

informações de processo de um usuário e para apresentar informações.• UI Designer (Versão 7.0+)

• O UI Designer é um ambiente gráfico de desenvolvimento para a criação de páginas e formulários para um aplicativo Bonita BPM. É uma ferramenta web-based disponível a partir do Bonita BPM Studio.

Criação da aplicação

Criação do sistema Produção

Page 25: Workshop - Business Process Management

BonitaBPM Community Edition

Aplicação + Design de Processo

Page 26: Workshop - Business Process Management

BonitaBPM Community Edition

OficinaUm colaborador abre a aplicação de ferramentas de viagem para visualizar suas solicitações de viagens aprovadas.Ele cria uma nova solicitação de viagem.Em seguida, a solicitação é enviada para o gerente. O gerente analisa o pedido e aprova ou recusa.

Em um aplicativo de gerenciamento de viagem real, haveria várias etapas do processo após a aprovação: estimativa dos custos possivelmente recebendo um segundo nível de aprovação se o custo passa de um determinado limite, a apresentação de um pedido de reembolso, revisão de despesas e autorização de pagamento.

No entanto, para este protótipo iremos considerar apenas a primeira parte do processo, onde uma solicitação de viagem é apresentada e, em seguida, revista.

Page 27: Workshop - Business Process Management

BonitaBPM - Oficina

• Sequência de desenvolvimento de um aplicativo:• Projetar páginas do aplicativo• Definir o modelo de dados• Definir o processo

• Criar o diagrama• Definir variáveis• Criar contratos (interfaces)• Definir valores iniciais dos objetos de negócio• Atualizar objetos de negócio com dados de aprovação• Especificar atores• Executar processo com formulários temporários

• Definir formulários do processo• Criar o aplicativo

Page 28: Workshop - Business Process Management

Projetar páginas do aplicativo

Definir o modelo de

dados

Definir o processo

Definir formulários

do processo

Criar o aplicativo

BonitaBPM - OficinaCriar a home da Ferramenta de Viagens

Clique em:UI DesignerPara abrir o designer de interface do usuário em seu navegador.

Page 29: Workshop - Business Process Management

Projetar páginas do aplicativo

Definir o modelo de

dados

Definir o processo

Definir formulários

do processo

Criar o aplicativo

BonitaBPM - OficinaUI Designer

Em:New pageDigite: FerramentaDeViagem e clique em +

Page 30: Workshop - Business Process Management

Projetar páginas do aplicativo

Definir o modelo de

dados

Definir o processo

Definir formulários

do processo

Criar o aplicativo

BonitaBPM - Oficina

• Crie a estrutura da página, arrastandoos widgets da paleta à esquerda e soltando-os no quadro branco (central)• TEXT widget: "usuario"• TITLE widget: "Ferramenta de Viagem"• TEXT widget: "Esta página lista suas solicitações

de viagens pendentes"• CONTAINER widget: para solicitações pendentes

• TITLE widget: "Meus pedidos pendentes"• TABLE widget: com as seguintes propriedades:

• Partida, Noites, Hotel, Destino, Motivo• Columns key: desta mesma tabela

• dataPartida, numeroDeNoites, necessitaHotel, destino, motivo

• CONTAINER widget: para solicitações aprovadas• TITLE widget: "Meus pedidos aprovados"• TABLE widget: com as seguintes propriedades:

• Partida, Noites, Hotel, Destino, Motivo• Columns key: desta mesma tabela

• dataPartida, numeroDeNoites, necessitaHotel, destino, motivo

Page 31: Workshop - Business Process Management

Projetar páginas do aplicativo

Definir o modelo de

dados

Definir o processo

Definir formulários

do processo

Criar o aplicativo

BonitaBPM - Oficina

• Adicionando dados fictícios 1:• No painel de Variáveis (na parte inferior da página)

clique em: Create a new variable• Digite o nome da variável: testePendentes• Selecione o tipo: JSON• Insira o valor abaixo:

[{ "userId": "3", "destino":"Catalão", "dataPartida":"12/1/2016", "numeroDeNoites":"1", "necessitaHotel":"true", "motivo":"Almoço comercial", "status":"Pendente", "motivoRecusa":""}]

• Clique em Save• Clique no ícone "fx" na propriedade:

Content, da tabela: Pedidos Pendentes

• Informe: testePendentes

Page 32: Workshop - Business Process Management

Projetar páginas do aplicativo

Definir o modelo de

dados

Definir o processo

Definir formulários

do processo

Criar o aplicativo

BonitaBPM - Oficina

• Adicionando dados fictícios 2:• No painel de Variáveis (na parte inferior da página)

clique em: Create a new variable• Digite o nome da variável: testeAprovadas• Selecione o tipo: JSON• Insira o valor abaixo:

[{ "userId": "3", "destino":"Quixadá", "dataPartida":"10/1/2016", "numeroDeNoites":"1", "necessitaHotel":"true", "motivo":"Almoço comercial", "status":"Aprovado", "motivoRecusa":""}]

• Clique em Save• Clique no ícone "fx" na propriedade:

Content, da tabela: Pedidos Aprovados

• Informe: testeAprovadas

Page 33: Workshop - Business Process Management

Projetar páginas do aplicativo

Definir o modelo de

dados

Definir o processo

Definir formulários

do processo

Criar o aplicativo

BonitaBPM - Oficina

• Reveja e melhore sua página!• Prototipando? Por que iniciar pela interface gráfica?

• 5 minutos...

Page 34: Workshop - Business Process Management

Projetar páginas do aplicativo

Definir o modelo de

dados

Definir o processo

Definir formulários

do processo

Criar o aplicativo

BonitaBPM - Oficina

Definindo o modelo de dados• Há duas etapas para a definição de variáveis:

• Primeiro você define o modelo de dados de negócios eem seguida,

• Você especifica como o processo manipula os objetos do modelo.

• Vá no menu:• Desenvolvimento / Modelo de Dados de Negócio / Gerenciar

Page 35: Workshop - Business Process Management

Projetar páginas do aplicativo

Definir o modelo de

dados

Definir o processo

Definir formulários

do processo

Criar o aplicativo

BonitaBPM - OficinaDefinindo o modelo de dados• Clique no botão Adicionar

• Adicione: FerramentaDeViagem• Descrição: Modelo Ferramenta de Viagem

• Em Pacote (package), no canto inferior esquerdo:• Adicione: br.ufc.quixada.npi.model

• Na aba Atributos, na parte central, adicione:Variável Tipo Obrigatório

userId String nodataPartida Date yesnumeroDeNoites Integer yesnecessitaHotel Boolean nodestino String yesmotivo String yesstatus String nomotivoRecusa String no

Page 36: Workshop - Business Process Management

Projetar páginas do aplicativo

Definir o modelo de

dados

Definir o processo

Definir formulários

do processo

Criar o aplicativo

BonitaBPM - OficinaDefinindo o modelo de dados• Na aba Consultas, na parte central da janela

selecione: Personalizado• Clique no botão Adicionar• Informe o nome: findByUserIdAndStatus• Clique no campo Consulta ao lado direito do nome• Clique no ícone de editar query: […]• No campo: Consulta JPQL (query)

• Remova todos atributos, exceto:userId e status

• Abaixo, exclua os parâmetros não usados

• Clique em Concluir

Page 37: Workshop - Business Process Management

Projetar páginas do aplicativo

Definir o modelo de

dados

Definir o processo

Definir formulários

do processo

Criar o aplicativo

BonitaBPM - OficinaDefinindo o processo• A primeira etapa é criar um novo diagrama,

usando o BonitaBPM Studio.

• Vamos dar ao diagrama um nome mais descritivo.• Clique no diagrama fora da Piscina, em seguida, vá para o Painel

de Detalhes (canto inferior direito da tela)• Na guia Geral, no painel Diagrama, clique em Editar e informe: Ferramenta de Viagem

• Agora vamos dar à piscina um nome mais descritivo.• Clique na piscina, em seguida, vá para o Painel de Detalhes• Na guia Pool, e clique em Editar e informe: Ferramenta de Viagem

• Adicione um evento de Fim e efetue a ligação com a tarefa Passo1.

• Altere a tarefa Passo1 para: Revisão Coordenador

Page 38: Workshop - Business Process Management

Projetar páginas do aplicativo

Definir o modelo de

dados

Definir o processo

Definir formulários

do processo

Criar o aplicativo

BonitaBPM - OficinaDefinindo o processo• Definindo as variáveis de negócio.• Selecione a piscina

• Vá para o Painel de Detalhes• Clique na aba Dados em seguida clique no botão Adicionar

abaixo da caixa Variáveis do negócio• No campo nome, adicione: ferramentaDeViagem

• Informe a descrição: Variável ferramentaDeViagem• No campo Objeto de Negócio, selecione: FerramentaDeViagem

• Não configure o valor padrão, ele usará posteriormente a informação definida nos contratos (interfaces)

• Clique no botão Concluir

• Os atributos de ferramentaDeViagem contém a informação que será usada no processo. Não há outras variáveis para definir.

• Salve seu processo!

Page 39: Workshop - Business Process Management

Projetar páginas do aplicativo

Definir o modelo de

dados

Definir o processo

Definir formulários

do processo

Criar o aplicativo

BonitaBPM - OficinaDefinindo o processo• Criando contratos (interfaces).• Um contrato especifica o quê um formulário retorna para uma

instancia de processo, ele deve ser definido na inicialização e para cada tarefa humana.

• Selecione a piscina• Vá para o Painel de Detalhes• Clique na aba Execução em seguida na aba Contrato• Em contato, na aba Entradas clique no botão: Adicionar a partir de dados…

• Selecione: ferramentaDeViagem• Clique em Avançar• Especifique os atributos desejados para seu contrato...• Desmarque: userId, status e motivoRecusa

• Clique no botão Concluir• Na janela de diálogo: Geração de contrato, clique em Ok.• Na janela de informação, clique em OK.

Page 40: Workshop - Business Process Management

Projetar páginas do aplicativo

Definir o modelo de

dados

Definir o processo

Definir formulários

do processo

Criar o aplicativo

BonitaBPM - OficinaDefinindo o processo• Criando contratos (interfaces).• Ainda na janela de Entradas de instanciação de processo

• Selecione a piscina• Vá para o Painel de Detalhes• Clique na variável ferramentaDeViagemInput para expandi-la • Para cada atributo adicione uma descrição, como segue abaixo, pois elas serão

exibidas no formulário para auxiliar o usuário final.

Atributo Descrição

dataPartida Selecione a data em que a viagem se inicia

numeroDeNoites Informe o número de noites

necessitaHotel Selecione este campo caso necessite de um hotel

destino Informe a cidade de destino

motivo Informe o motivo desta viagem

Page 41: Workshop - Business Process Management

Projetar páginas do aplicativo

Definir o modelo de

dados

Definir o processo

Definir formulários

do processo

Criar o aplicativo

BonitaBPM - OficinaDefinindo o processo• Contrato para tarefa Revisão Coordenador• Este contrato possui apenas duas entradas e uma

restrição caso o pedido seja negado pelo gerente.

• Selecione a tarefa Revisão Coordenador• Vá para o Painel de Detalhes / Execução / Contrato• Clique no botão Adicionar

• Na aba Restrições, clique no botão Adicionar• Informe: motivoRecusaObrigatorio• No campo Expressão, clique no ícone […]• Informe: status=="Aprovado" || (status=="Recusado" && motivoRecusa != null

&& !motivoRecusa.isEmpty())• Em Mensagem de erro informe: Caso recuse, você deverá informar o motivo

Atributo Descrição

status Indica quando se aprova ou recusa uma requisição de viagem

motivoRecusa Caso recuse, será necessário informar o motivo

Page 42: Workshop - Business Process Management

Projetar páginas do aplicativo

Definir o modelo de

dados

Definir o processo

Definir formulários

do processo

Criar o aplicativo

BonitaBPM - OficinaDefinindo o processo• Valores iniciais do objeto de negócio• Agora que o contrato foi definido, é possível configurar os

valores iniciais da variável ferramentaDeViagem

• Selecione a piscina• Vá para o Painel de Detalhes / Dados• Dê um duplo clique em: ferramentaDeViagem• Clique no ícone de caneta ao lado do campo Valor padrão

• Nesta nova janela, no campo Nome, informe: novaRequisicaoInicializador

• Adicione o seguinte script:

Page 43: Workshop - Business Process Management

Projetar páginas do aplicativo

Definir o modelo de

dados

Definir o processo

Definir formulários

do processo

Criar o aplicativo

BonitaBPM - Oficina

Definindo o processo• Valores iniciais do objeto de negócio

• Adicione o script abaixo:• Clique em OK, seguido de OK na janela de Editar variável de negócio

def ferramentaDeViagemVar = new br.ufc.quixada.npi.model.FerramentaDeViagem()ferramentaDeViagemVar.userId = String.valueOf(BonitaUsers.getProcessInstanceInitiator(apiAccessor, processInstanceId).getId())ferramentaDeViagemVar.dataPartida = ferramentaDeViagemInput.dataPartidaferramentaDeViagemVar.numeroDeNoites = ferramentaDeViagemInput.numeroDeNoitesferramentaDeViagemVar.necessitaHotel = ferramentaDeViagemInput.necessitaHotelferramentaDeViagemVar.destino = ferramentaDeViagemInput.destinoferramentaDeViagemVar.motivo = ferramentaDeViagemInput.motivoferramentaDeViagemVar.status = "Pendente"return ferramentaDeViagemVar

Page 44: Workshop - Business Process Management

Projetar páginas do aplicativo

Definir o modelo de

dados

Definir o processo

Definir formulários

do processo

Criar o aplicativo

BonitaBPM - OficinaDefinindo o processo• Atualizando o objeto de negócio• É necessário definir as operações para atualizar o objeto de

negócio com os valores informados na revisão pelo gerente

• Selecione a tarefa Revisão Coordenador• Vá para o Painel de Detalhes / Execução / Operações• Adicione operações clicando no botão Adicionar

• Selecione: ferramentaDeViagem• Clique em Recebe o valor de e informe Use um método java• Selecione setStatus(String), clique em Ok• No campo à direita de setStatus selecione a variável: status

• Faça o mesmo procedimento para a variável: motivoRecusa

Page 45: Workshop - Business Process Management

Projetar páginas do aplicativo

Definir o modelo de

dados

Definir o processo

Definir formulários

do processo

Criar o aplicativo

BonitaBPM - OficinaDefinindo o processo• Gerenciando organizações• Selecione o menu: Organização / Gerenciar

• Para visualizar as informações das organizações publicadas

• Selecione o menu: Organização / Importar• Acesse:

https://github.com/npi-ufc-qxd/workflow-engine/blob/master/Engine%20Info/Bonita%20BPM/Estrutura%20organizacional%20-%20Universidade%20Federal%20do%20Ceará.xml

• Importe organizações pré-estabelecidas

• Selecione o menu: Organização / Publicar• Para publicar uma organização

Page 46: Workshop - Business Process Management

Projetar páginas do aplicativo

Definir o modelo de

dados

Definir o processo

Definir formulários

do processo

Criar o aplicativo

BonitaBPM - OficinaDefinindo o processo• Especificando atores (colaboradores)• O próximo passo é definir quem realiza as etapas do processo.

Isto é feito através da atribuição de atores.• Vamos importar a organização simulada do NPI de Quixadá.

• Acesse: https://github.com/npi-ufc-qxd/workflow-engine/blob/master/Engine%20Info/Bonita%20BPM/Estrutura%20organizacional%20-%20Universidade%20Federal%20do%20Ceará.xml

• Informe o nome: Estrutura-Universidade Federal do Ceará.xml

• Selecione a piscina• Vá para o Painel de Detalhes / Geral / Atores• Clique no botão Adicionar e informe: colaboradores• Clique no botão: Definir como iniciador em colaboradores• Exclua o item: Employee actor

• Ainda na piscina, clique em: Configurar, no menu principal• Selecione Mapeamento de Ator na lateral esquerda• Clique em: colaboradores, clique no botão Grupos, altere a organização, selecione:

/Campus Quixadá/Núcleo de Práticas em Informática• Clique em: Concluir

• Clique em Concluir, na janela de configuração Local

Page 47: Workshop - Business Process Management

Projetar páginas do aplicativo

Definir o modelo de

dados

Definir o processo

Definir formulários

do processo

Criar o aplicativo

BonitaBPM - OficinaDefinindo o processo• Especificando atores (coordenadores)• O próximo passo é definir quem realiza as etapas do processo.

Isto é feito através da atribuição de atores.

• Selecione a piscina• Vá para o Painel de Detalhes / Geral / Atores• Clique no botão Adicionar e informe: coordenadores

• Ainda na piscina, clique em: Configurar, no menu principal• Selecione Mapeamento de Ator na lateral esquerda• Clique em: coordenadores, clique no botão Roles, altere a organização,

selecione: Coordenador e Gerente de Projetos• Clique em: Concluir

Page 48: Workshop - Business Process Management

Projetar páginas do aplicativo

Definir o modelo de

dados

Definir o processo

Definir formulários

do processo

Criar o aplicativo

BonitaBPM - Oficina

Definindo o processo• Definindo filtro de Atores• Assim é possível garantir que uma determinada tarefa somente

seja executada por um usuário devidamente autorizado.

• Selecione a tarefa Revisão Coordenador• Vá para o Painel de Detalhes / Geral / Atores• Selecione: Utilizar o ator abaixo• Informe em Selecione um ator: coordenadores

• Selecione a Lane• No item: Selecione um ator, informe: colaboradores e salve o seu processo!

Page 49: Workshop - Business Process Management

Projetar páginas do aplicativo

Definir o modelo de

dados

Definir o processo

Definir formulários do processo

Criar o aplicativo

BonitaBPM - OficinaDefinindo formulários• Executando processos com formulários temporários• A maneira mais fácil de criar formulários é gerando-os

a partir de um contrato definido

• Criando um formulário de Instanciação de Processo• Selecione a Piscina• Vá para o Painel de Detalhes / Execução / Contrato• Clique no ícone do UI Designer (no canto inferior direito)• Altere o nome newForm para: submeterFerramentaDeViagem e Salve

• Organize melhor a página gerada. 5 minutos...

Page 50: Workshop - Business Process Management

Projetar páginas do aplicativo

Definir o modelo de

dados

Definir o processo

Definir formulários do processo

Criar o aplicativo

BonitaBPM - OficinaDefinindo formulários 1• Agora vamos definir o formulário da tarefa Revisão pelo

Gerente

• Selecione a tarefa: Revisão Coordenador• Vá para o Painel de Detalhes / Execução / Contrato• Clique no ícone do UI Designer• Altere o nome para: revisaoFerramentaDeViagem e Salve

• Ainda no UI Designer do formulário revisaoFerramentaDeViagem:

• Adicione variáveis para recuperar a informação do formulário:• Clique no botão Create a new variable e adicione: requisicaoViagem• Selecione o tipo: External API• Adicione em API URL: /bonita/{{context.ferramentaDeViagem_ref.link}}• Clique em Save

Page 51: Workshop - Business Process Management

Definindo formulários 3• Complementando as informações da solicitação.

• Para isso, vamos adicionar os widgets abaixo:• Especifique estes widgets como somente leitura.

• Adicione um Radio button com o label Status:• Available values: Aprovado, Recusado• Selected Value: formInput.status

• Adicione um texto ao lado de Status com o seguinte valor: Escolha uma das opções para informar sua decisão sobre esta Requisição de Viagem.

Tipo ValorDestino Input requisicaoViagem.destino

Data de partida Input requisicaoViagem.dataPartida | date

Número de noites Input requisicaoViagem.numeroDeNoites

Hotel Checkbox requisicaoViagem.necessitaHotel

Motivo da viagem Text area requisicaoViagem.motivo

Projetar páginas do aplicativo

Definir o modelo de

dados

Definir o processo

Definir formulários do processo

Criar o aplicativo

BonitaBPM - Oficina

Page 52: Workshop - Business Process Management

Projetar páginas do aplicativo

Definir o modelo de

dados

Definir o processo

Definir formulários do processo

Criar o aplicativo

BonitaBPM - OficinaExecute o processo• Agora você pode executar o processo utilizando os

formulários criados.

• Tenha certeza de salvar as alterações no UI Designerantes de executar seu processo.

• O processo está completo, então agora podemos executá-loe adicioná-lo posteriormente à uma aplicação.• Selecione a Piscina• No menu principal clique em: Executar

Page 53: Workshop - Business Process Management

Projetar páginas do aplicativo

Definir o modelo de

dados

Definir o processo

Definir formulários do processo

Criar o aplicativo

BonitaBPM - OficinaResultado preliminar - Processos

Page 54: Workshop - Business Process Management

Projetar páginas do aplicativo

Definir o modelo de

dados

Definir o processo

Definir formulários do processo

Criar o aplicativo

BonitaBPM - OficinaResultado preliminar - Tarefa

Page 55: Workshop - Business Process Management

BonitaBPM Community Edition

Construindo o aplicativoUltima fase do ciclo de vida

Projetar páginas do aplicativo

Definir o modelo de

dados

Definir o processo

Definir formulários do processo

Criar o aplicativo

Page 56: Workshop - Business Process Management

Projetar páginas do aplicativo

Definir o modelo de

dados

Definir o processo

Definir formulários do processo

Criar o aplicativo

BonitaBPM - OficinaConstruindo o aplicativo• Há dois estágios para atualizar uma página:

• 1º criar algumas variáveis• 2º alterar o mapeamento dos widgets

• No UI Designer edite a página: FerramentaDeViagem.• Crie a variável (External API): session com o valor:

• ../API/system/session/unusedid• Crie a variável (External API): processDef com o valor:

• ../API/bpm/process?p=0&c=1&f=name=Ferramenta de Viagem• Crie a variável (JavaScript expression): myUserId com o valor:

• return $data.session.user_id;• Crie a variável (External API): minhasRequisicoesPendentes com o valor:

• ../API/bdm/businessData/br.ufc.quixada.npi.model.FerramentaDeViagem?q=findByUserIdAndStatus&p=0&c=10&f=userId={{myUserId}}&f=status=Pendente

• Crie a variável (External API): minhasRequisicoesAprovadas com o valor: • ../API/bdm/businessData/br.ufc.quixada.npi.model.FerramentaDeViagem?

q=findByUserIdAndStatus&p=0&c=10&f=userId={{myUserId}}&f=status=Aprovado

Page 57: Workshop - Business Process Management

Projetar páginas do aplicativo

Definir o modelo de

dados

Definir o processo

Definir formulários do processo

Criar o aplicativo

BonitaBPM - Oficina

Construindo o aplicativo• Vamos atualizar os seguintes widgets:

• Selecione o widget username e atualize a propriedadeText para: {{session.user_name}}

• Atualize a tabela de solicitações pendentes para: minhasRequisicoesPendentes• Atualize a tabela de solicitações aprovadas para: minhasRequisicoesAprovadas• Para ambas as tabelas, ajuste a propriedade Column keys para:

• dataPartida | date, numeroDeNoites, necessitaHotel, destino, motivo

Page 58: Workshop - Business Process Management

Projetar páginas do aplicativo

Definir o modelo de

dados

Definir o processo

Definir formulários do processo

Criar o aplicativo

BonitaBPM - Oficina

Link para criar nova requisição• Quando o usuário clica no botão de criar uma Requisição de

viagem, a aplicação exibe tal formulário:

• Para configurar o botão, selecione-o e informe na propriedade target URL o link abaixo:

• http://localhost:8080/bonita/portal/resource/process/Ferramenta%20de%20Viagem/1.0/content/?id={{processDef[0].id}}

• Salve a página:

Page 59: Workshop - Business Process Management

Projetar páginas do aplicativo

Definir o modelo de

dados

Definir o processo

Definir formulários do processo

Criar o aplicativo

BonitaBPM - OficinaConstruindo o aplicativo• Para construir a Ferramenta de Viagem, é necessário exportar

a página pelo UI Designer, executar o processo e então criaro aplicativo no BonitaBPM Portal:• Para exportar clique no botão:• Para executar o processo, clique no botão executar:

• Para criar o aplicativo• Efetue login no portal com o perfil de Administrador.• No menu principal clique em Recursos, em seguida no botão Add e importe.• No menu principal clique em Aplicações, em seguida no botão New.

• Informe o Nome (Ferramenta de viagem) e a URL (ferramenta-de-viagem) para este aplicativo, então clique em Create.

• Na Lista de Aplicações, clique no ícone de editar […], para configurar o aplicativo.• *Na sessão de páginas (pages), clique em Add para adicionar a página importada

(FerramentaDeViagem page) e informe a URL: inicio, defina-a como Home clicando no ícone de uma casa, então delete: Application home page.

• Verifique se o aplicativo foi corretamente instalado, clicando na URL.

• Compartilhe o link do seu novo aplicativo baseado em BPM.

Page 60: Workshop - Business Process Management

BonitaBPM – Configuração

• Resultado• Processo planejado• Ferramenta de viagem, simplificada• URL: http://10.0.1.215/bonita/apps/Ferramenta-de-viagem

Ps: Disponível em toda rede local da UFC – Campus Quixadá.

Criação da aplicação

Criação do sistema Produção

Page 61: Workshop - Business Process Management

BonitaBPM – Configuração• Resultado

Criação da aplicação

Criação do sistema Produção

Page 62: Workshop - Business Process Management

BonitaBPM – Configuração• Resultado

Criação da aplicação

Criação do sistema Produção

Page 63: Workshop - Business Process Management

BonitaBPM – Configuração• Protótipos do NPI

• Workflow Engine: https://github.com/npi-ufc-qxd/workflow-engine

Page 64: Workshop - Business Process Management

NPI

Workshop – Business Process ManagementUniversidade Federal do Ceará – Campus Quixadá

Núcleo de Práticas em Informática – 2015.2

Thiago Pereira Rosa | [email protected] | @kamihouse

Engenharia de Software

Obrigado!

Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0)


Recommended