Guia de Configuração e Administração
Guia de Configuração e Administração para o Red Hat JBoss BPM Suite
Resumo
Parte I. Introdução Copiar o linkLink copiado para a área de transferência!
Capítulo 1. Business Process Model and Notation Copiar o linkLink copiado para a área de transferência!
1.1. Componentes Copiar o linkLink copiado para a área de transferência!
Execution Engine- fornece o ambiente de tempo de execução para as Regras e os Processos Empresariais. Engloba uma biblioteca de fluxo de trabalho que pode ser incorporada a um aplicativo web do usuário. O gerenciador do tempo de execução é o objeto raiz e contém os seguintes componentes:Runtime Engine- implementa o comportamento principal da linguagem do computador e é fornecido pelo gerenciador do tempo de execução.Process Engine- é o ambiente para a execução do modelo de processos empresariais.Task Service- controla os ciclos de vida das tarefas humanas.
Rule Engine- pode ser usado com o mecanismo de processos ou sozinho.Rules Evaluation- executa as regras empresariais no conjunto de fatos fornecido.Complex Event Processing- aplica as regras empresariais ao fluxo de eventos de entrada.
Business Central- aplicativo baseado na web que acomoda ferramentas para a criação, o gerenciamento e o monitoramento de ativos, fornecendo um ambiente web integrado.Asset Repository- é o local central de compartilhamento (Knowledge Store) para formulários, regras, processos, ativos empresariais e etc. Os usuários acessam esse repositório através do modo de exibição do Explorador de Projeto do Business Central via → . O produto inicializa, por padrão, um repositório local GIT como o seu Repositório de Ativos. No entanto, outros repositórios podem ser adicionados ou removidos, conforme necessário.Artifact Repository- é um repositório baseado no Maven para o armazenamento dos artefatos jar dos projetos.Execution Server- fornece um ambiente de execução para as tarefas e instâncias dos processos empresariais.Business Activity Monitor- fornece uma visão personalizada do desempenho empresarial.
Nota
1.2. Projeto Copiar o linkLink copiado para a área de transferência!
pom.xml), com informações sobre como construir o artefato de saída. Ele também contém o arquivo Descritor do Módulo, kmodule.xml, que contém a configuração da Base KIE e da Sessão KIE para os ativos no projeto.
1.3. Criando um Projeto Copiar o linkLink copiado para a área de transferência!
- Abra a perspectiva Criação de Projetos: no menu principal, clique em → .
- No Explorador de Projeto, selecione a unidade organizacional e o repositório onde você queira criar o projeto.
- No menu de perspectiva, vá até → .
- Na janela de diálogo Criar Novo Projeto, defina os detalhes do projeto:
- Na caixa de texto Projeto, insira o nome do projeto.
- O explorador atualiza-se para apresentar uma janela pop-up Novo Assistente de Projeto.
- Defina os detalhes de Configuração Geral do Projeto e Grupo Artefato Versão para esse novo projeto. Esses parâmetros são armazenados dentro do arquivo de configuração do Maven
pom.xml.- Nome do Projeto: o nome para o projeto, por exemplo
MortgageProject - Descrição do Projeto: a descrição do projeto, que pode ser útil para a documentação do projeto.
- ID do Grupo: a identidade do grupo, por exemplo
org.mycompany.commons - ID do Artefato: a identidade do artefato exlusiva no grupo, por exemplo
myframework. Evite usar espaço ou caracteres especiais que possam gerar um nome inválido. - ID da Versão: a versão do projeto, por exemplo
2.1.1
O modo de exibição da Tela do Projeto é atualizado com os novos detalhes do projeto, como definidos no arquivo pom.xml. Observe que você pode trocar os arquivos descritores do projeto na caixa suspensa por Configurações do Projeto e Configurações da Base de Conhecimento e editar seus conteúdos.
1.4. Adicionando Dependências Copiar o linkLink copiado para a área de transferência!
- Abra o Editor de Projetos para o projeto fornecido:
- No modo de exibição do Explorador de Projeto da perspectiva
Criação de Projeto, abra o diretório do projeto. - Clique no botão
para abrir o modo de exibição do projeto.
- No modo de exibição da Tela do Projeto, selecione o item Dependências na caixa suspensa Configurações do Projeto.
- Na Tela do Projeto atualizada, clique no botão para adicionar uma dependência maven ou clique no botão para adicionar uma dependência do Knowledge Store (repositório de artefatos):
- Ao adicionar uma dependência maven, o usuário precisa definir a ID do Grupo, a ID do Artefato e a ID da Versão na nova linha que foi criada na tabela de dependências.
- Ao adicionar uma dependência do Knowledge Store, selecione a dependência na caixa de diálogo exibida: a dependência será adicionada à tabela de dependências.
- Para aplicar as diversas alterações, as dependências devem ser salvas.
Atenção
Parte II. Configuração Copiar o linkLink copiado para a área de transferência!
Capítulo 2. Configuração do Business Central Copiar o linkLink copiado para a área de transferência!
DEPLOY_DIRECTORY/business-central.war/WEB-INF/web.xml e de seus arquivos referenciados, assim como do jboss-web.xml e jboss-deployment-structure.xml, caso sejam implantadas no Red Hat JBoss EAP 6.
2.1. Controle de Acesso Copiar o linkLink copiado para a área de transferência!
$JBOSS_HOME/standalone/deployments/business-central.war/WEB-INF/classes/userinfo.properties.
admin: administra o sistema JBoss BPM Suite e possui total direito de acesso para fazer quaisquer alterações necessárias, incluindo a habilidade de adicionar e remover os usuários do sistema.desenvolvedor: implementa os códigos necessários para os processos funcionarem e tem acesso a tudo, com exceção das tarefas de administração.analista: cria e projeta processos e formatos, instancia processos e implanta artefatos. Essa função é semelhante a do desenvolvedor, sem o acesso a repositórios de ativos e implantações.usuário: declara, desempenha e invoca outras ações (tais como, escalonamento, rejeição e etc.) nas tarefas atribuídas e não possui acesso às funções de criação.gerenciador: monitora o sistema e suas estatísticas e possui acesso somente ao painel.usuário de negócios: trabalha nas tarefas de negócios que são necessárias para dar continuidade aos processos. Trabalha principalmente com a lista de tarefas.
$JBOSS_HOME/add-user.sh e crie um Usário do Aplicativo em ApplicationRealm com as respectivas funções.
Configuração do Workbench
$JBOSS_HOME/standalone/deployments/business-central.war/WEB-INF/classes/workbench-policy.propeties.
standalone.xml no EAP.
Autenticação nas Tarefas Humanas
UserGroupCallback para atribuir tarefas ao usuário.
Atenção
2.2. Configuração do Perfil do Business Central Copiar o linkLink copiado para a área de transferência!
- Perfil completo - perfil padrão que é ativado sem necessitar de uma configuração adicional (IU e serviços remotos, ex. REST).
- Perfil do servidor de execução - desabilita completamente os componentes da IU do aplicativo e permite apenas o acesso remoto, ex. via a interface REST.
- Perfil do servidor da IU - desabilita os serviços remotos, ex. REST, e permite apenas o acesso à IU do aplicativo.
Procedimento 2.1. Configurando os Perfis do Business Central
- Selecione o
web.xmldesejado dentro do$BPMS_HOME/standalone/deployments/business-central.war/WEB-INF/. Os seguintes arquivos são fornecidos:web.xml(padrão) para perfil completoweb-exec-server.xmlpara o perfil do servidor de execuçãoweb-ui-server.xmlpara o perfil do servidor da IU
- Para ativar um perfil que não seja o perfil completo padrão, deve-se renomear o arquivo web-<PROFILE>.xml para
web.xml. Os passos a seguir demonstram uma maneira de habilitar o perfil do servidor de execução:- Faça o backup do arquivo
web.xmla partir do perfil completo:$ mv web.xml web-full.xml - Renomeie o arquivo
web-exec-server.xml:$ mv web-exec-server.xml web.xml
- Inicie o servidor do aplicativo com a propriedade adicional do sistema, instruindo o gerenciador do perfil a ativar o perfil especificado:
Dorg.kie.active.profile=full- para ativar o perfil completo ou ignorar a propriedade por completoDorg.kie.active.profile=exec-server- para ativar o perfil do servidor de execuçãoDorg.kie.active.profile=ui-server- para ativar o perfil do servidor da IU
2.3. Criando uma Marca para o Aplicativo Business Central Copiar o linkLink copiado para a área de transferência!
- Tela de loginVocê pode personalizar os seguintes atributos da tela de login do Business Central:
- A imagem de plano de fundo
- O logotipo da empresa
- O logotipo do aplicativo
- O cabeçalho do aplicativoVocê pode personalizar os seguintes atributos do cabeçalho do aplicativo Business Central:
- O cabeçalho do Business Central contendo o título e o logotipo do banner
- Janelas pop-up de ajudaVocê pode personalizar os seguintes atributos das janelas de pop-up de ajuda da tela inicial:
- As imagens de ajuda da tela inicial
- O texto do rótulo
2.3.1. Personalizando a Página de Login do Business Central Copiar o linkLink copiado para a área de transferência!
Procedimento 2.2. Alterando a Imagem de Plano de Fundo da Página de Login do Business Central
- Inicie o servidor EAP e abra http://localhost:8080/business-central em um navegador da web.
- Copie a nova imagem de plano de fundo no diretório
$EAP_HOME/standalone/deployments/business-central.war/imagesna sua instalação do JBoss BPM Suite. - Navegue até o diretório
$EAP_HOME/standalone/deployments/business-central.war/stylese abra o arquivologin-screen.cssem um editor de texto. - No arquivo
login-screen.css, forneça o local da sua nova imagem de plano de fundo no seguinte atributobackground-image.background-image: url("../images/login-screen-background.jpg");O atributobackground-imageaponta para a imagem padrãologin-screen-background.jpg.Além da imagem de plano de fundo, você também pode modificar outros atributos, tais como: o tamanho da imagem, a posição e a cor do plano de fundo no arquivologin-screen.css.
Procedimento 2.3. Alterando o Logotipo da Empresa na Página de Login do Business Central e o Logotipo do Projeto
- Inicie o servidor EAP e abra http://localhost:8080/business-central em um navegador da web.
- Naveque até o diretório
$EAP_HOME/standalone/deployments/business-central.war/imagesna sua instalação do JBoss BPM Suite. - Substitua a imagem padrão
login-screen-logo.pngpor uma nova imagem. Esse é o logotipo da empresa que aparece no canto superior direito da página de login. - Substitua a imagem padrão
RH_JBoss_BPMS_Logo.pngRH_JBoss_BRMS_Logo.pngpor uma nova imagem. Esse é o logotipo do projeto que aparece no lado central esquerdo da página de login.
2.3.2. Personalizando o Cabeçalho do Aplicativo Business Central Copiar o linkLink copiado para a área de transferência!
Procedimento 2.4. Alterando o Cabeçalho (Banner) do Aplicativo Business Central
- Inicie o servidor EAP e abra http://localhost:8080/business-central em um navegador da web.
- Faça o login no aplicativo Business Central com as suas credenciais de usuário.
- Copie a sua nova imagem de cabeçalho do aplicativo no diretório
$EAP_HOME/standalone/deployments/business-central.war/bannerna sua instalação do JBoss BPM Suite. - Abra o arquivo
$EAP_HOME/standalone/deployments/business-central.war/banner/banner.htmlem um editor de texto. - No arquivo
banner.html, edite a seguinte tag <img> para fornecer o nome da sua nova imagem de cabeçalho:<img src="banner/logo.png"/>A imagem padrão élogo.png.
2.3.3. Personalizando as Janelas de Ajuda da Tela Inicial Copiar o linkLink copiado para a área de transferência!
$EAP_HOME/standalone/deployments/business-central.war/plugins contém as páginas da tela inicial e seus arquivos html correspondentes. Cada página da tela inicial mantém o nome do arquivo html, o qual possui informações sobre a(s) imagem(s) e o texto a ser exibido. Por exemplo, a página da tela inicial authoring_perspective.splash.js aponta para o arquivo authoring_perspective.splash.html. authoring_perspective.splash.html contém os nomes e o local de todos os arquivos de imagem que aparecem na ajuda da tela inicial da Perspectiva de Criação, assim como as suas legendas. Você pode personalizar as imagens e as legendas correspondentes das janelas pop-up de ajuda da tela inicial existente.
Procedimento 2.5. Alterando as Legendas e as Imagens de Pop-Up de Ajuda da Tela Inicial
- Inicie o servidor EAP e abra http://localhost:8080/business-central em um navegador da web.
- Faça o login no aplicativo Business Central com as suas credenciais de usuário.
- Copie a(s) sua(s) nova(s) imagem(s) no diretório
$EAP_HOME/standalone/deployments/business-central.war/imagesna sua instalação do JBoss BPM Suite. - Abra o arquivo html correspondente a partir do diretório
$EAP_HOME/standalone/deployments/business-central.war/pluginsem um editor de texto. - Edite o arquivo html para apontar para a sua nova imagem de ajuda da tela inicial. Por exemplo, para alterar a primeira imagem que aparece na ajuda da tela inicial da Perspectiva de Criação, edite a seguinte tag <img> no arquivo
authoring_perspective.splash.htmlpara adicionar a sua nova imagem:<img src="images/authoring_perspective1.png" alt="">A imagem padrão éauthoring_perspective1.png, a qual aparece na primeira página de ajuda da tela inicial da Perspectiva de Criação. - Para alterar a legenda da imagem que aparece na ajuda da tela inicial, edite os conteúdos de tag <h4> e <p> abaixo da tag <img>:
<h4>Authoring</h4> <p>Modularized and customizable workbench</p>
2.4. Descritores de Implantação Copiar o linkLink copiado para a área de transferência!
META-INF do kjar chamado kmodule.xml pode ser usado para definir as sessões e bases de conhecimento. Este arquivo kmodule.xml, por padrão, fica vazio.
kmodule.xml para construir a representação do tempo de execução.
kmodule.xml. A presença desses descritores é opcional e sua implantação procederá sem eles com êxito. As propriedades que você pode definir usando esses descritores são puramente técnicas, em natureza, e incluem valores meta, como persistência, auditoria e estratégia de tempo de execução.
kie-deployment-descriptor.xml e deixar esse arquivo próximo ao seu arquivo kmodule.xml na pasta META-INF. Você pode mudar esse local padrão (e o nome do arquivo) ao especificá-lo como um parâmetro de sistema:
-Dorg.kie.deployment.desc.location=file:/path/to/file/company-deployment-descriptor.xml
2.4.1. Configuração dos Descritores de Implantação Copiar o linkLink copiado para a área de transferência!
- nível de servidor: é o nível principal e é aquele que se aplica a todos kjars implantados no servidor.
- nível kjar: permite que você configure os descritores com base em kjar.
- nível de tempo de implantação: descritores que são aplicados durante a implantação de um kjar.
Nota
NONE (Nenhum), mas esse mesmo modo estiver especificado como JPA no nível kjar, o modo, na verdade, será JPA para aquele kjar. Caso nada esteja especificado para o modo de persistência no descritor de implantação para esse kjar (ou caso não haja descritor de implantação algum), ele retrocederá para a configuração do nível de servidor, a qual é, nesse caso, NONE (Nenhum) (ou para JPA, caso não haja descritor de implantação do nível de servidor).
É possível substituir esse comportamento de modo de mesclagem hierárquica?
MERGE_COLLECTIONS. Mas, você pode alterá-lo (Seção 2.4.2, “Gerenciando os Descritores de Implantação”) para um dos seguintes modos, caso não seja adequado para o seu ambiente:
- KEEP_ALL: nesse modo, todos os valores de nível superior substituem todos os valores de nível inferior (os valores do nível do servidor substituem os valores do nível kjar)
- OVERRIDE_ALL: nesse modo, todos os valores de nível inferior substituem todos os valores de nível superior (os valores kjar substituem os valores do nível do servidor)
- OVERRIDE_EMPTY: nesse modo, todos os itens de configuração não vazia de níveis inferiores substituem aqueles em níveis superiores, incluindo os itens que estão representados como coleções.
- MERGE_COLLECTIONS (PADRÃO): nesse modo, todos os itens de configuração não vazia de níveis inferiores substituem aqueles de níveis superiores (como em OVERRIDE_EMPTY), mas as propriedades de coleção são mescladas (combinadas).
Preciso fornecer um Descritor de Implantação completo para todos os kjars?
O que pode ser configurado?
| Configuração | Entrada XML | Valores Permitidos | Valor Padrão |
|---|---|---|---|
| Nome da unidade de persistência para os dados de tempo de execução | persistence-unit | Qualquer nome de pacote de persistência válido | org.jbpm.domain |
| Nome da unidade de persistência para os dados de auditoria | audit-persistence-unit | Qualquer nome de pacote de persistência válido | org.jbpm.domain |
| Modo de persistência | persistence-mode | JPA, NENHUM | JPA |
| Mode de auditoria | audit-mode | JPA, JMS ou NENHUM | JPA |
| Estratégia de Tempo de Execução | runtime-strategy | SINGLETON, PER_REQUEST ou PER_PROCESS_INSTANCE | SINGLETON |
| Lista de Ouvintes de Evento a serem registrados | event-listeners | Nomes de classe de ouvintes válidos, como ObjectModel | Nenhum valor padrão |
| Lista de Ouvintes de Evento de Tarefa a serem registrados | task-event-listeners | Nomes de classe de ouvintes válidos, como ObjectModel | Nenhum valor padrão |
| Lista de Manipuladores de Itens de Trabalho a serem registrados | work-item-handlers | Classes de Manipuladores de Itens de Trabalho válidas fornecidas como NamedObjectHandler | Nenhum valor padrão |
| Lista de Globais a serem registradas | globals | Variáveis globais válidas fornecidas como NamedObjectModel | Nenhum valor padrão |
| Estratégias de marshalling a serem registradas (para persistências variáveis conectáveis) | marshalling-strategies | Classes ObjectModel válidas | Nenhum valor padrão |
| Funções necessárias que serão concedidas acesso aos recursos do kjar | required-roles | Nomes de funções de cadeia | Nenhum valor padrão |
| Entradas de Ambiente adicionais para a Sessão de Conhecimento | environment-entries | NamedObjectModel válido | Nenhum valor padrão |
| Opções de configuração adicionais da Sessão de Conhecimento | configurações | NamedObjectModel válido | Nenhum valor padrão |
Como fornecer valores para itens de configuração baseados em coleções?
ObjectModel ou NamedObjectModel. Ambos são semelhantes e fornecem uma definição do objeto a ser construído ou criado durante o tempo de execução, com exceção de que os detalhes do objeto NamedObjectModel nomeiam o objeto a ser observado. Esses dois tipos são definidos usando um identificador, parâmetros opcionais e um resolvedor (para resolver o objeto).
- identificador - define todas as informações sobre o objeto, tais como o nome de classe totalmente qualificado, a identidade Spring bean ou uma expressão MVEL.
- parâmetros - parâmetros opcionais que devem ser usados durante a criação de instâncias de objetos a partir deste modelo.
- resolvedor - identificador do resolvedor que será usado para criar instâncias de objetos a partir do modelo - (reflection, mvel ou Spring).
ObjectModel, com o identificador sendo com.mycompany.MyStrategy, o resolvedor sendo reflection (padrão e mais fácil) e quaisquer parâmetros necessários para a sua estratégia funcionar. O reflection será usado, então, para criar uma instância dessa estratégia usando o nome de classe totalmente qualificado que você forneceu como o identificador.
<marshalling-strategy>
<resolver>reflection</resolver>
<identifier>com.myCompany.MyStrategy</identifier>
<parameters>
<parameter xsi:type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema">
param
</parameter>
</parameters>
</marshalling-strategy>
<marshalling-strategy>
<resolver>mvel</resolver>
<identifier>new com.myCompany.CustomStrategy(runtimeManager)</identifier>
</marshalling-strategy>
<marshalling-strategy>
<resolver>spring</resolver>
<identifier>customStrategy</identifier>
</marshalling-strategy>
2.4.2. Gerenciando os Descritores de Implantação Copiar o linkLink copiado para a área de transferência!
META-INF no Explorador de Arquivo. Clique no arquivo kie-deployment-descriptor.xml para editá-lo manualmente.
kie-deployment-descriptor.xml é gerado com valores padrão como descritos anteriormente.
Substituindo o Comportamento de Modo de Mesclagem Hierárquica
- Defina a propriedade do sistema org.kie.dd.mergemode com um desses valores. Esse modo de mesclagem se tornará padrão para todos kjars implantados no sistema, ao menos que você o substitua em um nível kjar usando o próximo método.
- Quando implantando uma nova unidade de implantação através do Business Central ( → ), você pode selecionar o modo de mesclagem que deve ser usado para aquele kjar em particular.
- Quando estiver implantando via API REST, você pode adicionar o parâmetro de consulta mergemode ao comando URL para um desses modos e definir o modo de mesclagem para essa implantação.
Restringindo o acesso ao Mecanismo de Tempo de Execução
2.5. Gerenciando a Polícia de Substituição de Implantação Copiar o linkLink copiado para a área de transferência!
falsa por padrão. Altere-a para verdadeiro para habilitar a sobrescrição das implantações com o mesmo GAV durante o tempo de inicialização do seu servidor (-Dorg.kie.override.deploy.enabled=true).
2.6. Extendendo o Business Central Copiar o linkLink copiado para a área de transferência!
Gerenciamento de Plug-ins.
2.6.1. Gerenciamento de Plug-ins Copiar o linkLink copiado para a área de transferência!
Gerenciamento de Plug-ins clicando em → . Isso exibe a tela Plug-in Explorer que lista todos os plug-ins existentes sob suas perspectivas categorias: Plug-in de Perspectiva, Plug-in de Tela, Plug-in de Editor, Plug-in de Tela Inicial e Menu Dinâmico. Abra qualquer um desses plug-ins e você poderá ver os plug-ins existentes em cada categoria, incluindo os não editáveis gerados pelo sistema.
- Crie uma nova tela
- Crie uma nova perspectiva (e adicione a nova tela a ela)
- Crie um novo menu (e adicione uma nova perspectiva a ele)
- Aplicativos (opcional)
Adicionando uma nova tela
Nota
<div>My Hello World Screen</div>. Ele pode estar em qualquer código HTML e você pode usar as estruturas Angular e Knockout fornecidas. Para efeitos desse exemplo, não estamos usando nenhuma dessas estruturas, mas você pode escolher uma delas ao selecionar o menu suspenso na seção de Modelo.
main, on_close e on_open. Para essa demonstração, selecione on_open e insira o seguinte: function () { alert('Hello World'); }
Adicionando uma nova Perspectiva
6 6 no lado direito.
HelloWorldJS). Clique no botão e, então, clique no botão
para salvar essa perspectiva. Insira HelloWorldPerspective, insira Página Inicial no campo de nome da tag (e clique no botão ) e clique no botão para concluir o que foi salvo.
e insira o nome da perspectiva.
Adicionando um novo menu
Hello World.
Trabalhando com Aplicativos (Opcional)
HelloWorldPerspective, você inseriu a tag Página Inicial. O diretório de Aplicativos contém um único diretório, por padrão, chamado Página Inicial, ao qual você associou a sua perspectiva. E é onde você a encontrará quando abrir o diretório de Aplicativos. Você pode clicar nele para executar a perspectiva agora.
2.6.2. API JavaScript (JS) para Extensões Copiar o linkLink copiado para a área de transferência!
plug-ins do webapp do Business Central (geralmente: {INSTALL_DIR}/business-central.war/plugins/), ou carregada através das chamadas regulares JavaScript.
- API Register Perspective: permite a criação dinâmica das perspectivas. O exemplo abaixo cria um painel usando o método
registerPerspective:$registerPerspective({ id: "Home", is_default: true, panel_type: "org.uberfire.client.workbench.panels.impl.MultiListWorkbenchPanelPresenter", view: { parts: [ { place: "welcome", min_height: 100, parameters: {} } ], panels: [ { width: 250, min_width: 200, position: "west", panel_type: "org.uberfire.client.workbench.panels.impl.MultiListWorkbenchPanelPresenter", parts: [ { place: "YouTubeVideos", parameters: {} } ] }, { position: "east", panel_type: "org.uberfire.client.workbench.panels.impl.MultiListWorkbenchPanelPresenter", parts: [ { place: "TodoListScreen", parameters: {} } ] }, { height: 400, position: "south", panel_type: "org.uberfire.client.workbench.panels.impl.MultiTabWorkbenchPanelPresenter", parts: [ { place: "YouTubeScreen", parameters: {} } ] } ] } }); - API Editor: permite que você crie dinamicamente editores e os associe com um tipo de arquivo. O exemplo abaixo cria um editor de amostra e o associa com um tipo de arquivo
filename.Além dos métodos$registerEditor({ "id": "sample editor", "type": "editor", "templateUrl": "editor.html", "resourceType": "org.uberfire.client.workbench.type.AnyResourceType", "on_concurrent_update":function(){ alert('on_concurrent_update callback') $vfs_readAllString(document.getElementById('filename').innerHTML, function(a) { document.getElementById('editor').value= a; }); }, "on_startup": function (uri) { $vfs_readAllString(uri, function(a) { alert('sample on_startup callback') }); }, "on_open":function(uri){ $vfs_readAllString(uri, function(a) { document.getElementById('editor').value=a; }); document.getElementById('filename').innerHTML = uri; } });on_startupeon_openapresentados no exemplo anterior, a API expõe os seguintes eventos de retorno de chamada para o gerenciamento do ciclo de vida do editor:Você pode exibir esse editor através de um modelo html:- on_concurrent_update;
- on_concurrent_delete;
- on_concurrent_rename;
- on_concurrent_copy;
- on_rename;
- on_delete;
- on_copy;
- on_update;
- on_open;
- on_close;
- on_focus;
- on_lost_focus;
- on_may_close;
- on_startup;
- on_shutdown;
<div id="sampleEditor"> <p>Sample JS editor (generated by editor-sample.js)</p> <textarea id="editor"></textarea> <p>Current file:</p><span id="filename"></span> <button id="save" type="button" onclick="$vfs_write(document.getElementById('filename').innerHTML, document.getElementById('editor').value, function(a) {});">Save</button> <br> <p>This button change the file content, and uberfire send a callback to the editor:</p> <button id="reset" type="button" onclick="$vfs_write(document.getElementById('filename').innerHTML, 'Something else', function(a) {});">Reset File</button> </div> - API PlaceManager: os métodos dessa API permitem que você solicite ao Business Central a exibição de um componente em particular associado ao destino:
$goToPlace("componentIdentifier"); - API Register plu-in: os métodos dessa API permitem que você crie plug-ins dinâmicos (que serão transformados em telas do Business Central) via a API JS.O plug-in faz referência ao modelo
$registerPlugin( { id: "my_angular_js", type: "angularjs", templateUrl: "angular.sample.html", title: function () { return "angular " + Math.floor(Math.random() * 10); }, on_close: function () { alert("this is a pure JS alert!"); } });angular.sample.html:Um plug-in pode ser associado a eventos do Business Central através de uma série de chamadas de retorno JavaScript:<div ng-controller="TodoCtrl"> <span>{{remaining()}} of {{todos.length}} remaining</span> [ <a href="" ng-click="archive()">archive</a> ] <ul class="unstyled"> <li ng-repeat="todo in todos"> <input type="checkbox" ng-model="todo.done"> <span class="done-{{todo.done}}">{{todo.text}}</span> </li> </ul> <form ng-submit="addTodo()"> <input type="text" ng-model="todoText" size="30" placeholder="add new todo here"> <input class="btn-primary" type="submit" value="add"> </form> <form ng-submit="goto()"> <input type="text" ng-model="placeText" size="30" placeholder="place to go"> <input class="btn-primary" type="submit" value="goTo"> </form> </div>- on_concurrent_update;
- on_concurrent_delete;
- on_concurrent_rename;
- on_concurrent_copy;
- on_rename;
- on_delete;
- on_copy;
- on_update;
- on_open;
- on_close;
- on_focus;
- on_lost_focus;
- on_may_close;
- on_startup;
- on_shutdown;
- API Register splash screens: usa os métodos nessa API para criar telas iniciais
$registerSplashScreen({ id: "home.splash", templateUrl: "home.splash.html", body_height: 325, title: function () { return "Cool Home Splash " + Math.floor(Math.random() * 10); }, display_next_time: true, interception_points: ["Home"] }); - API Virtual File System (VFS): com essa API, você pode ler e gravar um arquivo salvo no sistema de arquivos usando uma chamada assíncrona.
$vfs_readAllString(uri, function(a) { //callback logic }); $vfs_write(uri,content, function(a) { //callback logic })
2.7. Configurando Colunas de Tabela Copiar o linkLink copiado para a área de transferência!
Adicionando e Removendo Colunas
no canto superior direito. Ao clicar nesse botão, uma lista das colunas que podem ser adicionadas ou removidas da atual tabela abrirá com uma caixa de verificação próxima a cada coluna:
Redimensionando Colunas
Movendo Colunas
.
.
Classificando Colunas
Capítulo 3. Configuração da Linha de Comando Copiar o linkLink copiado para a área de transferência!
kie-config-cli é uma ferramenta de configuração da linha de comando que fornece as capacidades para gerenciar o repositório do sistema a partir da linha de comando e pode ser usada em modo online ou offline.
Modo Online(padrão e recomendado) - mediante inicialização, a ferramenta conecta-se a um repositório Git usando um servidor Git fornecido porkie-wb. Todas as alterações são feitas localmente e enviadas para o upstream somente após a execução explícita do comando push-changes. Use o comando exit para publicar as alterações locais. Para descartar as alterações locais ao sair, use o comando discard.Modo Offline(um estilo de instalador) - cria e manipula o repositório do sistema diretamente no servidor (não há opção discard).
- Vá até o Portal do Consumidor Red Hat e faça o log in.
- Clique em → .
- Na página Downloads de Produtos que abrir, clique em Red Hat JBoss BPM Suite.
- A partir do menu suspenso Versão, selecione a versão 6.1.
- Na tabela exibida, navegue até a linha Ferramentas Suplementares e depois clique em Download.
kie-config-cli-6.MINOR_VERSION-redhat-x-dist com o arquivo kie-config-cli.sh.
3.1. Iniciando a Ferramenta kie-config-cli no Modo Online Copiar o linkLink copiado para a área de transferência!
- Para iniciar a ferramenta kie-config-cli no modo online, navegue até o diretório
kie-config-cli-6.MINOR_VERSION-redhat-x-distonde você instalou a ferramenta e, então, execute o comando a seguir. - Em um ambiente Unix, execute:
./kie-config-cli.shEm um ambiente Windows, execute:./kie-config-cli.bat
git://kie-wb-host:9148/system
3.2. Iniciando a Ferramenta kie-config-cli no Modo Offline Copiar o linkLink copiado para a área de transferência!
- Navegue até o diretório
kie-config-cli-6.MINOR_VERSION-redhat-x-distonde você instalou a ferramenta. - Em um ambiente Unix, execute:
./kie-config-cli.sh offlineEm um ambiente Windows, execute:./kie-config-cli.bat offline
.niogit) está localizado. Caso .niogit ainda não exista, o valor da pasta pode ser deixado vazio e uma nova configuração é criada.
3.3. Comandos Disponíveis para a Ferramenta kie-config-cli Copiar o linkLink copiado para a área de transferência!
add-deployment- adiciona uma nova unidade de implantaçãoadd-repo-org-unit- adiciona um repositório à unidade organizacionaladd-role-org-unit- adiciona funções a uma nova unidade organizacionaladd-role-project- adiciona funções a um projetoadd-role-repo- adiciona funções a um repositóriocreate-org-unit- cria uma nova unidade organizacionalcreate-repo- cria um novo repositório gitdiscard-não publica alterações locais, limpa diretórios temporários e fecha a ferramentaexit- publica o trabalho, limpa os diretórios temporários e fecha a ferramentafetch-changes- busca alterações a partir do repositório upstreamhelp- imprime os comandos disponíveis com descriçõeslist-deployment- lista as implantações disponíveislist-org-units- lista as unidades organizações disponíveislist-repo- lista os repositórios disponíveispush-changes- envia alterações por push para o repositório upstream (em modo online apenas)remove-deployment- remove implantações existentesremove-org-unit- remove unidades organizacionais existentesremove-repo- remove um repositório existente da config apenasremove-repo-org-unit- remove um repositório da unidade organizacionalremove-role-org-unit- remove funções de uma unidade organizacionalremove-role-project- remove funções de um projetoremove-role-repo- remove funções de um repositório
Capítulo 4. Migração Copiar o linkLink copiado para a área de transferência!
- Migrar primeiro os dados: eles são os seus ativos empresariais.
- Migrar, em seguida, os processos do tempo de execução.
- E, por fim, converter as chamadas API antigas em novas, uma por uma.
4.1. Migração dos Dados Copiar o linkLink copiado para a área de transferência!
- Baixe a ferramenta de migração fazendo o login no Portal do Consumidor Red Hat e, depois, navegue até a seção de Downloads de Software do Red Hat JBoss BPM Suite. Clique em Red Hat JBoss BPM Suite Migration Tool para baixar o arquivo zip.
- Descomprima o arquivo zip baixado em um diretório de sua escolha e navegue até esse diretório em um prompt de comando. Esse diretório contém quatro pastas:
bin- contém os scripts de inicializaçãojcr-exporter-libs- contém as bibliotecas específicas à parteexport-from-JCRda migração.vfs-importer-libs- contém as bibliotecas específicas à parteimport-into-Gitda migração.conf- contém a configuração global da ferramenta de migração.
- Para os bancos de dados de produção, copie o driver JDBC no banco de dados utilizado pelo repositório JCR no diretório
jcr-exporter-libsda ferramenta de migração. - Execute os seguintes comandos:
./bin/runMigration.sh -i <source-path> -o <destination-path> -r <repository-name>
- <source-path> é um caminho para um repositório JCR fonte.
- <desintation-path> é um caminho para um destino GIT VFS. Essa pasta não deve existir ainda.
- <repository-name> é um nome arbitrário para o novo repositório.
-i, você também pode usar -h, para imprimir uma mensagem de ajuda, e -f, para forçar a substituição do diretório de saída, eliminando, assim, a necessidade de excluir manualmente esse diretório.
Importando o repositório no Business Central
Nota
Importando o repositório no JBDS
- Inicie o JBoss Developer Studio.
- Inicie o Red Hat JBoss BPM Suite Server (caso não esteja em execução ainda) selecionando o servidor através da guia servidor e clique no ícone iniciar.
- Selecione → e navegue até a pasta Git. Abra a pasta Git para selecionar os e clique em avançar.
- Selecione a origem do repositório como e clique em avançar.
- Selecione o repositório a ser configurado a partir da lista dos repositórios disponíveis.
- Importe o projeto como um projeto geral na próxima janela e clique em avançar. Nomeie este projeto e clique em Concluir.
4.2. Migração do Tempo de Execução Copiar o linkLink copiado para a área de transferência!
- Defina a propriedade do sistema
jbpm.v5.id.strategycomo verdadeira no arquivostandalone.xmldo JBoss BPM Suite:<property name="jbpm.v5.id.strategy" value="true"/> - Carregue KieSession como demonstrado aqui:
KieSession ksession = JPAKnowledgeService.loadStatefulKnowledgeSession(sessionID, kbase, sessionConf, env); - Continue a execução normal do processo usando métodos KieSession:
ksession.signalEvent("SomeEvent", null);
4.3. Compatibilidade com Versões Anteriores e API Copiar o linkLink copiado para a área de transferência!
Migrando para a Versão 6.1
knowledge-api JAR não possui mais suporte na versão 6.1 e foi substituído pelas APIs contidas no arquivo kie-api JAR que foram introduzidas no JBoss BPM Suite 6.0.
knowledge-api.jar), por favor migre (reescreva) as chamadas da API para a nova APIKIE . Por favor, esteja ciente de que outras APIs foram alteradas entre o JBoss BRMS 5.x e o JBoss BPM Suite 6.x, como a API de serviço de tarefas e a API REST.
Migrando para a Versão 6.0
knowledge-api criado especificamente para o código de compatibilidade retroativa. Essa API é uma interface pública, capaz de funcionar com o JBoss BPM Suite e o JBoss BRMS e é compatível com versões anteriores.
4.4. Migrando o Serviço de Tarefas Copiar o linkLink copiado para a área de transferência!
LocalHTWorkItemHandler.
Capítulo 5. Gerenciamento de Dados Copiar o linkLink copiado para a área de transferência!
5.1. Backup de dados Copiar o linkLink copiado para a área de transferência!
- quaisquer descritores de implantação personalizados (tais como,
web.xml,jboss-web.xml,jboss.xml) - quaisquer arquivos de propriedades personalizadas
Nota
Considere fazer o backup completo dos arquivosbusiness-central.waredashbuilder.war
5.2. Configuração de Índices Copiar o linkLink copiado para a área de transferência!
Configure os índices de chaves estrangeiras
Configure os índices para o Painel de Tarefas e de Processos
processinstancelog e bamtasksummary.
5.3. Configurando o Banco de Dados Copiar o linkLink copiado para a área de transferência!
- Postgres
- A frase sql a seguir é usada para criar um banco de dados Postgres:
CREATE DATABASE dashbuilder WITH ENCODING='UTF8' OWNER=dashbuilder CONNECTION LIMIT=-1Nota
A codificação do banco de dados deve ser UTF8 - DB2
- O banco de dados DB2 pode ser criado usando a frase sql a seguir:
CREATE DATABASE dashb PAGESIZE 16384Nota
O tamanho da página (pagesize) padrão para os sistemas DB2 é 4k, o que não é suficiente para o tamanho das colunas da tabela do Dashbuilder. O tamanho da página deve ser forçado para 16384, como apresentado na frase acima.
<datasource jndi-name="java:jboss/datasources/jbpmDS" enabled="true" use-java-context="true" pool-name="postgresqlDS">
<connection-url>jdbc:postgresql://localhost/test</connection-url>
<driver>postgresql</driver>
<pool></pool>
<security>
<user-name>sa</user-name>
<password>sa</password>
</security>
</datasource>
<drivers>
<driver name="postgresql" module="org.postgresql">
<xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class>
</driver>
</drivers>
5.4. Editando o Banco de Dados Copiar o linkLink copiado para a área de transferência!
java:jboss/datasources/ExampleDS
standalone.xml.
Nota
Procedimento 5.1. Alterando o Banco de Dados
- Instale o driver do banco de dados no JBoss (consulte a documentação do driver JBoss).
- Crie um banco de dados e uma fonte de dados JBoss que conecta-se ao driver do banco de dados.
- Modifique o arquivo
dashbuilder.war/WEB-INF/jboss-web.xml:<jboss-web> <context-root>/dashbuilder</context-root> <resource-ref> <res-ref-name>jdbc/dashbuilder</res-ref-name> <res-type>javax.sql.DataSource</res-type> <jndi-name>java:jboss/datasources/myDataSource</jndi-name> </resource-ref> ... - Substitua o valor do parâmetro jndi-name pelo caminho JNDI da fonte de dados JBoss que você criou.
- Modifique o arquivo
dashbuilder.war/WEB-INF/jboss-deployment-structure.xml - Adicione o seguinte trecho de configuração à tag
deployment, ondejdbcDriverModuleNameé o nome do módulo do driver JBoss JDBC:<dependencies> <module name="jdbcDriverModuleName" /> </dependencies>
5.5. Scripts DDL Copiar o linkLink copiado para a área de transferência!
ddl-scripts. Os scripts do banco de dados são fornecidos para DB2, H2, MySQL5, Oracle, PostgreSQL e SQLServer.
Capítulo 6. Repositório de Ativos Copiar o linkLink copiado para a área de transferência!
Explorador de Projeto do ambiente unificado do Red Hat JBoss BPM Suite.
6.1. Criando um Repositório Copiar o linkLink copiado para a área de transferência!
Importante
ADMIN pode criar um repositório.
Procedimento 6.1. Criando um novo repositório
- Abra a perspectiva Administração: no menu principal, clique em → .
- No menu de perspectiva, clique em → .
- A janela pop-up Criar Repositório é exibida.
Figura 6.1. Janela Pop-up Criar Repositório
- Insira os detalhes mandatórios:
- Nome do repositório.
Nota
Observe que o nome do repositório deve ser um nome de arquivo válido. Evite usar espaço ou caracteres especiais que possam gerar um nome de pasta inválido. - Selecione a unidade organizacional na qual o repositório será criado a partir da opção suspensa Unidade Organizacional.
- Clique em Concluir
6.2. Clonando um Repositório Copiar o linkLink copiado para a área de transferência!
Importante
ADMIN pode clonar um repositório.
Procedimento 6.2. Clonando um Repositório
- Abra a perspectiva Administração.
- No menu Repositórios, selecione .
- A janela pop-up Clonar Repositório é exibida.
Figura 6.2. Janela Pop-up Clonar Repositório
- Na janela de diálogo Clonar Repositório, insira os detalhes do repositório:
- Insira o Nome do Repositório a ser usado como o identificador do repositório no Repositório de Ativos e selecione a Unidade Organizacional onde ele deve ser adicionado.
- Insira o URL do repositório GIT:
- Para um Repositório Local:
file:///path-to-repository/reponame - Para um Repositório remoto ou preexistente:
git://hostname/reponame
Nota
O protocolo do arquivo possui suporte somente para as operações de 'LEITURA'. As operações de 'GRAVAÇÃO' não possuem suporte. - Se necessário, insira o Nome do Usuário e a Senha usados para autenticação, quando clonando o repositório.
- Clique em Clonar.
- Um prompt de confirmação com o botão OK será exibido, notificando o usuário de que o repositório foi criado com êxito. Clique em OK. O repositório será indexado. Alguns recursos do workbench estarão indisponíveis até que a indexação esteja completa.
6.3. Removendo um Repositório Copiar o linkLink copiado para a área de transferência!
Removendo um Repositório do Business Central
Procedimento 6.3. Usando o Business Central para Remover um Repositório
- Acesse o no Business Central → .
- Selecione do menu de árvore à esquerda.
- No à direita, localize o repositório a ser excluído da lista dos repositórios disponíveis.
- Selecione do menu suspenso e clique no botão .
- A seguinte mensagem aparecerá:
Você tem certeza que deseja remover o Repositório "<$RepositoryName>"? Alguns editores podem tornar-se inoperáveis caso seus conteúdos estejam inacessíveis.Pressione para excluir.
Removendo um Repositório Usando a Ferramenta kie-config-cli
kie-config-cli através do comando remove-repo.
kie-config-cli, consulte Capítulo 3, Configuração da Linha de Comando .
Removendo um Repositório Usando API REST
DELETE REST API. Esse chamado baseia-se na criação de uma sessão HTTP autenticada pelo usuário antes de emitir esse comando.
Exemplo 6.1. Removendo um repositório usando curl
curl -H 'Accept: application/json' -H 'Content-Type: application/json' -X DELETE 'localhost:8080/business-central/rest/repositories/REPOSITORY_NAME'
6.4. Gerenciando Ativos Copiar o linkLink copiado para a área de transferência!
Nota
kiemgmt.
Repositórios Gerenciados e Não Gerenciados
Ramificações Gerenciadas
Estrutura do Repositório
kiemgmt, terá uma tarefa de usuário aparecendo nessa lista de tarefas para revisar os ativos sendo promovidos. Esse usuário pode declarar essa tarefa e decidir por promover todos, alguns ou nenhum ativo. O processo subjacente irá promover um cherry-pick das confirmações selecionadas pelo usuário para uma ramificação de lançamento. Esse usuário também pode solicitar uma outra revisão desses ativos e esse processo pode ser repetido múltiplas vezes até que todos os ativos estejam prontos para o lançamento. O fluxo desse processo é apresentado abaixo:
Atenção
lançar (release)
6.5. Repositório do Maven Copiar o linkLink copiado para a área de transferência!
- Compilações
- Documentações
- Notificações
- Dependências
- Lançamentos
- SCMs
- Distribuições
- Local: refere-se a um repositório local onde todas as dependências do projeto são armazenadas e está localizado junto à instalação atual na pasta padrão como "m2". Trata-se de um cache de downloads remotos que também possui os artefatos de compilação temporária, os quais não foram ainda lançados.
- Remoto: refere-se a qualquer outro tipo de repositório que possa ser acessado por uma variedade de protocolos, tais como file:// or http://. Esses repositórios podem estar em um local remoto, configurados por terceiros, para o download de artefatos, ou em um repositório interno configurado em um arquivo ou servidor HTTP, usado para compartilhar artefatos privados entre as equipes de desenvolvimento para o gerenciamento de lançamentos internos.
6.6. Configurando Implantações em um Repositório Remoto Nexus Copiar o linkLink copiado para a área de transferência!
distributionManagement ao arquivo pom.xml do seu projeto, como demonstrado no exemplo de código abaixo.
<distributionManagement>
<repository>
<id>deployment</id>
<name>Internal Releases</name>
<url>http://your_nexus_host:8081/nexus/content/repositories/releases</url>
</repository>
<snapshotRepository>
<id>deployment</id>
<name>Internal Releases</name>
<url>http://your_nexus_host:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
snapshotRepository é usado quando o qualificador -SNAPSHOT é anexado ao número da versão atual do projeto. Em outras situações, o repositório especificado no elemento repository é usado.
settings-security.xml, usando uma senha mestra. Por padrão, esse arquivo fica na pasta ~/.m2, a menos que você tenha mudado a sua localização ao alterar as propriedades do sistema kie.maven.settings.custom.
<servers>
<server>
<id>deployment</id>
<username>admin</username>
<password>admin.123</password>
</server>
</servers>
pom.xml.
6.7. Configuração do Sistema Copiar o linkLink copiado para a área de transferência!
Procedimento 6.4. Alterando as Propriedades do Sistema
- Edite o arquivo
$JBOSS_HOME/domain/configuration/host.xml - Localize o servidor dos elementos XML que pertencem a main-server-group e adicione as propriedades do sistema. Por exemplo:
<system-properties> <property name="org.uberfire.nio.git.dir" value="..." boot-time="false"/> ... </system-properties>
org.uberfire.nio.git.dir: Local do diretório .niogit. Padrão: diretório de trabalhoorg.uberfire.nio.git.daemon.enabled: Habilita/desabilita GIT daemon. Padrão: verdadeiroorg.uberfire.nio.git.daemon.host: Caso GIT daemon seja habilitado, use essa propriedade como o identificador localhost. Padrão: localhostorg.uberfire.nio.git.daemon.port: Caso GIT daemon seja habilitado, use essa propriedade como o número da porta. Padrão: 9418org.uberfire.nio.git.ssh.enabled: Habilita/Desabilita SSH daemon. Padrão: verdadeiroorg.uberfire.nio.git.ssh.host: Caso SSH daemon seja habilitado, use essa propriedade como o identificador localhost. Padrão: localhostorg.uberfire.nio.git.ssh.port: Caso SSH daemon seja habilitado, use essa propriedade como o número da porta. Padrão: 8001org.uberfire.nio.git.ssh.cert.dir: Local do diretório.securityonde os certificados locais serão armazenados. Padrão: diretório de trabalhoorg.uberfire.metadata.index.dir: Local da pasta.indexpara Lucene. Padrão: diretório de trabalhoorg.uberfire.cluster.id: Nome do cluster Helix, por exemplo: kie-clusterorg.uberfire.cluster.zk: Cadeia de caracteres de conexão ao Zookeeper. Está no formato dehost1:port1,host2:port2,host3:port3. Por exemplo:localhost:2188.org.uberfire.cluster.local.id: Id exclusiva do nó do cluster Helix. Observe que ':' é substituído por '_'. Por exemplo: node1_12345.org.uberfire.cluster.vfs.lock: Nome do recurso definido no cluster Helix, por exemplo: kie-vfsorg.uberfire.cluster.autostart: Atrasa a clusterização VFS até que o aplicativo seja totalmente iniciado, evitando conflitos quando todos os membros do cluster criam clones locais. Padrão: falsoorg.uberfire.sys.repo.monitor.disabled: Desabilita o monitor de configuração (por favor, não desabilite, ao menos que tenha certeza do está fazendo). Padrão: falso.org.uberfire.secure.key: Senha secreta usada pela criptografia de senha. Padrão: org.uberfire.adminorg.uberfire.secure.alg: Algoritmo criptografado usado pela criptografia de senha. Padrão: PBEWithMD5AndDESorg.guvnor.m2repo.dir: Lugar onde a pasta do repositório do Maven será armazenada. Padrão: working-directory/repositories/kieorg.kie.example.repositories: Pasta de onde os repositórios de demonstração serão clonados. Os repositórios de demonstração precisam ser obtidos e colocados nessa pasta. Essa propriedade do sistema tem prioridade sobre as propriedades org.kie.demo e org.kie.example. Padrão: não usado.org.kie.demo: Habilita os clones externos de um aplicativo de demonstração do GitHub. Essa propriedade do sistema tem prioridade sobre org.kie.example. Padrão: verdadeiro.org.kie.example: Habilita a estrutura de exemplo composta pelo Repositório, pela Unidade de Organização e pelo Projeto. Padrão: falso.
Capítulo 7. Importação e Exportação de Processos Copiar o linkLink copiado para a área de transferência!
7.1. Criando uma Definição de Processo Copiar o linkLink copiado para a área de transferência!
- Abra a perspectiva Criação de Projeto ( → ).
- No
Explorador de Projeto( → ), navegue até o projeto onde você deseja criar a definição do processo (no modo de exibição do Projeto, selecione o respectivo repositório e projeto nas listas suspensas; no modo de exibição do Repositório, navegue até o diretórioREPOSITORY/PROJECT/src/main/resources/).Nota
É recomendável criar os seus recursos, incluindo as suas definições de processos, em um pacote de um projeto para permitir a importação dos recursos e de suas referências. Para criar um pacote, siga as instruções a seguir:- No modo de exibição do Repositório do Explorador de Projeto, navegue até o diretório
REPOSITORY/PROJECT/src/main/resources/. - Vá até → .
- Na caixa de diálogo Novo recurso, defina o nome do pacote e verifique o local do pacote no repositório.
- A partir do menu de perspectiva, vá até → .
- Na caixa de diálogo Novos Processos, insira o nome do processo e clique em . Aguarde até que o Editor do Processo apareça com o diagrama do processo.
7.2. Importando uma Definição de Processo Copiar o linkLink copiado para a área de transferência!
- No Explorador de Projeto, selecione um projeto e o respectivo pacote para o qual você deseja importar a definição do processo.
- Crie um novo Processo Empresarial para trabalhar indo até → .
- Na barra de ferramentas do Designer de Processos, clique no ícone Importar
na barra de ferramentas do editor e selecione o formato da definição do processo importado. Observe que você deve optar por sobrescrever a definição do processo existente para poder importar.
- A partir da janela Importar, localize o arquivo do processo e clique em .
Figura 7.1. Importar Janela
7.3. Importando jPDL 3.2 para BPMN2 Copiar o linkLink copiado para a área de transferência!
Figura 7.2. Migrar jPDL 3.2 para BPMN2
Figura 7.3. Caixa de diálogo Migrar para BPMN2
Importante
7.4. Exportando um Processo Copiar o linkLink copiado para a área de transferência!
Procedimento 7.1. Exportando um processo empresarial
- Abra a perspectiva Criação de Projetos: no menu principal, clique em → .
- Selecione o processo empresarial a ser exportado para visualizá-lo no Designer de Processos.
- Clique no botão (
) da barra de ferramentas do designer de processos e selecione Exibir as Fontes do Processo a partir das opções suspensas.
- A janela Fontes do Processo é exibida.
- Clique no botão Baixar BPMN2 e salve o processo empresarial no local desejado.
Parte III. Integração Copiar o linkLink copiado para a área de transferência!
Capítulo 8. Implantando os Artefatos do Red Hat JBoss BPM Suite no Repositório S-RAMP (SOA Repository Artifact Model and Protocol) Copiar o linkLink copiado para a área de transferência!
8.1. Implantando os Artefatos do Red Hat JBoss BPM Suite no Repositório S-RAMP Usando Maven Copiar o linkLink copiado para a área de transferência!
pom.xml, como apresentado abaixo:
<build>
<extensions>
<extension>
<groupId>org.overlord.sramp</groupId>
<artifactId>s-ramp-wagon</artifactId>
<version>${s-ramp-wagon.version}</version>
</extension>
</extensions>
</build>
- Clone o repositório git onde você salvou o projeto BPM Suite executando o seguinte comando:
git clone http://localhost:8001/REPOSITORY_NAME - Na linha de comando, mova para a pasta que contém o projeto.
- Siga as instruções em Red Hat JBoss Fuse Service Works 6 Development Guide, Volume 3: Governance, na seção Implantando no S-RAMP (Deploying to S-RAM). Use o URL do exemplo abaixo:Com esses parâmetros de configuração, as implantações do Maven são enviadas diretamente para o repositório S-RAM, usando o API S-RAMP. Observe que os artefatos são adicionados ao repositório S-RAM com um tipo de artefato baseado no tipo Maven do projeto. Você pode substituir esse comportamente ao adicionar um parâmtero de consulta ao repositório URL no arquivo
<distributionManagement> <repository> <id>local-sramp-repo</id> <name>S-RAMP Releases Repository</name> <url>sramp://S-RAMP_SERVER_URL/s-ramp-server/</url> </repository> <snapshotRepository> <id>local-sramp-repo-snapshots</id> <name>S-RAMP Snapshots Repository</name> <url>sramp://S-RAMP_SERVER_URL/s-ramp-server/</url> </snapshotRepository> </distributionManagement>pom.xml. Por exemplo:O exemplo acima faz com que o artefato do Maven seja carregado com um tipo de artefato S-RAMP de KieJarArchive.<distributionManagement> <repository> <id>local-sramp-repo</id> <name>S-RAMP Releases Repository</name> <url>sramp://S-RAMP_SERVER_URL/s-ramp-server/?artifactType=KieJarArchive</url> </repository> </distributionManagement> - Corrija o plug-in do maven no arquivo
pom.xmle adicione a ele uma dependência como a seguir, no caso do projeto não conter as tabelas de decisão:Caso o projeto contenha tabelas de decisão, use essa dependência para o kie-maven-plugin:<plugins> <plugin> <groupId>org.kie</groupId> <artifactId>kie-maven-plugin</artifactId> <version>6.0.2-redhat-6</version> <extensions>true</extensions> <dependencies> <dependency> <groupId>org.jbpm</groupId> <artifactId>jbpm-bpmn2</artifactId> <version>6.0.2-redhat-6</version> </dependency> </dependencies> </plugin> </plugins><plugins> <plugin> <groupId>org.kie</groupId> <artifactId>kie-maven-plugin</artifactId> <version>6.0.2-redhat-6</version> <extensions>true</extensions> <dependencies> <dependency> <groupId>org.drools</groupId> <artifactId>drools-decisiontables</artifactId> <version>6.0.2-redhat-6</version> </dependency> </dependencies> </plugin> </plugins> - Execute uma implantação limpa do maven usando o seguinte comando:.
mvn -s sramp-settings.xml deploy
Nota
settings.xml. Para mais detalhes sobre credenciais, consulte a documentação sobre Autenticação em Red Hat JBoss Fuse Service Works (FSW).
8.2. Implantando os Artefatos do Red Hat JBoss BPM Suite no Repositório S-RAMP Usando a Interface Gráfica do Usuário (GUI) Copiar o linkLink copiado para a área de transferência!
- Em um navegador da web, navegue até http://localhost:8080/s-ramp-ui/. Se a interface do usuário tiver sido configurada para executar a partir de um nome de domíno, substitua
localhostpelo nome de domínio. Por exemplo, http://www.example.com:8080/s-ramp-ui/. - Clique em .
- Na seção Gerenciar Artefatos, selecione .
- Localize o arquivo kie que você queira implantar. Na caixa de diálogo que abrir, preencha
KieJarArchivecomo o tipo e selecione . - A implantação, então, cria estas entradas no repositório S-RAMP:
KieJarArchive, da qual derivam-se:KieXmlDocument(caso o arquivo contenhakmodule.xml)BpmnDocument(caso o arquivo contenha definiçõesbpmn)DroolsDocument(caso o arquivo contenha definiçõesdrl)
Capítulo 9. Integrando o Red Hat JBoss BPM Suite ao Red Hat JBoss Fuse Copiar o linkLink copiado para a área de transferência!
features.xml: um fornecendo os recursos principais do JBoss BPM Suite e JBoss BRMS, o qual define os recursos OSGi que podem ser implantados no JBoss Fuse, e o outro fornecendo um suporte adicional à integração ao SwitchYard e Camel.
Nota
Importante
drools-karaf-features-6.2.0.Final-redhat-6-BZ1232486-features.xml:
- drools-common
- drools-module
- drools-templates
- drools-decisiontable
- drools-jpa
- kie
- kie-ci
- kie-spring
- kie-aries-blueprint
- jbpm-commons
- jbpm-human-task
- jbpm
- droolsjbpm-hibernate
- h2
| Recurso | Caso de Uso |
|---|---|
drools-module | Usa o mecanismo JBoss BRMS para a avaliação de regras, sem necessidade de persistências, processos ou tabelas de decisão. |
drools-jpa | Usa o mecanismo JBoss BRMS para a avaliação de regras com persistências e transações mas, sem necessidade de processos ou tabelas de decisão. O recurso drools-jpa já inclui drools-module, no entanto você também pode precisar de instalar o recurso droolsjbpm-hibernate ou verificar se um pacote Hibernate compatível foi instalado. |
drools-decisiontable | Usa o mecanismo JBoss BRMS com tabelas de decisão. |
jbpm | Usa o JBoss BPM Suite (ou o mecanismo JBoss BRMS com processos). O recurso jbpm já inclui drools-module e drools-jpa. Você também pode precisar de instalar o recurso droolsjbpm-hibernate ou verificar se um pacote Hibernate compatível foi instalado. |
jbpm e jbpm-human-task | Usa o JBoss BPM Suite (ou o mecanismo JBoss BRMS com processos) com Tarefas Humanas. |
mecanismos principais jars e kie-ci. | Usa o JBoss BRMS ou JBoss BPM Suite com KieScanner (KIE-CI) para baixar kJARs de um repositório do Maven. |
kie-spring | Usa a integração do KIE-Spring. |
kie-spring e kie-aries-blueprint. | Usa a integração do KIE-Aries-Blueprint. |
org/jboss/integration/fuse/karaf-features/1.0.0.redhat-620137/karaf-features-1.0.0.redhat-620137-features.xml:
- fuse-bxms-switchyard-common-knowledge
- fuse-bxms-switchyard-rules
- fuse-bxms-switchyard-bpm
- kie-camel
- jbpm-workitems-camel
installDir/etc/org.ops4j.pax.url.mvn.cfg.
9.1. Instale/ Atualize os Recursos Principais de Integração Copiar o linkLink copiado para a área de transferência!
drools-karaf-features-6.2.0.Final-redhat-6-features.xml), você precisará removê-los assim como todos os seus arquivos associados antes de instalar o arquivo mais recente features.xml.
Procedimento 9.1. Removendo uma Instalação drools-karaf-features Existente
- Inicie o console Fuse usando:
$ ./installDir/bin/fuse - Desinstale recursos/ aplicativos antigos que usavam o arquivo
features.xmlanterior. Por exemplo:JBossFuse:karaf@root> features:uninstall drools-module JBossFuse:karaf@root> features:uninstall jbpm JBossFuse:karaf@root> features:uninstall kie-ci - Pesquise por referências de pacotes usando drools/kie/jbpm e remova-as:
list -t 0 -s | grep drools list -t 0 -s | grep kie list -t 0 -s | grep jbpmPara remover os pacotes:karaf@root> osgi:uninstall <BUNDLE_ID> - Remova o url drools-karaf-features antigo:
karaf@root> features:removeurl mvn:org.drools/drools-karaf-features/6.2.0.Final-redhat-<VERSION>/xml/features - Reinicie Fuse
- Adicione o novo arquivo de recursos:
karaf@root> features:addurl mvn:org.drools/drools-karaf-features/6.2.0.Final-redhat-6-BZ1232486/xml/features - Instale os recursos:
karaf@root> features:install ...
drools-karaf-features:
Procedimento 9.2. Instale os recursos principais do JBoss BPM Suite e JBoss BRMS
- Baixe e instale a correção.
- Baixe
jboss-brms-6.1.1-BZ-1232486.zip. - Descompacte-o.
- Navegue até o diretório
BZ-1232486descompactado. - Execute o seguinte comando de console:
$ mvn org.apache.maven.plugins:maven-install-plugin:2.5.2:install-file -Dfile=drools-karaf-features-6.2.0.Final-redhat-6-BZ1232486-features.xml -DgroupId=org.drools -DartifactId=drools-karaf-features -Dversion=6.2.0.Final-redhat-6-BZ1232486 -Dpackaging=xml -Dclassifier=features
- Configure os repositórios necessários:
- Edite o arquivo
installDir/etc/org.ops4j.pax.url.mvn.cfgna sua instalação do JBoss Fuse e adicione a seguinte entrada à variávelorg.ops4j.pax.url.mvn.repositories, observe que as entradas são separadas por ‘, \’:- http://maven.repository.redhat.com/techpreview/all/@id=bxms-product-repo
- Inicie o JBoss Fuse:
$ ./installDir/bin/fuse - Adicione uma referência ao arquivo dos recursos principais executando o seguinte comando de console:
JBossFuse:karaf@root> features:addurl mvn:org.drools/drools-karaf-features/6.2.0.Final-redhat-6-BZ1232486/xml/features - Você pode instalar, agora, os recursos fornecidos por este arquivo executando, por exemplo, o seguinte comando de console:
JBossFuse:karaf@root> features:install drools-module
9.2. Instale os Recursos Adicionais de Integração Copiar o linkLink copiado para a área de transferência!
Importante
Procedimento 9.3. Integração do SwitchYard e Camel
- Adicione uma referência ao arquivo dos recursos para uma integração adicional com o SwitchYard e Camel executando o seguinte comando de console:
JBossFuse:karaf@root> features:addurl mvn:org.jboss.integration.fuse/karaf-features/1.0.0.redhat-620137/xml/features - Você pode instalar, agora, os recursos fornecidos pela integração do SwitchYard e Camel executando, por exemplo, o seguinte comando de console:
JBossFuse:karaf@root> features:install fuse-bxms-switchyard-rules
9.3. Instale os Aplicativos de Início Rápido de Integração do JBoss Fuse Copiar o linkLink copiado para a área de transferência!
org/jboss/integration/fuse/quickstarts/karaf-features/1.0.0.redhat-620137/karaf-features-1.0.0.redhat-620137-features.xml:
- fuse-bxms-switchyard-quickstart-bpm-service
- fuse-bxms-switchyard-quickstart-remote-invoker
- fuse-bxms-switchyard-quickstart-rules-camel-cbr
- fuse-bxms-switchyard-quickstart-rules-interview
- fuse-bxms-switchyard-quickstart-rules-interview-container
- fuse-bxms-switchyard-quickstart-rules-interview-dtable
- fuse-bxms-switchyard-demo-library
- fuse-bxms-switchyard-demo-helpdesk
installDir/etc/org.ops4j.pax.url.mvn.cfg.
Procedimento 9.4. Instalando o Aplicativo de Início Rápido
- Adicione uma referência ao arquivo dos recursos executando o seguinte comando de console:
JBossFuse:karaf@root> features:addurl mvn:org.jboss.integration.fuse.quickstarts/karaf-features/1.0.0.redhat-620137/xml/features - Você pode instalar, agora, os aplicativos de início rápido fornecidos por este arquivo de recursos executando, por exemplo, o seguinte comando de console:
JBossFuse:karaf@root> features:install fuse-bxms-switchyard-quickstart-bpm-service
Procedimento 9.5. Baixando e Instalando os Arquivos ZIP de Início Rápido
- Baixe o arquivo ZIP do aplicativo de início rápido.
- Desempacote os conteúdos do diretório de início rápido no seu diretório existente
installDir/quickstarts. - Desempacote os conteúdos do diretório do sistema no seu diretório existente
installDir/system.
9.3.1. Testando o seu Primeiro Aplicativo de Início Rápido Copiar o linkLink copiado para a área de transferência!
Procedimento 9.6. Testando o Aplicativo de Início Rápido
- Inicie o JBoss Fuse:
$ ./installDir/bin/fuse - Instale e inicie switchyard-bpm-service executando o seguinte comando de console:
JBossFuse:karaf@root> features:install fuse-bxms-switchyard-quickstart-bpm-serviceNota
Todos os recursos dependentes especificados pelo arquivo de recursos do aplicativo serão instalados automaticamente. - Envie uma solicitação de serviço web para invocar o gateway SOAP.
- Abra uma janela do terminal e navegue até o diretório de início rápido associado que foi desempacotado do arquivo ZIP do aplicativo de início rápido (nesse caso, switchyard-bpm-service).
- Execute o seguinte comando:
$ mvn clean installNota
Você precisará dos seguintes repositórios configurados no seu arquivosettings.xml:- http://maven.repository.redhat.com/techpreview/all/
- http://repository.jboss.org/nexus/content/repositories/public/
- Execute o seguinte comando:
$ mvn exec:java -Pkaraf
- Você receberá a seguinte resposta:
SOAP Reply: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"/><soap:Body><ns2:submitOrderResponse xmlns:ns2="urn:switchyard-quickstart:bpm-service:1.0"> <orderId>test1</orderId> <accepted>true</accepted> <status>Thanks for your order, it has been shipped!</status> </ns2:submitOrderResponse></soap:Body></soap:Envelope>
Capítulo 10. Integrando ao Spring Copiar o linkLink copiado para a área de transferência!
10.1. Configurando o Red Hat JBoss BPM Suite com Spring Copiar o linkLink copiado para a área de transferência!
jboss-bpms-engine.zip e é chamado de kie-spring-VERSION-redhat-MINORVERSION.jar.
Como um Mecanismo de Processos Autogerenciados
RuntimeManager, uma sincronização perfeita entre o mecanismo de processos e o serviço de tarefas é gerenciada internamente e o usuário final não precisa lidar com o código interno para fazer os dois funcionarem juntos.
Como um Serviço de Tarefas Compartilhado
TaskService, você obtém mais flexibilidade na configuração da instância do serviço de tarefas, já que é independente do RuntimeManager. Depois de configurado, ele é, então, usado pelo RuntimeManager quando solicitado.
org.kie.spring.factorybeans.RuntimeEnvironmentFactoryBean. Essa classe de fábrica é responsável pela produção de instâncias do RuntimeEnvironment que são consumidas pelo RuntimeManager mediante criação. Segue abaixo um RuntimeEnvironment configurado com o gerenciador de entidade, gerenciador de transação e recursos para a classe org.kie.spring.factorybeans.RuntimeEnvironmentFactoryBean:
<bean id="runtimeEnvironment" class="org.kie.spring.factorybeans.RuntimeEnvironmentFactoryBean">
<property name="type" value="DEFAULT"/>
<property name="entityManagerFactory" ref="jbpmEMF"/>
<property name="transactionManager" ref="jbpmTxManager"/>
<property name="assets">
<map>
<entry key-ref="process"><util:constant static-field="org.kie.api.io.ResourceType.BPMN2"/></entry>
</map>
</property>
</bean>
- DEFAULT - configuração padrão (mais comum) para o RuntimeManager
- EMPTY - ambiente completamente vazio para ser populado manualmente
- DEFAULT_IN_MEMORY - o mesmo que DEFAULT, mas sem persistências do mecanismo de tempo de execução
- DEFAULT_KJAR - o mesmo que DEFAULT, mas os ativos de conhecimento são tomados do KJAR identificado por releaseid ou GAV
- DEFAULT_KJAR_CL - construído diretamente a partir do caminho de classe que consiste no descritor kmodule.xml
- knowledgeBase
- assets
- releaseId
- groupId, artifactId, version
entity manager factory e transaction manager. Segue abaixo um exemplo de RuntimeManager para org.kie.spring.factorybeans.RuntimeManagerFactoryBean:
<bean id="runtimeManager" class="org.kie.spring.factorybeans.RuntimeManagerFactoryBean" destroy-method="close">
<property name="identifier" value="spring-rm"/>
<property name="runtimeEnvironment" ref="runtimeEnvironment"/>
</bean>
Capítulo 11. Integração CDI Copiar o linkLink copiado para a área de transferência!
11.1. Integração CDI Copiar o linkLink copiado para a área de transferência!
- gerenciador de entidades e fábrica de gerenciador de entidades
- retorno de chamadas de grupos de usuários para tarefas humanas
- provedor de identidade para passar informações sobre o usuário para os serviços
public class EnvironmentProducer {
@PersistenceUnit(unitName = "org.jbpm.domain")
private EntityManagerFactory emf;
@Inject
@Selectable
private UserGroupCallback userGroupCallback;
@Produces
public EntityManagerFactory getEntityManagerFactory() {
return this.emf;
}
@Produces
@RequestScoped
public EntityManager getEntityManager() {
EntityManager em = emf.createEntityManager();
return em;
}
public void close(@Disposes EntityManager em) {
em.close();
}
@Produces
public UserGroupCallback produceSelectedUserGroupCalback() {
return userGroupCallback;
}
@Produces
public IdentityProvider produceIdentityProvider {
return new IdentityProvider() {
// implement IdentityProvider
};
}
}
deployments/business-central.war/WEB-INF/beans.xml pode ser configurado para alterar os parâmetros de configuração atuais da nova implementação usergroupcallback.
<beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://docs.jboss.org/cdi/beans_1_0.xsd">
<alternatives>
<class>org.jbpm.services.task.identity.JAASUserGroupCallbackImpl</class>
</alternatives>
</beans>
Nota
org.jbpm.services.task.identity.JAASUserGroupCallbackImpl é apenas um exemplo dado aqui para demonstrar as configurações do servidor do aplicativo, independente do que ele seja na verdade (LDAP, DB, etc).
Capítulo 12. Persistência Copiar o linkLink copiado para a área de transferência!
Nota
- Estado da sessão: inclui a id da sessão, a data da última modificação, os dados da sessão que as regras empresariais precisariam para avaliação, o estado dos trabalhos do temporizador.
- Estado da instância do processo: inclui a id da instância do processo, a id do processo, a data da última modificação, a data do último acesso de leitura, a data de início da instância do processo, os dados do tempo de execução (o status da execução, incluindo o nó sendo executado, os valores da variável e etc.) e os tipos de eventos.
- Estado do tempo de execução do item de trabalho: inclui a id do item de trabalho, a data de criação, o nome, a id da instância do processo e o estado do item de trabalho propriamente dito.
12.1. Sessão Copiar o linkLink copiado para a área de transferência!
SessionInfo. Elas persistem o estado da sessão KIE do tempo de execução e armazenam os seguintes dados:
| Campo | Descrição | Anulável |
|---|---|---|
|
id
|
chave primária
|
falso
|
|
lastmodificationdate
|
última vez salvo no armazenamento de dados
|
N/A
|
|
rulesbytearray
|
conjunto de dados binário com estado de sessão (blob binário)
|
falso
|
|
startdate
|
início da sessão
| |
|
optlock
|
número da versão usado para bloquear o valor para o bloqueio otimista.
| |
12.2. Instâncias do Processo Copiar o linkLink copiado para a área de transferência!
ProcessInstanceInfo, que persistem o estado de uma instância do processo em tempo de execução e armazenam os seguintes dados:
| Campo | Descrição | Anulável |
|---|---|---|
|
instanceid
|
chave primária
|
falso
|
|
lastmodificationdate
|
última vez salvo no armazenamento de dados
|
N/A
|
|
lastreaddate
|
última leitura do armazenamento de dados
|
N/A
|
|
processid
|
Id do processo em que a instância se baseia
|
falso
|
|
processinstancebytearray
|
conjunto de dados binário com o estado de instância do processo (blob binário)
|
falso
|
|
startdate
|
data de início da instância do processo
| |
|
optlock
|
número da versão usado para bloquear o valor para o bloqueio otimista.
| |
|
state
|
estado da instância do processo
|
falso
|
ProcessInstanceInfo possui uma relação 1:N com a entidade EventTypes.
EventTypes contém os seguintes dados:
| Campo | Descrição | Anulável |
|---|---|---|
|
instanceid
|
referência à Instância do Processo (chave estrangeira para
processinstanceinfo)
|
falso
|
|
element
|
campo de texto relacionado a um evento ao qual a Instância do processo foi submetida
| |
Suporte de Bloqueio Pessimista
import org.kie.api.runtime.Environment;
import org.kie.api.runtime.EnvironmentName;
import org.kie.api.runtime.manager.RuntimeManager;
import org.kie.api.runtime.manager.RuntimeManagerFactory;
...
// here env is an instance of org.kie.api.runtime.Environment
env.set(EnvironmentName.USE_PESSIMISTIC_LOCKING, true);
// now create your Runtime Manager using this enviornment
RuntimeManager manager = RuntimeManagerFactory.Factory.get().newPerRequestRuntimeManager(environment);
12.3. Itens de Trabalho Copiar o linkLink copiado para a área de transferência!
workiteminfo, as quais persistem o estado da instância do item de trabalho em particular durante o tempo de execução e armazenam os seguintes dados:
| Campo | Descrição | Anulável |
|---|---|---|
|
workitemid
|
chave primária
|
falso
|
|
name
|
nome do item de trabalho
| |
|
processinstanceid
|
id da instância do processo pai
|
falso
|
|
state
|
número inteiro representando o estado do item de trabalho
|
falso
|
|
optlock
|
número da versão usado para bloquear o valor para o bloqueio otimista.
| |
|
workitembytearray
|
conjunto de dados binário com o estado do item de trabalho (blob binário
)
|
falso
|
|
creationDate
|
carimbo de data/hora de criação do item de trabalho
|
falso
|
12.4. Configuração da Persistência Copiar o linkLink copiado para a área de transferência!
12.4.1. Configuração da Persistência Copiar o linkLink copiado para a área de transferência!
JBPMHelper, depois que você criar uma sessão, ou usando JPAKnowledgeService, para a criação da sua sessão. A última opção proporciona mais flexibilidade, enquanto JBPMHelper possui um método próprio para criar uma sessão e utiliza um arquivo de configuração para configurar essa sessão.
12.4.2. Configurando a Persistência Usando JBPMHelper Copiar o linkLink copiado para a área de transferência!
- Defina o seu aplicativo para usar um construtor de sessão JBPMHelper adequado:
KieSession ksession = JBPMHelper.newKieSession(kbase);KieSession ksession = JBPMHelper.loadKieSession(kbase, sessionId);
- Configure a persistência no arquivo
jBPM.properties.Exemplo 12.1. Arquivo jBPM.properties de exemplo com persistência para o banco de dados H2 em memória
# for creating a datasource persistence.datasource.name=jdbc/jbpm-ds persistence.datasource.user=sa persistence.datasource.password= persistence.datasource.url=jdbc:h2:tcp://localhost/~/jbpm-db persistence.datasource.driverClassName=org.h2.Driver # for configuring persistence of the session persistence.enabled=true persistence.persistenceunit.name=org.jbpm.persistence.jpa persistence.persistenceunit.dialect=org.hibernate.dialect.H2Dialect # for configuring the human task service taskservice.enabled=true taskservice.datasource.name=org.jbpm.task taskservice.transport=mina taskservice.usergroupcallback=org.jbpm.task.service.DefaultUserGroupCallbackImpl
JBPMHelper.startH2Server(); e registrá-lo com o mecanismo usando a chamada de método JBPMHelper.setupDataSource();.
12.4.3. Configurando a Persistência Usando JPAKnowledgeService Copiar o linkLink copiado para a área de transferência!
- Defina o seu aplicativo para usar a sessão de conhecimento criada pelo JPAKnowledgeService:
- Defina a sessão baseada em um banco de dados de conhecimento, uma configuração da sessão de conhecimento e um ambiente. O ambiente deve conter uma referência à sua Fábrica de Gerenciador de Entidades:
// create the entity manager factory and register it in the environment EntityManagerFactory emf = Persistence.createEntityManagerFactory( "org.jbpm.persistence.jpa" ); Environment env = KnowledgeBaseFactory.newEnvironment(); env.set( EnvironmentName.ENTITY_MANAGER_FACTORY, emf ); // create a new knowledge session that uses JPA to store the runtime state KieSession ksession = JPAKnowledgeService.newKieSession( kbase, null, env ); int sessionId = ksession.getId(); // invoke methods on your method here ksession.startProcess( "MyProcess" ); ksession.dispose(); - Defina a sessão baseada em uma id de sessão específica.
// recreate the session from database using the sessionId ksession = JPAKnowledgeService.loadKieSession(sessionId, kbase, null, env );
- Configure a persistência no arquivo
META-INF/persistence.xml: configure JPA para usar o Hibernate e o banco de dados respectivo.As informações sobre como configurar a fonte de dados no servidor do seu aplicativo devem estar disponíveis na documentação enviada com o servidor do aplicativo. Para esse tipo de informação para o JBoss Enterprise Application Platform, consulte o guia Administration and Configuration Guide deste produto.Exemplo 12.2. Arquivo persistence.xml de exemplo com persistência para uma fonte de dados H2
jdbc/jbpm-ds<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <persistence version="1.0" xsi:schemaLocation= "http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_1_0.xsd" xmlns:orm="http://java.sun.com/xml/ns/persistence/orm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/persistence"> <persistence-unit name="org.jbpm.persistence.jpa" transaction-type="JTA"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <jta-data-source>jdbc/jbpm-ds</jta-data-source> <mapping-file>META-INF/JBPMorm.xml</mapping-file> <class>org.drools.persistence.info.SessionInfo</class> <class>org.jbpm.persistence.processinstance.ProcessInstanceInfo</class> <class>org.drools.persistence.info.WorkItemInfo</class> <properties> <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/> <property name="hibernate.max_fetch_depth" value="3"/> <property name="hibernate.hbm2ddl.auto" value="update"/> <property name="hibernate.show_sql" value="true"/> <property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.BTMTransactionManagerLookup"/> </properties> </persistence-unit> </persistence>
JBPMHelper.startH2Server(); e registrá-lo com o mecanismo usando a chamada de método JBPMHelper.setupDataSource();.
Nota
PoolingDataSource ds = new PoolingDataSource();
ds.setUniqueName("jdbc/jbpm-ds");
ds.setClassName("bitronix.tm.resource.jdbc.lrc.LrcXADataSource");
ds.setMaxPoolSize(3);
ds.setAllowLocalTransactions(true);
ds.getDriverProperties().put("user", "sa");
ds.getDriverProperties().put("password", "sasa");
ds.getDriverProperties().put("URL", "jdbc:h2:tcp://localhost/~/jbpm-db");
ds.getDriverProperties().put("driverClassName", "org.h2.Driver");
ds.init();
Capítulo 13. Transações Copiar o linkLink copiado para a área de transferência!
13.1. Transações Copiar o linkLink copiado para a área de transferência!
13.2. Definindo as Transações Copiar o linkLink copiado para a área de transferência!
- Registre um gerenciador de transação no seu ambiente.
Exemplo 13.1. Codifique com o registro do gerenciador de transação
// create the entity manager factory EntityManagerFactory emf = EntityManagerFactoryManager.get().getOrCreate("org.jbpm.persistence.jpa"); TransactionManager tm = TransactionManagerServices.getTransactionManager(); Environment env = EnvironmentFactory.newEnvironment(); env.set(EnvironmentName.ENTITY_MANAGER_FACTORY, emf); env.set(EnvironmentName.TRANSACTION_MANAGER, tm); // setup the runtime environment RuntimeEnvironment environment = RuntimeEnvironmentBuilder.Factory.get() .newDefaultBuilder() .addAsset(ResourceFactory.newClassPathResource("MyProcessDefinition.bpmn2"), ResourceType.BPMN2) .addEnvironmentEntry(EnvironmentName.TRANSACTION_MANAGER, tm) .addEnvironmentEntry(EnvironmentName.PERSISTENCE_CONTEXT_MANAGER, new JpaProcessPersistenceContextManager(env)) .addEnvironmentEntry(EnvironmentName.TASK_PERSISTENCE_CONTEXT_MANAGER, new JPATaskPersistenceContextManager(env)) .get(); - Inicialize a KieSession:
// get the KieSession RuntimeManager manager = RuntimeManagerFactory.Factory.get().newPerProcessInstanceRuntimeManager(environment); RuntimeEngine runtime = manager.getRuntimeEngine(ProcessInstanceIdContext.get()); KieSession ksession = runtime.getKieSession(); - Defina o gerenciador de transação em
jndi.properties.Exemplo 13.2. Definição do gerenciador de transação Bitronix em jndi.properties
java.naming.factory.initial=bitronix.tm.jndi.BitronixInitialContextFactoryNota
Para usar um gerenciador de transação JTA, edite hibernate.transaction.manager_lookup_class, a propriedade do gerenciador de transação, no arquivopersistence.xmlpara carregar o seu gerenciador de transação.Exemplo 13.3. Gerenciador de Transação JBoss definido como gerenciador de transações
<property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.JBossTransactionManagerLookup"/> - Defina o início e o fim da transação.
// start the transaction UserTransaction ut = InitialContext.doLookup("java:comp/UserTransaction"); ut.begin(); // perform multiple commands inside one transaction ksession.insert( new Person( "John Doe" ) ); ksession.startProcess("MyProcess"); // commit the transaction ut.commit();
13.3. Transações Gerenciadas por Contêiner Copiar o linkLink copiado para a área de transferência!
org.jbpm.persistence.jta.ContainerManagerTransactionManager. Isto é devido à implementação padrão do gerenciador de transação no JBoss BPM Suite ser baseada na classe UserTransaction que obtém o status de transação. No entanto, alguns servidores do aplicativo no modo CMT não permitem o acesso à instância UserTransaction a partir do JNDI.
ContainerManagedTransactionManager espera que a transação esteja sempre ativa (retornando ACTIVE para o método getStatus()).
Nota
Configurando o Gerenciador de Transação
ContainerManagedTransactionManager, é preciso que ele seja inserido no ambiente antes que você crie ou carregue uma sessão:
Environment env = EnvironmentFactory.newEnvironment();
env.set(EnvironmentName.ENTITY_MANAGER_FACTORY, emf);
env.set(EnvironmentName.TRANSACTION_MANAGER, new ContainerManagedTransactionManager());
env.set(EnvironmentName.PERSISTENCE_CONTEXT_MANAGER, new JpaProcessPersistenceContextManager(env));
persistence.xml. Por exemplo, se estiver usando IBM WebSphere:
<property name="hibernate.transaction.factory_class" value="org.hibernate.transaction.CMTTransactionFactory"/>
<property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.WebSphereExtendedJTATransactionLookup"/>
Descartando a KSession em uma CMT
dispose()). Essa ação causa exceções na conclusão da transação, já que o Mecanismo de Processo precisa limpar o estado depois que a invocação tiver terminado.
execute() da classe especializada org.jbpm.persistence.jta.ContainerManagedTransactionDisposeCommand. O uso desse comando garante que a ksession seja descartada quando a transação estiver, de fato, concluída.
afterDisposal da transação, ao invés de executá-lo diretamente. Caso não haja nenhuma transação ativa, a ksession é descartada imediatamente.
Capítulo 14. Registro em Log Copiar o linkLink copiado para a área de transferência!
- Instância de processo, como
processinstancelog - Instância de elemento, como
nodeinstancelog - Instância de variável, como
variableinstancelog
| Campo | Descrição | Anulável |
|---|---|---|
|
id
|
Chave primária da entidade de log
|
Não
|
|
end_date
|
Data de término da instância do processo
|
Sim
|
|
processid
|
Nome (id) do processo subjacente
|
Sim
|
|
processinstanceid
|
Id da instância do processo
|
Não
|
|
start_date
|
Data de início da instância do processo
|
Sim
|
|
status
|
Status da instância do processo
|
Sim
|
|
parentProcessInstanceId
|
Id da instância do processo da instância do processo pai, caso aplicável
|
Sim
|
|
outcome
|
Resultado da instância do processo (detalhes sobre a conclusão do processo, como código de erro)
|
Sim
|
| Campo | Descrição | Anulável |
|---|---|---|
|
id
|
Chave primária da entidade de log
|
Não
|
|
log_date
|
Data do evento
|
Sim
|
|
nodeid
|
Id do nó do elemento de processo subjacente
|
Sim
|
|
nodeinstanceid
|
Id da instância do nó
|
Sim
|
|
nodename
|
Nome do nó subjacente
|
Sim
|
|
processid
|
Id do processo subjacente
|
Sim
|
|
processinstanceid
|
Id da instância do processo pai
|
Não
|
|
type
|
Tipo de evento (
0 = evento de entrada, 1 = evento de saída)
|
Não
|
| Campo | Descrição | Anulável |
|---|---|---|
|
id
|
Chave primária da entidade de log
|
Não
|
|
log_date
|
Data do evento
|
Sim
|
|
processid
|
Nome (id) do processo subjacente
|
Sim
|
|
processinstanceid
|
Id da instância do processo
|
Não
|
|
value
|
Valor da variável na hora do log
|
Sim
|
|
variableid
|
Id da variável estabelecida na definição do processo
|
Sim
|
|
variableinstanceid
|
Id da instância da variável
|
Sim
|
|
outcome
|
Resultado da instância do processo (detalhes sobre a conclusão do processo, como código de erro)
|
Sim
|
14.1. Registrando Eventos no Log do Banco de Dados Copiar o linkLink copiado para a área de transferência!
- Mapeie as classes de log na fonte de dados para que a fonte de dados fornecida aceite as entradas de log. No Red Hat JBoss EAP, edite as propriedades da fonte de dados no arquivo
persistence.xml.Exemplo 14.1. Classes ProcessInstanceLog, NodeInstanceLog e VariableInstanceLog habilitadas por processInstanceDS
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <persistence version="1.0" xsi:schemaLocation= "http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_1_0.xsd" xmlns:orm="http://java.sun.com/xml/ns/persistence/orm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/persistence"> <persistence-unit name="org.jbpm.persistence.jpa"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <jta-data-source>jdbc/processInstanceDS</jta-data-source> <class>org.drools.persistence.info.SessionInfo</class> <class>org.jbpm.persistence.processinstance.ProcessInstanceInfo</class> <class>org.drools.persistence.info.WorkItemInfo</class> <class>org.jbpm.process.audit.ProcessInstanceLog</class> <class>org.jbpm.process.audit.NodeInstanceLog</class> <class>org.jbpm.process.audit.VariableInstanceLog</class> <properties> <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/> <property name="hibernate.max_fetch_depth" value="3"/> <property name="hibernate.hbm2ddl.auto" value="update"/> <property name="hibernate.show_sql" value="true"/> <property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.BTMTransactionManagerLookup"/> </properties> </persistence-unit> </persistence> - Registre um agente na sua Sessão Kie.
Exemplo 14.2. Importando os Agentes
import org.jbpm.process.audit.AuditLogService; import org.jbpm.process.audit.AuditLoggerFactory; import org.jbpm.process.audit.AuditLoggerFactory.Type; import org.jbpm.process.audit.JPAAuditLogService; ...Exemplo 14.3. Registrando um Agente a uma Sessão Kie
@PersistenceUnit(unitName = PERSISTENCE_UNIT_NAME) private EntityManagerFactory emf; private AuditLogService auditLogService; @PostConstruct public void configure() { auditLogService = new JPAAuditLogService(emf); ((JPAAuditLogService) auditLogService).setPersistenceUnitName(PERSISTENCE_UNIT_NAME); if( emf == null ) { ((JPAAuditLogService) auditLogService).setPersistenceUnitName(PERSISTENCE_UNIT_NAME); } RuntimeEngine runtime = singletonManager.getRuntimeEngine(EmptyContext.get()); KieSession ksession = runtime.getKieSession(); AuditLoggerFactory.newInstance(Type.JPA, ksession, null); } - Facultativamente, chame o método
addFilterno agente para remover as informações irrelevantes. Apenas as informações aceitas por todos os filtros aparecem no banco de dados. - As classes do agente podem ser exibidas no Modo de Exibição de Auditoria:
<dependency> <groupId>org.jbpm</groupId> <artifactId>jbpm-audit</artifactId> <version>6.0.1.Final</version> </dependency>
14.2. Funcionalidade Logback Copiar o linkLink copiado para a área de transferência!
logback para a configuração de registro em log.
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.x</version>
</dependency>
Nota
slf4j-nop e slf4j-simple são ideais para um ambiente leve.
14.3. Configurando o Registro em Log Copiar o linkLink copiado para a área de transferência!
logback.xml em business-central.war/WEB-INF/classes/logback.xml. Para definir o nível de log do pacote org.drools para a "depuração" do registro extenso, você deve adicionar ao arquivo a linha a seguir:
<configuration>
<logger name="org.drools" level="debug"/>
...
<configuration>
- org.guvnor
- org.jbpm
- org.kie
- org.slf4j
- org.dashbuilder
- org.uberfire
- org.errai
- etc...
log4j, log4j.xml pode ser localizado em business-central.war/WEB-INF/classes/log4j.xml e pode ser configurado da seguinte forma:
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<category name="org.drools">
<priority value="debug" />
</category>
...
</log4j:configuration>
Nota
Capítulo 15. Localização e Personalização Copiar o linkLink copiado para a área de transferência!
15.1. Idiomas Disponíveis Copiar o linkLink copiado para a área de transferência!
- Inglês dos Estados Unidos (
en_US) - Espanhol (
es_ES) - Japônes (
ja_JP) - Chinês (
zh_CN) - Português (
pt_BR) - Francês (
fr_CA) - Alemão (
de_DE)
Nota
15.2. Alterando os Parâmetros de Idiomas Copiar o linkLink copiado para a área de transferência!
Alterando o Idioma da Interface do Usuário no Business Central
http://localhost:8080/business-central/?locale=pt_BR
Alterando o Idioma da Interface do Usuário no Dashbuilder
- Faça o login no Dashbuilder, depois que o servidor foi iniciado com êxito, e navegue até http://localhost:8080/dashbuilder em um navegador da web.
- Selecione o idioma de sua escolha clicando nas localidades disponíveis na parte superior central da interface do usuário do Dashbuilder para alterar o idioma.
Configurando o Idioma Padrão da Interface do Usuário no Dashbuilder
Procedimento 15.1. Configurando o idioma padrão como francês
- Navegue até
jboss-eap-6.1/standalone/configuratione defina o seguinte no arquivostandalone.xml.<system-properties> <property name="org.jboss.dashboard.LocaleManager.installedLocaleIds" value="en,es,de,fr,ja,pt,zh"/> <property name="org.jboss.dashboard.LocaleManager.defaultLocaleId" value="fr"/> </system-properties> - O idioma padrão da interface do usuário do Dashbuilder está definido agora como francês.
Definindo as Localidades Instaladas no Dashbuilder
Procedimento 15.2. Definindo as localidades instaladas
- Navegue até
jboss-eap-6.1/standalone/configuratione defina o seguinte no arquivostandalone.xml.<system-properties> <property name="org.jboss.dashboard.LocaleManager.installedLocaleIds" value="en,es,de,fr,ja,pt"/> <property name="org.jboss.dashboard.LocaleManager.defaultLocaleId" value="fr"/> </system-properties>
Nota
15.3. Executando JVM com a Codificação UTF-8 Copiar o linkLink copiado para a área de transferência!
Parte IV. Execução Copiar o linkLink copiado para a área de transferência!
Capítulo 16. Servidor de Execução Copiar o linkLink copiado para a área de transferência!
16.1. Regras de Atribuição Copiar o linkLink copiado para a área de transferência!
16.1.1. Definindo as Regras de Atribuição Copiar o linkLink copiado para a área de transferência!
- Crie um arquivo que contenha a definição de regra no caminho de classe do Business Central (o local recomendado é
$DEPLOY_DIR/standalone/deployments/business-central.war/WEB-INF/classes/):default-add-task.drlcom as regras a serem verificadas quando a Tarefa Humana é criadadefault-complete-task.drlcom as regras a serem verificadas quando a Tarefa Humana é concluída
- Defina as regras no arquivo.
Exemplo 16.1. Conteúdo default-add-task.drl
package defaultPackage
import org.kie.api.task.model.Task;
import org.kie.api.task.model.User;
import org.kie.api.task.model.Status;
import org.kie.api.task.model.PeopleAssignments;
import org.jbpm.services.task.rule.TaskServiceRequest;
import org.jbpm.services.task.exception.PermissionDeniedException;
import org.jbpm.services.task.impl.model.*;
import java.util.HashMap;
import java.util.List;
global TaskServiceRequest request;
rule "Don't allow Mary to complete task when rejected"
when
$task : Task()
$actualOwner : User( id == 'mary') from $task.getTaskData().getActualOwner()
$params : HashMap(this["approved"] == false)
then
request.setAllowed(false);
request.setExceptionClass(PermissionDeniedException.class);
request.addReason("Mary is not allowed to complete task with approved false");
end
Mary, a tarefa será atribuída automaticamente ao usuário mary.
Exemplo 16.2. Conteúdo default-complete-task.drl
package defaultPackage
import org.kie.api.task.model.Task;
import org.kie.api.task.model.User;
import org.kie.api.task.model.Status;
import org.kie.api.task.model.PeopleAssignments;
import org.jbpm.services.task.rule.TaskServiceRequest;
import org.jbpm.services.task.exception.PermissionDeniedException;
import org.jbpm.services.task.impl.model.*;
import java.util.HashMap;
import java.util.List;
global TaskServiceRequest request;
rule "Don't allow Mary to complete task when rejected"
when
$task : Task()
$actualOwner : User( id == 'mary') from $task.getTaskData().getActualOwner()
$params : HashMap(this["approved"] == false)
then
request.setAllowed(false);
request.setExceptionClass(PermissionDeniedException.class);
request.addReason("Mary is not allowed to complete task without approval.");
end
Mary, a tarefa será atribuída automaticamente ao usuário mary.
16.2. Sessão de Email Copiar o linkLink copiado para a área de transferência!
16.2.1. Configurando a sessão de email Copiar o linkLink copiado para a área de transferência!
- Abra o respectivo arquivo de configuração do perfil (
standalone.xmlorhost.xml) para edição. - Adicione a sessão de email ao subsistema
urn:jboss:domain:mail:1.1.Exemplo 16.3. Nova sessão de email no localhost
<subsystem xmlns="urn:jboss:domain:mail:1.1"> <!-- omitted code --> <mail-session jndi-name="java:/mail/bpmsMailSession" debug="true" from="bpms@company.com"> <smtp-server outbound-socket-binding-ref="bpmsMail"/> </mail-session> </subsystem> - Defina o soquete de saída da sessão no arquivo de configuração do perfil.
Exemplo 16.4. Definição do soquete de saída
<outbound-socket-binding name="bpmsMail"> <remote-destination host="localhost" port="12345"/> </outbound-socket-binding>
Capítulo 17. Plug-in para o Red Hat JBoss Developer Studio Copiar o linkLink copiado para a área de transferência!
17.1. Plug-in Copiar o linkLink copiado para a área de transferência!
Parte V. Monitoramento Copiar o linkLink copiado para a área de transferência!
Capítulo 18. Monitoramento de Processos Copiar o linkLink copiado para a área de transferência!
18.1. JBoss Operations Network Copiar o linkLink copiado para a área de transferência!
com.sun.management.jmxremote.* devem ser transferidos para o aplicativo JBoss através do arquivo de configuração pom.xml.
18.2. Instalando o Plug-in do JBoss BRMS no JBoss ON Copiar o linkLink copiado para a área de transferência!
Procedimento 18.1. Copiando os arquivos JAR do plug-in do JBoss BRMS
- Extraia o pacote de plug-ins do JBoss BRMS colocando-o em um local temporário. Essa ação cria um subdiretório com o nome de jon-plugin-pack-brms-bpms-3.3.0.GA. Por exemplo:
[root@server rhq-agent]# unzip jon-plugin-pack-brms-bpms-3.3.0.GA.zip -d /tmp - Copie os arquivos JAR do plug-in do JBoss BRMS a partir do diretório jon-plugin-pack-brms-bpms-3.2.0.GA/ no diretório do plug-in do servidor JBoss ON. Por exemplo:
[root@server rhq-agent]# cp /tmp/jon-plugin-pack-brms-bpms-3.3.0.GA/*.jar /opt/jon/jon-server-3.3.0.GA1/plugins - Inicie o servidor do JBoss Operations Network para atualizar o plug-in do JBoss BRMS.
Procedimento 18.2. Carregando o plug-in do JBoss BRMS através da GUI
- Inicie o servidor do JBoss Operations Network e Faça o Login para acessar a GUI.
- Na navegação superior da GUI, abra o menu Administração.
- Na área de Configuração à esquerda, selecione o link Plug-ins do Servidor.
- No fim da lista dos plug-ins carregados do servidor, clique no botão Carregar um plug-in e selecione o plug-in do BRMS.
- O plug-in do JBoss BRMS para o JBoss Operations Network está agora carregado.
18.3. Monitorando as Bases Kie e Sessões Kie Copiar o linkLink copiado para a área de transferência!
-kie.mbeans = enabled
KieBaseConfiguration kbconf = KieServices.Factory.get().newKieBaseConfiguration();
kbconf.setOption(MBeansOption.ENABLED);
Nota
Kie Services foi implementado para o JBoss BRMS 6; já para o JBoss BRMS 5, a convenção de nomenclatura Drools Services foi usada e ela tinha diferentes medidas sobre as sessões. Por exemplo, a renomeação de → ocorreu na versão atualizada.
Capítulo 19. Gerenciando Segurança para o Dashbuilder do Red Hat JBoss BPM Suite Copiar o linkLink copiado para a área de transferência!
19.1. Acessando o Dashbuilder do Red Hat BPM Suite Copiar o linkLink copiado para a área de transferência!
19.2. Gerenciando Segurança Copiar o linkLink copiado para a área de transferência!
- admin - administra o sistema Red Hat JBoss BPM Suite e possui total direito de acesso para fazer quaisquer alterações necessárias. Também possui a habilidade de adicionar e remover os usuários do sistema.
- desenvolvedor - implementa os códigos necessários para os processos funcionarem. Usa, na maioria das vezes, a conexão JBDS para exibir os processos, mas também pode usar ocasionalmente a ferramenta web.
- analista - responsável pela criação e pelo planejamento dos processos no sistema. Cria fluxos de processos e lida com os pedidos de alteração dos processos. Os processos criados devem ser testados. Também cria formulários e painéis.
- usuário - usuário diário do sistema que trabalha nas tarefas de negócios que são necessárias para dar continuidade aos processos. Trabalha principalmente com as listas de tarefas.
- gerenciador - visualizador do sistema que está interessado nas estatísticas referentes aos processos empresariais e seus desempenhos, indicadores de negócios e outros tipos de notificação do sistema, assim como às pessoas que interagem com o sistema.
19.3. Permissões do Espaço de Trabalho Copiar o linkLink copiado para a área de transferência!
Procedimento 19.1. Acessando as Permissões do Espaço de Trabalho
- Faça o login nos Painéis de Negócios a partir do Business Central (como descrito no tópico Acessando o Dashbuilder do Red Hat BPM Suite)
- Selecione o Painel apropriado a partir do menu suspenso do espaço de trabalho.
Figura 19.1. Espaço de Trabalho do Dashbuilder
- Clique no botão Editar propriedades do espaço de trabalho selecionado
para acessar o Painel do Espaço de Trabalho.
- Clique no rótulo Permissões para exibir a tela de gerenciamento das permissões.
Figura 19.2. Tela de Permissões
- Acessar: permissão para fazer o login no aplicativo.
- Administrar: permissão para acessar a barra de ferramentas e os recursos de configuração do sistema.
- Criar páginas: habilidade para criar novas páginas de projetos.
- Editar: permissão para alterar as propriedades do espaço de trabalho.
- Limpar: habilidade para limpar o espaço de trabalho.
- Editar permissões: habilidade para conceder/ negar permissões.
- Alterar painéis permitidos: permissão para restringir os tipos de painéis que podem ser usados nesse espaço de trabalho.
Figura 19.3. Designação de Permissões
- Funções de destino (quem): quais usuários terão as permissões definidas concedidas/ negadas.
- Ações permitidas: dependendo do tipo de recurso, é possível habilitar/desabilitar o que o usuário pode fazer com esse recurso.
- Reverter (opcional): quando existe um conjunto de funções e há o interesse em conceder/negar uma permissão a todas as funções, com exceção de uma.
Nota
19.4. Permissões de Páginas Copiar o linkLink copiado para a área de transferência!
- Para acessar as Permissões de Páginas, localize o menu suspenso Páginas sob o Painel jBPM (ou sob qualquer outro Painel que desejar).
- Após expandir Páginas, expanda a opção Painel de processos.
- Selecione a opção Permissões de Páginas.
Figura 19.4. Permissões de Páginas
- Visualizar: permissão para deixar a página visível.
- Editar: habilidade para alterar as propriedades de uma página.
- Limpar: habilidade para excluir uma página.
- Editar permissões: habilidade para conceder/ negar permissões a uma página.
19.5. Permissões de Painel Copiar o linkLink copiado para a área de transferência!
- Para acessar a página Permissões de Painel, expanda a opção Instâncias de painel sob o Painel jBPM (ou sob qualquer outro Painel que estiver usando).
- Expanda a opção Painel e, então, expanda o Painel de processos.
- Expanda a opção Panéis e selecione o processo adequado.
- Abra a página Permissões de Painel.
Figura 19.5. Tela de configuração das permissões do painel
- Visualizar: deixar o painel visível.
- Editar: alterar as propriedades do painel.
- Editar permissões: habilidade para conceder/ negar permissões para o painel.
Apêndice A. Histórico de Revisões Copiar o linkLink copiado para a área de transferência!
| Histórico de Revisões | |||
|---|---|---|---|
| Revisão 1.0.0-1.1 | Tue Jan 5 2016 | ||
| |||
| Revisão 1.0.0-1 | Wed Aug 05 2015 | ||
| |||