Download - 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)
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.
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
http://www.bonitasoft.com
BonitaSoft
• Clientes:
• Números:
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.
BonitaBPM
• BonitaBPM – Edições
BonitaBPM Community Edition
• Suíte - BonitaBPM
BonitaBPM – Suíte• BonitaBPM – Bonita Studio
3 - Painel de Detalhes
2 - Diagrama de Processo
1 - Menu principal
BonitaBPM – Suíte
• BonitaBPM – Bonita Studio – BPMN 2.0
http://www.omg.org/spec/BPMN/2.0/
BonitaBPM – Suíte
• BonitaBPM – Bonita Studio – Elementos importantes
BonitaBPM – Suíte
• BonitaBPM – Notação BPMN 2.0http://www.omg.org/spec/BPMN/2.0/PDF
BonitaBPM – Suíte
• BonitaBPM – Bonita Execution Engine
BonitaBPM – Suíte
• BonitaBPM – Bonita Execution Engine - API
BonitaBPM – Suíte
• BonitaBPM – Bonita Portal
BonitaBPM
• BonitaBPM – Documentação
http://documentation.bonitasoft.com
BonitaBPM Community Edition
Instalação
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
BonitaBPM – Instalação
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
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
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
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
BonitaBPM Community Edition
Aplicação + Design de Processo
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.
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
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.
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 +
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
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
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
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...
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
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
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
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
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!
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.
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
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
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:
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
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
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
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
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
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!
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...
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
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
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
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
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
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
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
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
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:
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.
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
BonitaBPM – Configuração• Resultado
Criação da aplicação
Criação do sistema Produção
BonitaBPM – Configuração• Resultado
Criação da aplicação
Criação do sistema Produção
BonitaBPM – Configuração• Protótipos do NPI
• Workflow Engine: https://github.com/npi-ufc-qxd/workflow-engine
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)