Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 10 Próxima »

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 > Adicionar novo plugin

Vá em utilitários e selecione Workflow

Agora tudo está pronto para executar seu primeiro aplicativo bpmn, todos os arquivos .bpmn serão implantados automaticamente no início do aplicativo

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 visualizar e editar atributos que se aplicam ao elemento atualmente selecionado.

Área de edição do BPMN


Elementos do BPMN 2.0

Participantes



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 de java.lang.Boolean
  • bytes: Instâncias de byte[]
  • short: Instâncias de java.lang.Short
  • integer: Instâncias de java.lang.Integer
  • long: Instâncias de java.lang.Long
  • double: Instâncias de java.lang.Double
  • date: Instâncias de java.util.Date
  • string: Instâncias de java.lang.String
  • null: nullreferê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:

  • Sem rótulos