Integrar IBM FileNet P8 BPM com o IBM WebSphere ILOG JRules Usando Serviços da Web

Gerenciar regras de negócios com processos de negócios

A natureza competitiva dos negócios de hoje exigem que os processos de negócios de uma organização sejam altamente dinâmicos. Uma empresa precisa acomodar e gerenciar regras de negócios em rápida transição associadas com processos de negócios. Um business rules management system (BRMS) permite extrair regras de negócios e decisões de processos de negócios e gerenciá-las independentemente, permitindo que os processos sejam otimizados. Este artigo descreve como integrar o IBM® WebSphere® ILOG® JRules, um BRMS líder do segmento de mercado, com o IBM FileNet® P8 BPM, um business process management system (BPMS) abrangente. [A atualização de novembro de 2010 inclui as seguintes alterações: o termo sistema especialista foi alterado para serviço de decisão; condicional de regras de negócios verificando 1 igual a 1 foi removida; o prefixo de PI para verbalização foi removido; as regras são mais bem organizadas nos pacotes de regras; e o fluxo de regras foi atualizado com base no novo design de pacote. --Ed]

Ranjeeth Pasupathi, Staff Software Engineer, IBM

Photo of Ranjeeth PasupathiRanjeeth é um desenvolvedor de software que trabalha na IBM India Software Labs. É especializado em tecnologias emergentes, BPM agile e tópicos de gerenciamento de bancos de dados relacionais. Sua pesquisa atual inclui (mas não se limita a) aprimoramentos na tecnologia de serviços da Web para integração mais rica entre produtos em um ambiente SOA.



Bharathi Anjeneya, Staff Software Engineer, IBM

Photo of Bharathi AnjeneyaBharathi é Staff Software Engineer e trabalha na IBM India Software Lab na equipe de Enterprise Content Management. Tem mais de 10 anos de experiência de trabalho no desenvolvimento de software. Trabalhou em vários produtos ECM, incluindo IBM Document Manager, Content Manager OnDemand, IBM FileNet Report Manager, FileNet Enterprise Manager e FileNet BPM.



11/Nov/2010 (Primeira publicação 21/Dez/2010)

Introdução

O design moderno dos sistemas de software enfatiza o uso de sistemas de gerenciamento de regras de negócios (BRMS) para gerenciar os negócios complexos e a lógica de decisão. Isso permite gerenciar melhor a demanda para alterar regras de negócios com rapidez. É possível melhorar a agilidade de seus processos de negócios fornecendo opções para melhor tomada de decisão e manutenção geral dos seus sistemas de software. O sistema de gerenciamento de processos de negócios (BPMS) pode aproveitar diretamente os recursos que as soluções de BRMS fornecem. Consulte a seção Recursos para obter mais informações sobre propostas de valor conjunto voltadas para negócios para BPM e BRMS.

Este artigo descreve as etapas necessárias para integrar dois sistemas de software líderes do segmento de mercado:

IBM FileNet P8 Business Process Manager
Gerencia o fluxo de trabalho entre sistemas e pessoas para processos de conteúdo e que fazem uso intensivo de trabalho manual.
IBM WebSphere ILOG JRules
Ajuda as organizações a alterar decisões de negócios com rapidez, permitindo modificações em tempo real das suas regras de negócios.

Existem diversas maneiras de integrar os dois produtos:

  • Estrutura de conectividade de regras
  • Java™ integração de componentes
  • serviços da Web

Este artigo enfoca a integração fracamente acoplada entre os dois produtos usando serviços da Web.


Entendendo os pré-requisitos

Este artigo exige a seguinte configuração mínima:

  • IBM FileNet P8 Platform Versão 4.5 ou superior com Content Engine, Process Engine e Application Engine instalados
  • IBM WebSphere ILOG JRules Versão 7.0 ou superior com Rule Studio e Rule Execution Server instalados

O seguinte também será útil:

  • Familiaridade com o Eclipse
  • Experiência de nível básico no uso do IBM FileNet P8 Process Designer

Neste artigo, o IBM FileNet P8, Versão 4.5.1, integra com o IBM WebSphere ILOG JRules, Versão 7.0.2.


Explorando um caso de uso de assinatura de seguro de saúde

O primeiro exemplo de cenário descreve parte de um processo de assinatura de seguro que aproveita o BRMS para processamento reto e direto. O BRMS manipula as tarefas que podem ser automatizadas, incluindo verificar o bmi, calculando a classificação de saúde e o prêmio de seguro do cliente. A combinação do Filenet e do BRMS fornece orquestração de processos e tomada de decisões automatizadas, o que permite automatização da inscrição de aplicativos de risco mínimo. Underwriters humanos processam somente os aplicativos complicados usando tarefas manuais no Filenet.

O fluxo de trabalho dos processos de seguro do cenário de exemplo consiste em uma etapa de sistema que chama um serviço de decisão para processamento reto e direto para manter o cenário simples e focar no cenário de integração técnica com o BRMS. Em processos de seguro, algumas das principais etapas, incluindo validação da entrada do cliente, cálculo da classificação de funcionamento dos clientes e cálculo do prêmio de seguro, podem ser etapas de atividades de processo separadas no Filenet chamando decisões separadas.

O serviço de decisão de underwriting automatizado é implementado usando regras no JRules. Existem duas tarefas manuais que são roteadas condicionalmente. Se o serviço de decisão rejeitar a solicitação de política (retorna falso), o fluxo de trabalho é roteado para underwriters humanos para avaliação. A notificação por e-mail pode ser automatizada, mas para simplificar a implementação, é projetada como uma tarefa manual no cenário de exemplo. A Figura 1 mostra o fluxo de trabalho desse processo.

Figura 1. Diagrama de casos de uso de seguro de saúde
Policy request to iLOG JRules. If not straight-through, goes to Accept policy. Yes goes to email. No goes to humans.

Projetando as regras de negócios

O WebSphere ILOG JRules Rule Studio é um plug-in do Eclipse usado para construir projetos de regras. Para criar uma nova regra, conclua as seguintes etapas:

  1. SelecioneProgram Files > IBM WebSphere ILOG JRules V7.0.2 > Rule Studio para abrir o Rule Studio.
  2. Clique em File > New > Rule Project, como mostrado na Figura 2.
Figura 2. Criar um novo projeto de regras usando o Rule Studio
shows drop-down menu to create a new rule project
  1. SelecioneStandard Rule Project e insira um nome adequado para o projeto.
  2. Aceite as configurações padrão do objeto e clique emFinish.

O mapa do projeto de regras na parte inferior do Rule Studio orienta-o desde a definição do projeto de regras até a implementação do RuleApp.

Criar o XOM e o BOM

As regras criadas no ILOG JRules são executadas com relação a um Executable Object Model (XOM) que faz referência aos objetos e dados de aplicativo do aplicativo externo. O XOM é a implementação base do Business Object Model (BOM). BOM é o modelo contra o qual as regras são criadas. É possível criar um BOM a partir de um rascunho ou criá-lo automaticamente ao analisar o modelo de objeto de execução (XOM). Este artigo descreve como criar uma inicialização BOM a partir de um XOM, como mostrado nas etapas a seguir. O JRules permite criar o XOM a partir de objetos Java ou de XML. Este artigo usa um XOM em XML dinâmico.

  1. Salve os seguintes XSDs do FileNet em seu disco local: http://www.wfmc.org/standards/docs/TC-1025_bpmnxpdl_24.xsd e http://www.wfmc.org/standards/docs/TC-1025_schema_10_xpdl.xsd. O arquivo bpmnxpdl_24.xsd refere-se ao arquivo schema_10_xpdl.xsd como sua definição de esquema.
  2. Edite o arquivo bpmnxpdl_24.xsd e altere o atributo schemaLocation de http://www.wfmc.org/standards/docs/TC-1025_schema_10_xpdl.xsd para [localpath]/[filename].
  3. SelecioneImport XOM no mapa do projeto de regras.
  4. SelecioneDynamic Execution Object Model (XSD ou WSDL) na janela de seleção XOM.
  5. Clique em Add External XSD, como mostrado na figura 3.
Figura 3. Criar o XOM
Screen cap: Dynamic Execution Object Model with button highlighted
  1. Selecione o FileNet XSD (bpmnxpdl_24.xsd) e clique em Finish. Isso cria o XOM para o projeto de regras.
  2. Clique na definição da tarefa Create BOM no mapa do projeto e atribua um nome para o BOM.
  3. Certifique-se de que Create a BOM entry from a XOM está marcado e clique em Next..
  4. Clique em Browse XOM, selecione o único XOM disponível e clique em OK. As entradas disponíveis são mostradas na Figura 4.
Figura 4. Criar o BOM
Screen cap: New BOM Entry with button highlighted and org.wfmc._2002.xpdl1_0 highlighted
  1. Selecione a primeira entrada e clique em Finish. Espere alguns erros quando o BOM for criado, porque muitos membros do XOM têm o mesmo nome.
  2. Clique em cada um dos erros e altere a verbalização padrão ao anexar sufixos numéricos para corrigir os erros.
  3. Salve o projeto de regras. Os erros deverão desaparecer.

Crie os parâmetros necessários

As regras de negócios agem em um conjunto de objetos chamados parameters, que representam a interface do serviço de regra. Para criar os parâmetros, conclua as seguintes etapas:

  1. Clique em Define parameters no mapa do projeto de regras.
  2. Certifique-se de que a direção dos parâmetros está selecionada corretamente de acordo com seu projeto.
  3. Mantenha os nomes, tipos e verbalizações das variáveis do exemplo, incluindo as variáveis que são usadas neste artigo, como mostrado na Tabela 1.
Tabela 1. Variáveis principais de exemplo
NomeTipoDireçãoVerbalização
heightjava.lang.FloatINAltura
weightjava.lang.FloatINPeso
genderjava.lang.StringINSexo
dobjava.util.DateINData de nascimento
maritalStatusjava.lang.StringINEstado civil
empStatusjava.lang.StringINEstado trabalhista
monthlyIncomejava.lang.DoubleINRenda mensal
reqCoveragejava.lang.DoubleINCobertura solicitada
insurRejectedjava.lang.BooleanINSeguro rejeitado em 5 anos
empInsurancejava.lang.BooleanINCandidato tem Seguro fornecido pelo Empregador
otherInsurancejava.lang.BooleanINCandidato tem outro Seguro
hasAIDSjava.lang.BooleanINCandidato tem AIDS
isAlcoholicjava.lang.BooleanINCandidato é alcoólatra
hasCancerjava.lang.BooleanINCandidato tem câncer
hasKidneyStonesjava.lang.BooleanINCandidato tem pedras nos rins
hasTumorjava.lang.BooleanINCandidato tem tumor
hasHiBPjava.lang.BooleanINCandidato tem pressão alta
hasDiabetesjava.lang.BooleanINCandidato tem diabetes
bmijava.lang.FloatIN_OUTÍndice de massa corporal
bmiResultjava.lang.StringIN_OUTResultado do IMC
insuranceAcceptedjava.lang.BooleanOUTSeguro Aceito
aidsRatingjava.lang.IntegerIN_OUTClassificação da AIDS
cancerRatingjava.lang.IntegerIN_OUTClassificação do câncer
alcoholicRatingjava.lang.IntegerIN_OUTClassificação de Alcoolismo
kidneyStonesRatingjava.lang.IntegerIN_OUTClassificação das pedras nos rins
tumorRatingjava.lang.IntegerIN_OUTClassificação do tumor
diabetesRatingjava.lang.IntegerIN_OUTClassificação da diabetes
hiBPRatingjava.lang.IntegerIN_OUTClassificação da pressão alta
healthRatingjava.lang.IntegerIN_OUTClassificação de funcionamento

Criar o pacote de regras

As regras podem ser agrupadas em pacotes. Para criar um novo pacote de regras, clique em Add rule package no mapa do projeto de regras e atribua um nome adequado. Adicione os três pacotes de regras seguintes em ordem:

  1. Initialize: para inicializar os parâmetros usados nas regras de negócios
  2. Calculate: para calcular a classificação de bmi e de funcionamento
  3. Verify: para as regras de negócios atuais de underwriting automático

Crie as regras de negócios necessárias

Cada regra de negócios consiste em um conjunto de condições e um conjunto de ações. As condições e instruções agem sobre os parâmetros definidos no projeto de regras. Para criar uma regra de negócios, conclua as seguintes etapas:

  1. Clique em File > New > Business Rule e atribua um nome adequado.
  2. Selecione o pacote no qual deseja criar a regra.
  3. Clique em Finish. O editor de código solicita que insira a regra.
  4. No pacote Verify, crie uma regra no editor de código, como mostrado na Listagem 1, de modo que se o resultado de bmi de um paciente for Obese ou Underweight, o Insurance Accepted é definido para false.
Listagem 1. Regra para verificar o índice de massa corporal
se
     'BMI Result' for "Obese"
     ou 'BMI Result' for "Underweight"
     configure 'Insurance Accepted' para false;
  1. No pacote Verify, crie uma regra no editor de código, como mostrado na Listagem 2, de modo que se a classificação de saúde de um paciente for mais que 60 , o Insurance Accepted é definido para false.
Listagem 2. Regra para verificar uma classificação de funcionamento aceitável
Se
     'Health Rating' for mais que 60
 definir 'Insurance Accepted' para false;
  1. No pacote Verify, crie uma regra no editor de código, como mostrado na Listagem 3, de modo que se o seguro foi rejeitado nos 5 últimos anos, o Insurance Accepted é configurado para false.
Listagem 3. Regra para verificar se o seguro foi rejeitado nos últimos cinco anos
se
     'Insurance Rejected in 5 years' for true
  definir 'Insurance Accepted' para false;
  1. NO pacote Initialize, crie a regra no editor de código para inicializar os parâmetros, como mostrado na Listagem 4.
Listagem 4. Inicializar as variáveis de entrada
    definir 'Insurance Accepted' para true;
    definir 'AIDS Rating' para 100;
    definir 'Cancer Rating' para 90;
    definir 'Tumor Rating' para 80;
    definir 'Kidney Stones Rating' para 70;
    definir 'Diabetes Rating' para 60;
    definir 'Alcoholic Rating' para 50;
    definir 'High BP Rating' para 40;
    definir 'Body Mass index' para Weight / ( Height * Height);
    definir 'Health Rating' para 0;
  1. No pacote Calculate, crie o conjunto de regras uma após a outra com os nomes apropriados, como mostrado nas Listagens 5-11 para calcular a classificação de funcionamento das diferentes doenças.
Listagem 5. Se o candidato tiver AIDS, incluir na classificação de saúde
se
    'Applicant has AIDS'
 definir 'Health Rating' para 'Health Rating' + 'AIDS Rating';
Listagem 6. Se o candidato for alcoólatra, incluir na classificação de saúde
se
    'Applicant is Alcoholic'
definir 'Health Rating' para 'Health Rating' + 'Alcoholic Rating';
Listagem 7. Se o candidato tiver câncer, incluir na classificação de saúde
se
    'Applicant has Cancer'
definir 'Health Rating' para 'Health Rating' + 'Cancer Rating';
Listagem 8. Se o candidato tiver tumor, incluir na classificação de saúde
se
    'Applicant has Tumor'
definir 'Health Rating' para 'Health Rating' + 'Tumor Rating';
Listagem 9. se o candidato tiver pedras nos rins, incluir na classificação de saúde
se
    'Applicant has Kidney Stones'
definir 'Health Rating' para 'Health Rating' + 'Kidney Stones Rating';
Listagem 10. Se o candidato tiver diabetes, incluir na classificação de saúde
se
    'Applicant has Diabetes'
definir 'Health Rating' para 'Health Rating' + 'Diabetes Rating';
Listagem 11. Se o candidato tiver pressão alta, incluir na classificação de saúde
se
    'Applicant has High Blood Pressure'
definir 'Health Rating' para 'Health Rating' + 'High Blood Pressure Rating';
  1. Calcular o resultado do bmi usando uma tabela de decisão que correlaciona o bmi com o resultado do bmi, como mostrado na Figura 5.
Figura 5. Calcular o resultado do bmi usando uma tabela de decisão
Screen cap: decision table containg cutoffs for bmi

Criar o fluxo de regra

Um fluxo de regra determina a ordem da execução do conjunto de regras. Para criar um fluxo de regra, conclua as seguintes etapas.

  1. Clique em Add RuleFlow, atribua um nome e clique em Finish. Isso abrirá um editor gráfico.
  2. Clique no ícone Start e clique dentro da área do diagrama para criar o ponto de partida do fluxo.
  3. Clique para criar o terminal.
  4. Arraste os pacotes de regras do explorador de projetos para a área do diagrama na ordem de execução.
  5. Clique no ícone Create Transition e clique no objeto de partida.
  6. Clique no pacote de regras. Isso criará a transição entre a partida e o primeiro pacote de regras.
  7. Criar transições semelhantes para o resto dos pacotes de regras e para o terminal. A Figura 6 mostra o fluxo de regra resultante.
Figura 6. Criar o fluxo de regra
Flow from Initialize Input to Calculate bmi to Check bmi to lsInsuranceRejected to Initialize Health Rating to Calculate Health Rating to Verify Health Rating

Crie o aplicativo de regra

O aplicativo de regra é o archive de implementação que é implementado no servidor de execução. Para criar o aplicativo de regra, conclua as etapas a seguir.

  1. Clique em Create RuleApp no mapa do projeto de regras e atribua um nome.
  2. Selecione os projetos e conjuntos de regras que serão incluídos no archive.
  3. Clique em Finish.

O aplicativo de regra dos conjuntos de regras é criado. Agora é possível implementar diretamente o aplicativo no servidor de execução ou exportá-lo como um arquivo JAR para implementação posterior.


Executar, depurar e implementar as regras de negócios

Como o Rule Studio é baseado em um plug-in do Eclipse, é possível testar e depurar regras de negócios de maneira semelhante à de testar e depurar projetos Java. Conclua as etapas a seguir para restar e depurar as regras de negócios.

  1. Clique em Run > Open Run Dialog e configure um novo projeto de regras no menu de contexto.
  2. Forneça os valores iniciais dos parâmetros e clique em Run. Para testar os resultados, é possível inserir instruções de impressão dentro das regras e verificar a saída na janela do console.
  3. Quando estiver pronto para a implementação, clique com o botão direito no aplicativo de regra no explorador de projetos e clique em Ruleapp > Deploy. O diálogo de implementação é exibido.
  4. Aceite as configurações padrão e clique em Deploy. Isso implementa o archive RuleApp no servidor de execução da regra.
  5. Para verificar a implementação, abra o servidor de execução da regra usando Program Files > IBM WebSphere ILOG JRules V7.0.2 > Web Interfaces.
  6. Efetue login como resAdmin/resAdmin (ILOG Versão 7.0.2) e clique em Explorer .
  7. Clique na árvore RuleApps . O conjunto de regras recém-implementado é exibido, como mostrado na Figura 7.
Figura 7. Implementar as regras de negócios
Screen cap: UnderwritingApp Ruleset View with WSDL 'Get HTDS WSDL for the ruleset version' and 'Get HTDS WSDL for the latest ruleset version' highlighted

Extraindo o WSDL das regras implementadas

Web Services Description Language (WSDL) é uma linguagem de definição de interface para clientes de serviços da Web para identificar os detalhes de interface que o servidor fornece. Conclua as etapas a seguir para gerar o vínculo WSDL do conjunto de regras de ILOG implementado.

  1. Clique em Start > Program Files > IBM WebSphere ILOG JRules V7.0.2 > Web Interfaces para efetuar login no servidor de execução.
  2. Clique na definição da tarefa Explorer e selecione o conjunto de regras implementado.
  3. Clique em Get WSDL for the latest ruleset version.

Isso abrirá uma janela do navegador com o WSDL gerado em formato XML, como mostrado na Figura 8. É possível usar o WSDL do IBM FileNet P8 Process Designer para chamar os conjuntos de regras.

Figura 8. WSDL gerado para conjuntos de regras ILOG
For the deployed rulesets, WSDL can be generated from the Rule Execution Server

Projetando o fluxo de trabalho do processo usando o IBM FileNet P8

A etapa mais importante na implementação do caso de uso do exemplo é projetar o fluxo de trabalho do processo. É possível criar o fluxo de trabalho usando o IBM FileNet P8 Process Designer concluindo as duas etapas a seguir.

  1. Efetue sign in no IBM FileNet P8 Workplace usando suas credenciais.
  2. Inicie o Process Designer clicando em Author > Advanced Tools no quadro esquerdo da tela. O applet do designer é aberto.
  3. Arraste e solte as etapas do fluxo de trabalho da paleta do BPM e crie o fluxo de trabalho em que o Personal Insurance (Automated Underwriting) é uma tarefa de sistema que invoca o HTDS de JRules para processamento reto e direto de underwriting automático, como mostrado na Figura 9. Consulte Recursos para obter informações sobre as etapas do fluxo de trabalho.
Figura 9. Fluxo de trabalho do processo
Screen cap: Workplace Process Designer with Automatede Underwriting, if True then to email; if false then to Human then Email

Criar as variáveis necessárias do fluxo de trabalho

Variáveis do fluxo de trabalho são a base da interação humano-sistema dentro do fluxo de trabalho. Também são usadas para roteamento condicional entre as diversas etapas do fluxo de trabalho. Para criar variáveis do fluxo de trabalho, conclua as etapas a seguir.

  1. Clique no ícone Workflow Properties no Process Designer.
  2. Abra o módulo Data Fields .
  3. , dê clique duplo na grade de dados e crie as variáveis com os tipos de dados associados, como mostrado na Tabela 2. Certifique-se de que o tipo de dados de Merge Type é Override.
, Tabela 2. Variáveis do fluxo de trabalho
NomeTipoMerge Type
FirstNameStringOverride
FirstNameStringOverride
LastNameStringOverride
HeightFloatOverride
WeightFloatOverride
GenderStringOverride
dobTimeOverride
MaritalStatusStringOverride
EmpStatusStringOverride
MonthlyIncomeFloatOverride
CoverageAmountFloatOverride
InsurRejectedBooleanOverride
EmpProvidedInsurBooleanOverride
otherInsuranceBooleanOverride
hasAIDSBooleanOverride
isAlcoholicBooleanOverride
hasCancerBooleanOverride
hasKidneyStonesBooleanOverride
hasTumorBooleanOverride
hasHiBPBooleanOverride
hasDiabetesBooleanOverride
InsuranceTypeStringOverride
insuranceAcceptedBooleanOverride
iLOG_RES_StringStringOverride
iLOG_RESNumRulesIntegerOverride
bmiResultStringOverride
bmiFloatOverride
aidsRatingIntegerOverride
cancerRatingIntegerOverride
alcoholicRatingIntegerOverride
kidneyStonesRatingIntegerOverride
tumorRatingIntegerOverride
diabetesRatingIntegerOverride
hiBPRatingIntegerOverride
healthRatingIntegerOverride

Associando variáveis do fluxo de trabalho às etapas e atribuindo participantes

Ao atribuir variáveis do fluxo de trabalho às etapas, elas são exibidas no processador de etapas dessa etapa e agem como campos de entrada ou campos de informações preenchidos a partir das etapas anteriores. Lembre-se de que variáveis do fluxo de trabalho são globais para todas as etapas. Para atribuir variáveis às etapas atuais, conclua as etapas a seguir.

  1. Clique na etapa à qual deseja atribuir as variáveis.
  2. No painel de propriedades da etapa, clique na guia Parameters (Para o LaunchStep, clique na guia General ).
  3. Selecione os seguintes parâmetros na lista Avaiable Parameters que deseja atribuir à etapa de ativação e use a seta da direita para mover os parâmetros para a lista Selected Parameters:
    • insuranceAccepted[RW]
    • bmi[RW]
    • bmiResult[RW]
    • CoverageAmount[RW]
    • dob[RW]
    • EmpProvidedInsur[RW]
    • EmpStatus[RW]
    • FirstName[RW]
    • Gender[RW]
    • Height[RW]
    • hasAIDS[RW]
    • isAlcoholic[RW]
    • hasHiBP[RW]
    • hasCancer[RW]
    • hasDiabetes[RW]
    • hasKidneyStones[RW]
    • hasTumor[RW]
    • InsurRejected[RW]
    • LastName[RW]
    • MaritalStatus[RW]
    • MonthlyIncome[RW]
    • otherInsurance[RW]
    • Weight[RW]
  4. Selecione e mova os seguintes parâmetros para atribuí-los a Selected Parameters da etapa Human Underwriting:
    • CoverageAmount[RW]
    • dob[RW]
    • EmpProvidedInsur[RW]
    • EmpStatus[RW]
    • FirstName[RW]
    • Gender[RW]
    • Height[RW]
    • hasAIDS[RW]
    • isAlcoholic[RW]
    • hasHiBP[RW]
    • hasCancer[RW]
    • hasDiabetes[RW]
    • hasKidneyStones[RW]
    • hasTumor[RW]
    • InsurRejected[RW]
    • LastName[RW]
    • MaritalStatus[RW]
    • MonthlyIncome[RW]
    • otherInsurance[RW]
    • Weight[RW]
  5. Selecione e mova os seguintes parâmetros para atribuí-los à etapa Email Notification:
    • InsuranceType[RW]
    • insuranceAccepted[RW]
    • FirstName[RW]
    • LastName[RW]

Para tarefas manuais (Human Underwriting e Email Notification), os participantes do fluxo de trabalho deverão ser atribuídos. Para adicionar um participante a uma tarefa, conclua as etapas a seguir.

  1. Clique na etapa.
  2. Na guia General na área do participante, verifique o botão de opções Participants .
  3. Selecione um usuário com privilégios para processar itens de trabalho. Para simplicidade, atribua o usuário Administrator a todas as etapas manuais, como mostrado na Figura 10.
Figura 10. Associar participante do fluxo de trabalho
Workflow participant assigned for human steps in the workflow

Após associar variáveis e participantes às etapas, inclua as condições para roteamento concluindo as etapas a seguir.

  1. Clique em Result = True.
  2. InsirainsuranceAccepted = true para a condição de roteamento.
  3. Clique em Result = False.
  4. InsirainsuranceAccepted = false para a condição de roteamento.

Configurando o IBM FileNet P8 BPM para consumir serviços da Web

Para configurar o IBM FileNet P8 BPM para consumir serviços da Web, conclua as etapas a seguir.

  1. Clique em Workplace Admine abra o applet Configuration Console.
  2. Conecte-se à sua região isolada.
  3. Clique com o botão direito na região e clique em Properties.
  4. Clique na definição da tarefa Web Services e ative a caixa de seleção Enable Process Designer to enter WSDL links without browsing for Web Services, como mostrado na Figura 11.
Figura 11. Permitir ao designer de processo aceitar a URL do WSDL diretamente
Enable the flag in process configuration console to allow the copy-paste of WSDL URL directly onto process designer

Configurando a etapa de invocação do fluxo de trabalho para executar as regras de negócios

Para usar o serviço da Web que o ILOS expõe é necessário configurar um link de parceiro com o WSDL extraído do servidor de execução do ILOG. Para configurar o link de parceiro, complete as etapas a seguir.

  1. Clique em Workflow Properties > Web Services no Process Designer.
  2. Dê dois cliques na linha vazia da lista Partner Links para incluir um novo link de parceiro.
  3. Clique na definição da tarefa Invoke .
  4. No campo, cole o link do WSDL que o ILOG gerou.
  5. Certifique-se de que Port Type seja selecionado automaticamente para ILOG WSDL. A tela resultante é mostrada na Figura 12.
Figura 12. Configurar o fluxo de trabalho para consumir serviços da Web
Screen cap: Web Services tab with iLOG_TDS and Invoke partner links highlighted; Invoke is checked; Port Type is DecisionServiceExpertUnderwriting
  1. Assim que o link de parceiro estiver configurado, clique na tarefa de invocação dos serviços da Web, como Personal Insurance (Automated Underwriting). Essa é uma tarefa do sistema, logo Invoke é a operação selecionada na lista selecionada.
  2. Dê clique duplo em Invoke para configurar a invocação do serviço da Web.
  3. Selecione o link de parceiro criado e selecione a operação. Para o ILOG, selecione apenas executeDecisionService() . O Process Designer preenche todas as variáveis de entrada e saída do serviço da Web em duas listas separadas nas quais é possível selecionar as variáveis locais para mapear.
  4. Selecione as variáveis locais adequadas para cada uma das variáveis de entrada e saída na lista suspensa. A Figura 24 mostra o mapeamento das variáveis de saída.
Tabela 3. Mapear as variáveis de saída para enviar dados para o serviço da Web ILOG
NomeTipoExpression
heightFloatHeight
weightFloatWeight
genderStringGender
dobTimedob
maritalStatusStringMaritalStatus
empStatusStringEmpStatus
monthlyIncomeFloatMonthlyIncome
reqCoverageFloatreqCoverage
insurRejectedBooleanInsurRejected
empInsuranceBooleanEmpProvidedInsur
otherInsuranceBooleanotherInsurance
hasAIDSBooleanhasAIDS
isAlcoholicBooleanisAlcoholic
hasCancerBooleanhasCancer
hasKidneyStonesBooleanhasKidneyStones
hasTumorBooleanhasTumor
hasHiBPBooleanhasHiBP
hasDiabetesBooleanhasDiabetes
bmiFloatbmi
bmiResultStringbmiResult
insuranceAcceptedBooleaninsuranceAccepted
aidsRatingIntegeraidsRating
cancerRatingIntegercancerRating
alcoholicRatingIntegeralcoholicRating
kidneyStonesRatingIntegerkidneyStonesRating
tumorRatingIntegertumorRating
diabetesRatingIntegerdiabetesRating
hiBPRatingIntegerhiBPRating
healthRatingIntegerhealthRating

A Tabela 4 mostra o mapeamento das variáveis de entrada.

Tabela 4. Mapear as variáveis de entrada para consumir o serviço da Web ILOG
NomeTipoField Name
ilog.rules.outputStringStringiLOG_RES_String
ilog.rules.firedRulesCountIntegeriLOG_RES_NumRules
heightFloatHeight
weightFloatWeight
genderStringGender
dobTimedob
maritalStatusStringMaritalStatus
empStatusStringEmpStatus
monthlyIncomeFloatMonthlyIncome
reqCoverageFloatreqCoverage
insurRejectedBooleanInsurRejected
empInsuranceBooleanEmpProvidedInsur
otherInsuranceBooleanotherInsurance
hasAIDSBooleanhasAIDS
isAlcoholicBooleanisAlcoholic
hasCancerBooleanhasCancer
hasKidneyStonesBooleanhasKidneyStones
hasTumorBooleanhasTumor
hasHiBPBooleanhasHiBP
hasDiabetesBooleanhasDiabetes
bmiFloatbmi
bmiResultStringbmiResult
insuranceAcceptedBooleaninsuranceAccepted
aidsRatingIntegeraidsRating
cancerRatingIntegercancerRating
alcoholicRatingIntegeralcoholicRating
kidneyStonesRatingIntegerkidneyStonesRating
tumorRatingIntegertumorRating
diabetesRatingIntegerdiabetesRating
hiBPRatingIntegerhiBPRating
healthRatingIntegerhealthRating

Ativação do fluxo de trabalho e teste das regras de negócios em ação

Com o link de parceiro selecionado e as variáveis mapeadas, você está pronto para ativar o fluxo de trabalho ao concluir as etapas a seguir.

  1. Valide o fluxo de trabalho clicando em File > Validate Workflow Collection.
  2. Clique em File > Transfer Workflow Collection para transferir o fluxo de trabalho para o armazenamento de objeto e o Process Engine.
  3. Ao transferir, selecione um título apropriado para o documento e selecione um local no objectstore para armazenar o fluxo de trabalho.
  4. Selecione as configurações de segurança padrão para o documento.
  5. Clique em File > Launch Main Workflow para ativar o fluxo de trabalho. Lembre-se de que selecionou Administrator como o usuário padrão de todas as tarefas manuais. A janela de ativação é exibida e age como um formulário de entrada, como mostrado na Figura 13.
Figura 13. Ativar o fluxo de trabalho
Launch the workflow by filling in the input fields with any appropriate values and click Launch
  1. Preencha os campos com qualquer valor apropriado e clique em Launch, como mostrado na Figura 13.

A tarefa de underwriting automatizado é executada. Se o mecanismo de regras der uma resposta positiva, a tarefa é roteada para a tarefa de notificação por e-mail. Se o mecanismo de regras der uma resposta negativa, a tarefa é roteada para a tarefa de underwriters humanos.

Para verificar os resultados, clique em Tasks > Inbox no local de trabalho e clique no processador de etapa do item de trabalho.


Fazendo o ajuste com dicas e truques

Considere usar as tarefas a seguir para otimizar seu trabalho.

  • Se você usar os mesmos nomes de variáveis no Rule Studio e no IBM FileNet P8 Process Designer, o mapeamento da variável na etapa de chamar é feito automaticamente.
  • Se for usado o WSDL para a versão de conjunto de regras mais recente, é possível modificar as regras e implementá-las como versões secundárias sem afetar o fluxo de trabalho. O fluxo de trabalho usa o conjunto de regras mais recente para a sua execução.
  • Quando houver um grande conjunto de regras que agem no mesmo conjunto de variáveis organizadas na forma de registros (por exemplo, de uma planilha Excel® ), use função de importação do ILOG JRules. Ela permite importar um arquivo Excel e criar uma tabela de decisão.
  • Ao invés do arquivo XSD de exemplo, é possível criar seu próprio arquivo XML básico com diferentes variáveis e tipos para desenvolver um arquivo XSD para criar um XOM.

Usando integração dos serviços da Web, uma alternativa ao HTDS

Há duas maneiras de o IBM FileNet P8 BPM e o IBM WebSphere ILOG JRules poderem alcançar a integração de serviços da Web. Como descrito em Configuring the workflow invoke step to execute the business rules, é possível usar o HTDS WSDL diretamente no fluxo de trabalho do processo e mapear as variáveis de entrada e saída. Ou é possível gerar um cliente de serviço da Web para o conjunto de regras usando a função de gerador de código do ILOG Rule Studio. Para usar a função de gerador de código, crie um componente Java® que faz chamadas de serviço da Web usando o cliente gerado e integra o componente ao fluxo de trabalho de processo. Consulte a seção Recursos para saber as boas práticas relativas à configuração e implementação e para obter a documentação do produto para usar esse método.


conclusão

Este arquivo descreve como integrar IBM FileNet P8 BPM com IBM WebSphere ILOG JRules usando serviços da Web. Também detalha as etapas para desenvolver e implementar as regras de negócios usando as ferramentas fornecidas. Uma solução em que o IBM FileNet P8 BPM é usado em conjunção com o JRulespermite mudanças rápidas nas decisões de negócios, o que por sua vez ajuda uma organização a afirmar a sua posição no mercado competitivo atual. A solução melhora a agilidade dos processos de negócios e fornece o conjunto de ferramentas apropriado para cada uma das partes interessadas.

Reconhecimentos

Nossa mais profunda gratidão aos seguintes revisores que gastaram seu tempo valioso revisando e dando sugestões e fazendo comentários sobre todos os aspectos deste artigo:

  • Chris Berg - Gerente de Produto (WebSphere BRMS)
  • Andy J Ritchie - ILOG Development Integration & Synergy (WebSphere BRMS)
  • Jiehua Eva Lu - Gerente de Aliança Técnica (WebSphere BRMS)
  • Srinivas Nv Gannavarapu - Engenheiro de Software Consultivo (Enterprise Content Management)

Recursos

Aprender

Obter produtos e tecnologias

  • Construa seu próximo projeto de desenvolvimento com o software de teste da IBM , disponível para download diretamente no developerWorks.

Discutir

Comentários

developerWorks: Conecte-se

Los campos obligatorios están marcados con un asterisco (*).


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


A primeira vez que você entrar no developerWorks, um perfil é criado para você. Informações no seu perfil (seu nome, país / região, e nome da empresa) é apresentado ao público e vai acompanhar qualquer conteúdo que você postar, a menos que você opte por esconder o nome da empresa. Você pode atualizar sua conta IBM a qualquer momento.

Todas as informações enviadas são seguras.

Elija su nombre para mostrar



Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Los campos obligatorios están marcados con un asterisco (*).

(Escolha um nome de exibição de 3 - 31 caracteres.)

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


Todas as informações enviadas são seguras.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Information Management, WebSphere, Segmentos de mercado
ArticleID=604380
ArticleTitle=Integrar IBM FileNet P8 BPM com o IBM WebSphere ILOG JRules Usando Serviços da Web
publish-date=11112010