Versões comparadas
Chave
- Esta linha foi adicionada.
- Esta linha foi removida.
- A formatação mudou.
O Modelo de Processo de Negócios e Notação (BPMN), fornecerá as empresas um padrão para entender seus procedimentos internos de negócios em uma notação gráfica. Esta notação gráfica tem como principal intuito facilitar o entendimento dos fluxos dos processos das empresas, a fim de garantir que entendam, participem e se ajustem as circunstâncias do negócio.
Utilizando o BPMN em um projeto
Clique em Plugin >Image Added
Figura 1.1 - Adicionando Plugins
Image AddedFigura 1.2 - Adicionando Plugin Cronapp Workflow
- Clicar sobre a aba Plugin;
- Selecionar opção Adicionar novo plugin
Image Removed
Vá em utilitários e selecione Workflow
Image Removed- ;
- Selecionar opção General;
- Selecionar Cronapp Workflow;
- Clicar sobre Avançar, em seguida Finalizar;
- Clicar sobre Salvar para confirmar alterações no arquivo POM;
Agora tudo está pronto para executar seu primeiro aplicativo bpmncriar sua primeira aplicação BPMN, todos os arquivos .bpmn serão implantados automaticamente no início do aplicativoimplementados automaticamente ao executar o projeto pela primeira vez.
Arquivo BPMN
Para criar um novo arquivo BPMN, clique com o botão direito na pasta de recursos > novo > fluxo de trabalho
Agora você pode começar a criar um modelo BPMN 2.0. Adicione os elementos desejados da paleta no lado esquerdo, arrastando e soltando-os na tela do diagrama .
Como alternativa, você pode adicionar novos elementos usando o menu de contexto que aparece quando você seleciona um elemento no diagrama.
Usando o ícone de chave inglesa no menu de contexto, você pode alterar o tipo de um elemento no local.
O Cronapp Modeler cobre todos os elementos do BPMN 2.0 para processos de modelagem.No painel de propriedades, no lado direito, é possível
Image Added
Área de edição do BPMN
Image Added
Figura 2.1 - Área de edição
- Caixa de ferramentas: encontram-se os elementos, arrastando e soltando-os na tela do diagrama, e as ligações;
- Área de edição: área para construção do diagrama;
- Área de propriedades: muda conforme o elemento selecionado, mas nessa área é visualizar e editar atributos que se aplicam ao elemento atualmente selecionado.
Área de edição do BPMN
Elementos do BPMN 2.0
Participantes
Image Added
Image Modified
Figura 2.2 - Elementos de subprocesso
- Subprocess (Subprocesso): atividade que contém outras atividades, caminhos, eventos e entre outros, e faz parte de um processo maior.
- Call activity:
- Event subprocess:
- Transaction:
Tarefas
Gateways
Dados
Artefatos
Eventos
Habilitar Utilização de Blockly no BPMN
Abra a configuração do bloco e clique em "Exibir no Bpmn" e salve.
Para executar o Blocklys, você deve usar expressões de tarefas de serviço
Clique no icone de Edição
A janela de seleção de blocos deve aparecer
Selecione seu bloco
Preencha os parâmetros e Clique em OK
Variáveis de processo
Esta seção descreve os conceitos de variáveis em processos. As variáveis podem ser usadas para adicionar dados ao processo de tempo de execução ou, mais especificamente, aos escopos de variáveis. Vários métodos de API que alteram o estado dessas entidades permitem a atualização das variáveis anexadas. Em geral, uma variável consiste em um nome e um valor. O nome é usado para identificação nas construções do processo. Por exemplo, se uma atividade define uma variável chamada var , uma atividade de acompanhamento pode acessá-la usando esse nome. O valor de uma variável é um objeto Java.
Escopos variáveis e visibilidade de variável
Todas as entidades que podem ter variáveis são chamadas de escopos de variáveis . Estas são execuções (que incluem instâncias de processo) e tarefas. O estado de tempo de execução de uma instância do processo é representado por uma árvore de execuções. Considere o seguinte modelo de processo em que os pontos vermelhos marcam tarefas ativas:
A estrutura de tempo de execução desse processo é a seguinte:
Há uma instância de processo com duas execuções filho, cada uma das quais criou uma tarefa. Todas essas cinco entidades são escopos variáveis e as setas marcam um relacionamento pai-filho. Uma variável definida em um escopo pai é acessível em todos os escopos filhos, a menos que um escopo filho defina uma variável com o mesmo nome. Por outro lado, as variáveis filho não são acessíveis no escopo pai. Variáveis diretamente anexadas ao escopo em questão são chamadas de variáveis locais . Considere a seguinte atribuição de variáveis aos escopos:
Nesse caso, ao trabalhar na Tarefa 1, as variáveis worker e customer estão acessíveis. Note-se que, devido à estrutura de espaços, a variável trabalhador pode ser definida por duas vezes, de modo que Tarefa 1 acede a um diferente trabalhador variável de Tarefa 2 . No entanto, ambos compartilham o cliente variável, o que significa que, se essa variável for atualizada por uma das tarefas, essa alteração também será visível para a outra.
Ambas as tarefas podem acessar duas variáveis cada uma, enquanto nenhuma delas é uma variável local. Todas as três execuções têm uma variável local cada.
Agora, digamos, definimos um cliente de variável local na Tarefa 1 :
Enquanto duas variáveis denominadas cliente e trabalhador ainda podem ser acessadas na Tarefa 1 , a variável do cliente na Execução 1 está oculta, portanto, a variável acessível do cliente é a variável local da Tarefa 1 .
Em geral, as variáveis são acessíveis nos seguintes casos:
- Instanciando processos
- Entregando mensagens
- Transições do ciclo de vida da tarefa, como conclusão ou resolução
- Configurando / obtendo variáveis de fora
- Definindo / obtendo variáveis
- Expressões no modelo de processo
- Scripts no modelo de processo
- Consultas variáveis (históricas)
Valores de variáveis suportados
O mecanismo do processo suporta os seguintes tipos de valores variáveis:
Dependendo do valor real de uma variável, um tipo diferente é atribuído. Entre os tipos disponíveis, existem nove tipos de valores primitivos , o que significa que eles armazenam valores de classes JDK padrão simples sem metadados adicionais:
boolean
: Instâncias dejava.lang.Boolean
bytes
: Instâncias debyte[]
short
: Instâncias dejava.lang.Short
integer
: Instâncias dejava.lang.Integer
long
: Instâncias dejava.lang.Long
double
: Instâncias dejava.lang.Double
date
: Instâncias dejava.util.Date
string
: Instâncias dejava.lang.String
null
:null
referências
Os valores primitivos diferem de outros valores de variáveis, pois podem ser usados em consultas de API, como consultas de instância de processo como condições de filtragem.
O tipo file pode ser usado para armazenar o conteúdo de um arquivo ou fluxo de entrada, juntamente com metadados, como um nome de arquivo, uma codificação e o tipo MIME ao qual o conteúdo do arquivo corresponde.
O tipo de valor objectrepresenta objetos Java customizados. Quando essa variável é persistida, seu valor é serializado de acordo com um procedimento de serialização. Esses procedimentos são configuráveis e intercambiáveis.
Referencias da Api Rest
O objetivo da API REST é fornecer acesso a todas as interfaces relevantes do mecanismo
Para acessar todos os métodos e os formatos e conteúdos esperados clique no link:
https://docs.camunda.org/manual/7.11/reference/rest/
Estrutura
Estes documentos explicam todos os métodos existentes na API REST. Para cada método que eles fornecem:
- Uma descrição informal
- Verbo e URL HTTP
- Possíveis parâmetros de consulta, caminho ou corpo da mensagem
- Uma descrição detalhada do conteúdo da resposta
- Possíveis códigos de resposta
- Um breve exemplo de solicitação e resposta
Uso do motor
Os métodos descritos funcionam no mecanismo de processo padrão, conforme fornecido pelo ProcessEngineProviderserviço disponível .
Você pode anexar /engine/{name}um dos métodos (a menos que esteja documentado em contrário) para acessar outro mecanismo em que {name}está o nome do mecanismo de processo retornado por, por exemplo /engine/myEngineName/task
Tratamento de erros
Para todos os métodos, esta documentação fornece possíveis códigos de status HTTP. As explicações do código de erro não cobrem todas as possíveis causas de erro que podem surgir quando a solicitação é atendida, por exemplo, a maioria das solicitações não funcionará corretamente se houver problemas com o acesso ao banco de dados. Qualquer um desses erros não documentados será convertido em um erro HTTP 500.
Todos os erros também fornecem um corpo de resposta JSON do formulário:
{
"type" : "SomeExceptionClass",
"message" : "a detailed message"
}
Exceções de autorização
Se um usuário já autenticado interagir com um recurso de maneira não autorizada, o código de status da resposta será definido como 403 Forbidden. Detalhes sobre a interação não autorizada são fornecidos no corpo da resposta.
Tipo
AuthorizationException
Corpo de resposta
{"type" : "AuthorizationException", "message" : "The user with id 'jonny' does not have 'DELETE' permission on resource 'Mary' of type 'User'.", "userId" : "jonny", "permissionName" : "DELETE", "resourceName" : "User", "resourceId" : "Mary"}
Nessa Página:
Índice