Gerenciamento de Processos de
Negócio Usando Álgebra de
Processos
V CONGED � Congresso de Tecnologias para Gestão de Dados e Metadados do Cone Sul
João Eduardo Ferreira ([email protected])
Esta palestra é uma síntese dos trabalhos desenvolvidos no Laboratório de Banco de Dados do Departamento de Ciência da Computação Instituto de Matemática e Estatística Universidade de São Paulo. Em especial nesta palestra abordaremos resultados dos pesquisadores: Devanir Zuliani, Grace Borges, Kelly R. Braghetto, Marcio K. Oikawa e Pedro L. Takecian.
id12763000 pdfMachine by Broadgun Software - a great PDF writer! - a great PDF creator! - http://www.pdfmachine.com http://www.broadgun.com
Agenda
� Contextualização - Motivação
� Histórico do Gerenciamento de Processos de
Negócio (GPN)
� Exemplo� Fundamentos para GPN:
- BPMN e BPEL- Redes de Petri e - Álgebra de Processos
- Padrões para Controle de fluxo
� Alternativa para Projetos de GPN� Planos de Navegação e GPN
� Conclusão
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
Contextualização
� Cenário corporativo cada vez mais competitivo;
� Mudanças repentinas nas regras de negócio;
� Integração de Processos colaborativos para realizar
cadeia de valor;� Gestão por processos (visão horizontal) em
contrapartida a gestão departamental (Visão
vertical);� Necessidades organizacionais voltadas para a
qualidade, flexibilidade e eficiência dos processos
de negócio;
� Customização de produtos para satisfazer
consumidores específicos.
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
Motivação
� Necessidades de métodos, técnicas e ferramentas
principalmente para apoiar o projeto dos processos de negócio;
� Diversas tecnologias como a Reengenharia, ERPs, entre outras, surgiram como apoio a automatização e gestão de
processos de negócio. A principal crítica é quanto a falta de
flexibilidade.
� Modelagem de processos como atividade fundamental para caracterizar, identificar e especificar os processos de negócio;
� abordagem formal X modelagem amigável em processos:
necessidade de uma abordagem �didática� para construção
de projetos conceituais de processos de negócio.
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
Motivação
� Necessidade de controle e execução confiáveis dos
processos de negócio.
� Diversas tecnologias propostas, entretanto poucas tornam transparentes os fundamentos para os mecanismos de controle.
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
Histórico
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
Antes dos anos 70
. Processos produtivos baseados em pessoas eferramentas de apoio;
. Uso do computador era caro e complexo;
. Automatização de trabalhos repetitivos;
. Barateamento do custo total dos produtos;
. Grande dificuldade em melhorar a coordenação
de tarefas.
Histórico
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
Nas décadas de 70 e 80
. Skip Ellis, Anatol Holt e Michael Zisman;
. Preocupação com a coordenação de tarefas;
. �Office Information Systems�;
. No início, grande otimismo;
. Fracasso na maioria das aplicações;
. Estagnação.
Histórico
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
Na década de 90
. Interesse renovado;
. Retomada das pesquisas;
. Início dos Sistemas Gerenciadores de Workflow.
Atualmente. Muitos produtos comerciais disponíveis;
. Utilização restrita a setores específicos;
. Existência de problemas conceituais:
. Falta de padronização na modelagem de processos;
. Rigidez imposta pelos sistemas.
Histórico
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
Desafios atuais
. Escolha da melhor fundamentação matemática;
. Escolha da melhor linguagem para representação e execução de processos
de negócio.
Exemplo - DECA Eletrônica da SEFAZ-SP
DECA Eletrônica da SEFAZ-SP
� Sistema cadastral utilizado pela SEFAZ-SP para captar, armazenar e
gerenciar os dados cadastrais das empresas contribuintes do ICMS;
� Possui características de processos colaborativos e gerenciamento de processos de negócio;
�O Posto Fiscal Eletrônico � PFE é o portal por meio do qual a SEFAZ
disponibiliza aos seus contribuintes e demais usuários todos os seus serviços
operados de forma eletrônica;
� DECA Eletrônica efetua troca de informações com outros sistemas
governamentais e ou privados como: JUCESP, CETESB, Vig. Sanitária e CRC;
� O Contribuinte não precisa apresentar nenhum documento comprobatório
das informações prestadas;
� A partir da sua implantação que ocorreu em 2000 o tempo de uma abertura reduziu de meses para horas.
Exemplo - DECA Eletrônica da SEFAZ-SP
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
SEFAZ SP SRFJUCESP SP
contribuintesInterfaces �Off-line�
Processamento da requisição deTax_ID (~50.000 por mês) feitas manualmente
tinham a duração de 20 dias.
Exemplo - DECA Eletrônica da SEFAZ-SP
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
CETESB
JUCESP
SRF
Outros
- Requisição usando serviço de interface
Web;
- Requisição �navega� por várias
instituições.
Controle
centralizado
Desafios subjacentes ao exemplo
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
� Processamento de requisição consiste em
dois passos: � Validação e verificação da requisição;
� Decisão para aprovar ou reprovar a
requisição.
� Processamento de requisição é parte de:
� E-commerce�Workflows científicos: aplicações em
bioinformática para aquisição e análise de
dados.
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
Características:
� Representação concisa das regras de
verificação e validação;
� Controle correto e execução eficiente do
conjunto de regras e atividades;
� Integração com sistemas autônomos e
heterogêneos;
� Variedade de requisições de serviços
Desafios subjacentes ao exemplo
Agenda
� Contextualização - Motivação
� Histórico do Gerenciamento de Processos de
Negócio (GPN)
� Exemplo� Fundamentos para GPN:
- BPMN e BPEL- Redes de Petri e - Álgebra de Processos
- Padrões para Controle de fluxo
� Alternativa para Projetos de GPN� Planos de Navegação e GPN
� Conclusão
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
Gerenciamento de Processos de Negócio (GPN ou BPM)
� �oferece uma das primeiras oportunidades reais para a separação
de gerenciamento de negócios do gerenciamento de sistemas
[DELPHI GROUP 2005]
� O GPN, por meio de suas linguagens de modelagem e execução de
processos, apoiadas por padrões de controle de fluxo, possui um
repositório capaz de representar, simular, executar e gerenciar
processos de negócio.
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
FUNDAMENTOS
PROCESSO DE NEGÓCIO (DEFINIÇÕES)
� �Um processo de negócio é uma ordenação de atividades de trabalho
utilizando tempo e espaço, com um início, um fim e um conjunto
claramente definido de entradas e saídas [DAVENPORT 1994]�.
� �um conjunto de um ou mais procedimentos e de atividades ligadas, os
quais coletivamente realizam um objetivo de negócio ou político,
normalmente dentro de um contexto de uma estrutura organizacional,
definindo papeis e relacionamentos funcionais� [WfMC 1995].
� �uma seqüência de atividades que satisfazem as necessidades de um
cliente externo ou interno [JURAN 1998]�.
� �Um processo de negócio é um conjunto completo e dinamicamente
coordenado de atividades colaborativas e transacionais que gera valor aos clientes� [SMITH, FINGAR, 2003].
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
FUNDAMENTOS
Processos e instância
Em todos os processos uma �coisa� tangível é produzida ou modificada, seja um objeto específico ou algo mais abstrato. AALST, HEE [2002] chamam essas �coisas� de uma �instância�.
Uma instância possui a seguinte anatomia:
� Todas as instâncias possuem um início e um fim;
� Cada instância deve ser identificada univocamente;
� Cada instância envolve um processo de execução;
� Um processo consiste de um número de tarefas que precisam ser executas e
um conjunto de condições que determinam a ordem das tarefas;
� Uma tarefa é uma unidade lógica de trabalho que é executada como um todo por um
recurso;
� Um recurso é o nome genérico para uma pessoa, máquina ou grupo de pessoas ou
máquinas que podem realizar tarefas específicas.
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
FUNDAMENTOS
SÍNTESE DOS PADRÕES DE CONTROLE
BC
Di fA
Padrão
seqüência
Passos em paralelo
Seleção
Ponto de Sincronização
de fluxo
Emprego de Padrões
de controle de fluxo
iteração
Relação de
dependência
E
Ponto de divisão de
fluxo
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
O que é o BPM ou GPN ?
O GPN é um novo método e uma nova tecnologia para manipulação
de processos [SMITH, FINGAR, 2003];
O GPN também pode ser compreendido por meio das seguintes
características [DELPHI GROUP 2005]:
� Separar sistemas dos processos que eles apóiam;
� Orquestrar componentes abstratos de funcionalidades de aplicativos por meio
de modelos de processos adaptáveis e dirigidos ao contexto;
� Prover a visibilidade e o �feed-back� necessário para alavancar a
adaptabilidade oferecida pela orquestração de processo.
O GPN cobre o ciclo-de-vida dos processos por meio da seguintes fases: projeto, implementação, execução e diagnóstico [AALST, HOFSTEDE,
WESKE 2003]
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
FUNDAMENTOS
Surgimento do BPM
o BPM surgiu da convergência entre três tecnologias: Workflow, EAI
(Enterprise Application Integration ) e Web [HOLLINGSWORTH 2004]
Fonte: adaptada de [HOLLINGSWORTH. D et all, 2004]
FUNDAMENTOS
Workflow
� �A automação de um processo de negócio, durante o qual documentos,
informações ou tarefas são passadas de um participante a outro, de acordo
com um conjunto de regras procedimentais [WfMC mod ref. 1003]�.
Web
�Nova base de infra-estrutura construída em torno dos protocolos de
serviços e padrões como: HTTP, XML, SOAP, WSDL
� Web Services, paradigma emergente para arquiteturas e implementações
de negócios colaborativos dentro e fora dos limites organizacionais.
EAI
��middleware� ou software que fornece a infra-estrutura para conectar informação entre aplicações internas das organizações [PINKSTON. J 2004 pg, 48]. EAI enfatiza os aspectos de automatização transacional.
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
FUNDAMENTOS
� Monitoramento Visual do Processo
� Ambiente de Alertas
� Workflow
� Análise do Processo
Gestão de
ConteúdoDesenho deFormulários
Ambientede Edição
Gestão de
Registros
ConteúdoWeb
RepresentarProcesso
Ambientede
Execução
Simulador
Módulo de
BAM
Módulos
do BPM
Módulo de
Projeto
Módulo de
Execução
Usuário Adm.
API
Servidor
de EAI
XM
L
WS
Out
ros
Out
ros
APIToolkit
Integração
Aplicações Corporativas
ERP
CRM
SCM
Tel
efon
emas
Fax
Arq
. Pap
el
Áud
io/V
ídeoConteúdo não
Estruturado
DB2 Oracle MS-SQL Adabas MySQLBancos de Dados
Empresariais
Repositóriode
Metadados
Fonte: Identitech
Visão geral de uma implementação de BPM
FUNDAMENTOS
Fonte: [W.M.P. van der Aalst et al, 2003].
CICLO DE VIDA DO WORKFLOW X BPM
DIFERENÇAS ENTRE WORKFLOW e BPM
� Enfoque do gerenciamento de Workflow tradicional está na metade inferior
do ciclo de vida do BPM.
� No workflow, a fase de projeto é limitado ao fornecimento de um editor, o apoio para análise e ao projeto não existe [AALST W.M.P. van der et al, 2003]
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
FUNDAMENTOS
MODELAGEM E EXECUÇÃO DE PROCESSOS
�A BPMN - Business Process Management Notation realiza a especificação do
processo de negócio por meio de gráficos que representam a sua lógica e se utiliza de
um Diagrama de Processo de Negócio (BPD-Business Process Diagram);
� A BPEL4WS - Business Process execution Language for Web Services é uma
linguagem que utiliza o formato XML, é resultante da fusão das linguagens: Web
Service Flow language (WSFL) desenvolvida pela IBM, e Web Service for Business
Process Design (XLANG) desenvolvida pela Microsoft.
BPMN
Arquivo Linguagem
BPEL4WS
FUNDAMENTOS
Elementos de modelagem da notação BPMN
● Fluxo de objetos : Eventos, Atividades e Gateways;
● Objetos de conexão: Fluxo de seqüência, Fluxos de mensagem,
Associação
● Raias : Piscinas e Pistas● Artefatos
P
I
S
C
I
N
A
R
A
I
A
R
A
I
A
EventoGatewey
Atividade
Fluxo de sequência
Fluxo de mensagem
Associação
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
FUNDAMENTOS
Tipos de eventos da BPMN
Cron
ôm
etr
o
Ex
ecu
ção
Ca
ncela
men
to
Co
mp
en
saçã
o
Reg
ra
Ata
lho
Mú
ltip
los
En
cerra
men
to
Inicial
Intermediário
Final
Tipos de Sub-processos da BPMN
Subprocesso Expandido
Laço Instância Múltipla Ordem de Execução Compensação
variada
Subprocesso compactado
Tipos de Gateways
Exclus ivo De cis ão/União E-Paralelo
XOR-Baseado OU Inclusivo Complexo Bifurcação/
em Dados em Eventos Decisão/União Decisão/União Junção
OU
Exemplo com Gateway �XOR� � Baseado em eventos
Tipos de fluxos
Fluxo de Sequência
Fluxo de Sequência Condic ional
Fluxo de Sequência por Definição(Defalt )
Banco LojaPedido deautorização
Resposta aoPedido
Criar
ListaLista
Prod.
Lista
Associação
Associação
Direcionada
Tipos de Associação
FUNDAMENTOS
FUNDAMENTOS
Organizações que apóiam o Workflow e BPM
� WFMC � Workflow Management Coalition, fundada em 1993 com a finalidade de promover a padronização na termologia de Workflow objetivando a interoperabilidade entre diferentes sistemas de workflow. Atualmente juntou-se a Object Management Group (OMG)
XPDL - XML Process definition Language, é um padrão XML de
descrição de regras de processos de negócio capitaneado pela WFMC. A
versão 2.0 do XPDL, publicada em outubro de 2005, incorporou a notação
da BPMN.
� BPMI - Business Processes Management Initiative, fundada em 2000, conta com cerca de 300 corporações como: IBM, Microsoft, BEA, Oracle, entre outras.
Atualmente juntou-se a Organization for the Advancement of Structured
Information Standards (OASIS) para da continuidade a BPEL4WS.
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
Fundamentos: Síntese BPEL
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
Surgimento. Web Services Flow Language - WSFL (IBM);. Web Services for Business Process Design - XLANG(Microsoft);. Business Process Execution Language - BPEL.
Versões
. BPEL4WS1.0;
. BPEL4WS1.1;
. WS-BPEL 2.0.
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
BPEL e serviços Web
. Baseada em XML;
. Utilizada no contexto de serviços Web;
Serviço Web descrito por WSDL;. Interações por interfaces disponibilizadas
pelos serviços;
. Modular e composicional.
Fundamentos: Síntese BPEL
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
Manipulação de dados
. Objetivo de controlar o fluxo do processo;
. Manipular dados das mensagens;
. Tratamento de dados nos serviços web;
. Provê funções limitadas;
. Utiliza variáveis e expressões.
Fundamentos: Síntese BPEL
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
União de dois paradigmas
. WSFL: estrutura de grafos;
. XLANG: estrutura hierárquica formada por �blocos�;
. BPEL: utiliza as duas abordagens.
Atividades. Processo relaciona diversas atividades;. Duas categorias: básicas e estruturadas;
. Básicas: ações atômicas do comportamento do processo;
. Estruturadas: regras de comportamento e restrições.
Fundamentos: Síntese BPEL
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
Atividades básicas
Invoke: chamada a serviços;
Receive: espera por mensagem;Reply: envia resposta;Wait: aguarda por um tempo;Assign: copia dados;Throw: sinaliza falha;
Fundamentos: Síntese BPEL
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
Atividades básicas (cont.)
. Compensate: compensação de escopo;
. Exit: finaliza instância;
. Empty: ponto de sincronização;
. Rethrow: lança falhas capturadas;
. Validate: valida valores;
. ExtensionActivity: define novas atividades.
Fundamentos: Síntese BPEL
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
Atividades estruturadas
. Sequence: seqüência de atividades;
. Flow: atividades concorrentes;
. Pick: pares evento-atividade;
. While: repetição de atividade;
. RepeatUntil: repetição de atividade;
. Scope: agrupa atividades;
. If : comportamento condicional;
. ForEach: repetição de atividade.
Fundamentos: Síntese BPEL
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
Processamento de um Pedido
Fundamentos: Síntese BPEL
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
Fundamentos: Síntese BPEL
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
Cenário recente
. Vários produtos de para gerenciamento de processos;
. Várias linguagens de composição de serviços web;
. Trabalho comparativo utilizando padrões de controle
de fluxo.
Conclusões
. Linguagens de composição são mais expressivas;
. Nenhuma linguagem mostra-se perfeita;
. BPEL de fato representa união de padrões;
. BPEL é a mais representativa.
Fundamentos: Síntese BPEL
FUNDAMENTAÇÃO TEÓRICA � critérios para escolha de
ferramenta de BPM
Critérios para escolha de ferramentas de BPM
� Com base em pesquisas realizadas com 900 empresas pertencentes a
vários setores da economia pelo DELPHI GROUP [2003]
Ambiente que permita apresentar e alterar as descrições gráficas dos processos e as especificações das regras de negócio, em tempo de execução
do processo;
Uma máquina de execução BPM (engine) que use as descrições dos
processos para controlar a chamada manual ou automática de componentes de software;
Um repositório de metadados do ambiente de BPM que possa armazenar informações sobre os processos e a sua execução;
Um padrão aberto de linguagem que facilite o processamento de Web services;
Uma interface de BAM para que gerentes possam obter informações sobre
processos específicos administrados por eles;
Habilidade para apoio à simulação de processos de negócio.
Agenda
� Contextualização - Motivação
� Histórico do Gerenciamento de Processos de
Negócio (GPN)
� Exemplo� Fundamentos para GPN:
- BPMN e BPEL- Redes de Petri e - Álgebra de Processos
- Padrões para Controle de fluxo
� Alternativa para Projetos de GPN� Planos de Navegação e GPN
� Conclusão
Fundamentos: Redes de Petri
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
Características:
� Técnica de especificação formal
� Possui representação gráfica
� Baseia-se em estados e não apenas em
eventos
� Possui várias técnicas de análise do modelo
Fundamentos: Redes de Petri
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
� Componentes:� Transições
� Lugares� Arcos dirigidos
� Marcas� Marcação
� Peso
2
p1 p2
t
M0 = (3, 0)
Fundamentos: Redes de Petri
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
� Exemplo: Atendimento a reclamações
Reclamação
registrar
Sob
avaliação
pagar
enviar
carta
Pronto
Fundamentos: Redes de Petri
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
� Limitações:
� Apenas um tipo de marca
� Não diferencia recursos de um mesmo lugar
� Manipulações de dados representadas na
estrutura da rede
� Modelos excessivamente grandes
� Redes de alto nível
� Redes de Petri Coloridas
� Redes de Petri Hierárquicas
Fundamentos: Redes de Petri
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
Processo q
Processo p
2
R
S
T
2
22
Q1
Aq
Q2
Bq
Q3
Cq
Q4
Dq
Q5
Eq
P2
Bp
P3
Cp
P4
Dp
P5
Ep
Mais um processo?
Fundamentos: Redes de Petri Coloridas
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
� Características:
� Incorporam tipos de dados (conjuntos de cores)
� Pode utilizar decomposição hierárquica
� Permite redução do modelo
� Exemplo: Linha de manufatura
Fundamentos: Redes de Petri Coloridas
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
� Composta por:
� Estrutura: lugares, transições, arcos, marcas
(textual)
� Declarações: conjuntos de cores e variáveis
� Inscrições
� Lugar: nome; conjunto de cores; marcação inicial;
� Transição: nome; expressão de guarda;
� Arco: expressão de arco;
Fundamentos: Redes de Petri Coloridas
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
if x = q
then 1´ (q, i + 1)
else empty
1´r + 1´s
if x = p then
1´ (p, i + 1)
else empty
if x = p then 1´ t
else empty
if x = q then 1´ r
else empty
case x of
p => 2´s + 2´ t
q => 2´s + 1´ t
t
case x of
p => 2´s
q => 1´s
V
Declaração
cor U = com p| q;
cor I = int;
cor P = produto U*I;
cor V = com r | s | t;
var x: U;
var i: I;
A
T1
B
T2
C
T3
D
T4
E
T5
P
P
P
P
P
[x = q]
(x, i)
3´(q , 0)
2´(p , 0)
1´ r + 3´ s + 2´ t Res
(x, i)
(x, i)
(x, i)
(x, i)
(x, i)
(x, i)
(x, i)
(x, i)
Fundamentos: Álgebra de Processos
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
Utilização
. Representação textual;
. Semântica formal;
. Mecanismos de análise.
Componentes básicos
. Conjunto de ações;
. Operador de composição seqüencial (�.�): (a . b);
. Operador de composição alternativa (�+�): (a + b);
. Axiomas de equivalência de processos;
. Regras de transição.
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
Axiomas de equivalência
x + y = y + x ;x + x = x ;(x . y) . z = x . (y . z)
Processos bissimilares. Devem executar exatamente as mesmas
cadeias ações;
. Possuem a mesma estrutura de ramificação;
z.(x + y) e z.x + z.y não são bissimilares.
Fundamentos: Álgebra de Processos
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
Regras de Transição
Fundamentos: Álgebra de Processos
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
Fundamentos: Álgebra de Processos
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
Fundamentos: Álgebra de Processos
Máquina de café ou chá :
M1 = c10. c10. c10. c10. C + c10. c10. C10.T
M2 = c10. c10. c10. (c10.C + T)
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
Características favoráveis
. Textual e composicional;
. Fácil manipulação computacional;
. Mecanismos de análise.
Características desfavoráveis
. Não tem representação explícita de estados;
. Expressões de difícil compreensão.
Fundamentos: Álgebra de Processos
Fundamentos: PADRÕES DE CONTROLE DE FLUXO
Definição
� �cada padrão descreve um problema no nosso ambiente e o núcleo da sua solução, de tal forma que você possa usar esta solução mais de um milhão de vezes, sem nunca fazê-lo da mesma maneira [GAMA. E. et all]�.
Objetivo
� O objetivo estabelecer critérios de comparações entre as diversas linguagens para especificação de controle de fluxos existentes no mercado,
� Contribuir para a modelagem de processos.
categorias de padrões
� Os padrões estão separados em seis categorias: básicos de controle de fluxos; ramificação e sincronização avançadas; estruturais, múltiplas instâncias; baseados em estados; e padrões de cancelamento[W.M.P. van der Aalst, et all, 2000 pg 18-29].http://www.workflowpatterns.com/patterns/control/
PADRÕES DE CONTROLE DE FLUXO
Padrão 1 � Sequence Padrão 11 - Implicit Termination
Padrão 2 - Parallel Split Padrão 12 � Mult.Inst.Without Synchronization
Padrão 3 - Synchronization Padrão 13 - Multiple Instances With a Priori
Design Time Knowledge
Padrão 4 - Exclusive Choice Padrão 14 - Multiple Instances With a Priori
Runtime Knowledge
Padrão 5 - Simple Merge Padrão 15 - Multiple Instances Without a Priori
Runtime Knowledge
Padrão 6 - Multi Choice Padrão 16 - Deferred Choice
Padrão 7 - Synchronizing Merge Padrão 17 - Interleaved Parallel Routing
Padrão 8 - Multi Merge Padrão 18 - Milestone
Padrão 9 - Discriminator Padrão 19 - Cancel Activity
Padrão 10 - Arbitrary Cycles Padrão 20 - Cancel Case
PADRÕES DE CONTROLE DE FLUXO
http://www.workflowpatterns.com/patterns/control/advanced_branching/wcp9_animation.php
Agenda
� Contextualização - Motivação
� Histórico do Gerenciamento de Processos de
Negócio (GPN)
� Exemplo� Fundamentos para GPN:
- BPMN e BPEL- Redes de Petri e - Álgebra de Processos
- Padrões para Controle de fluxo
� Alternativa para Projetos de GPN� Planos de Navegação e GPN
� Conclusão
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
Alternativa para projetos GPN
Proposta das diretrizes para projetos conceituais
Criar uma seqüência de fases que conduza a construção de
�Projetos conceituais� de processos de negócio;
Facilitar a identificação dos comportamentos relevantes que
influenciam no direcionamento do fluxo de controle de processos de negócios;
Ordenar e encadear o conjunto de atividades (passos de negócio)
que compõe um processo de negócio
Explorar com maior ênfase o trabalho de especialistas de negócio
nas etapas iniciais de construção de �projetos conceituais de workflow�.
Criar modelos amigáveis com semântica formal subjacente
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
As diretrizes se apóiam nos seguintes fundamentos:
� Estrutura de processo
� Na arquitetura do RiverFish [FERREIRA et all, 2005];� No plano navegação, [FERREIRA et all, 2006] para classificação de
processos de negócio;
� Encadeamento e controle dos passos de negócio
� Nos mecanismos básicos para representação de fluxo de controle de processos de negócio como: seqüência, paralelismo, iteração e
sincronismo de atividades, propostos por [AALST, HEE, 2002];
� No conceito de precedência de atividades, apresentada por [AGRAWAL et all, 1997];
� Nos �Padrões de Controle de Fluxo� propostos por [AALST, HOFSTEDE, WESKE, 2003]
Alternativa para projetos GPN
Plano de Navegação SCC 2006.
Estrutura do processo usando o conceito de plano de navegação
estrutura o
processo de
negócio
Alternativa para projetos GPN
Arquitetura RiverFish
� RiverFish é uma arquitetura para gerenciamento de processos de negócio,
apresentada por FERREIRA et all [2005 a, 2005b].
Principais definições para da arquitetura RiverFish
� Definição 1: Ação Simples. Uma ação simples é um conjunto de ações atômicas
compostas usando os operadores de seqüência e composição alternativa;
� Definição 2: Ponto de verificação. Um ponto de verificação é um conjunto de ações
atômicas compostas usando regras restritivas e condicionais.
� Definição 3: Passo de Negócio. Um passo de negócio ou é uma ação simples ou
um ponto de verificação
� Definição 4: Processo de Negócio. Um processo de negócio é um conjunto de
passos de negócio compostos.
� Definição 5: Plano de Navegação. Um plano de navegação é um conjunto de todos
os processos de negócio exigidos em uma aplicação para atingir o objetivo de
negócio.
Alternativa para projetos GPN
DB3 DB4 DBn
usersx
servicesx
data
d1 d2
Request by form
Databasemonitor
Unified Control
d3
Execution of the
NP Instances
-Navigation plans -Scheduler services
sn
check steps
check steps
data quality is growing up
Storing of data
DB1 DB2
Storing of data
s1 s2
s3
� Iidentification� Certification� Authentication� Characterization
db-AC
db-NP
db-AI
d1
d3d2
Alternativa para projetos GPN
Diretrizes para �Projetos conceituais de GPN�
Alternativa para projetos GPN
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
Diretrizes para �Projetos conceituais de workflow
Fase 1 - Declarar e classificar os passos de negócio
Diretrizes para �Projetos conceituais de workflow
Fase 2 - Posicionar os passos do processo de negócio
O passo �E� é acrescentado para atender ao mecanismo de ITERAÇÃO
devido aos passos classificados como constraints.
Diretrizes para �Projetos conceituais de workflow
FASE 3 � Relação de dependência entre passos do processo de negócio
Diretrizes para �Projetos conceituais de workflow
FASE 4 �Modelar graficamente o fluxo de controle do processo de negócio
� Esta fase consiste em conectar os passos �predecessores� aos seus �sucessores�
� Nesta fase, a proposta é usar apenas
quatro elementos de modelagem
Diretrizes para �Projetos conceituais de workflow
FASE 5 � Declarar o comportamento dos pontos de divisão e sincronismos
existentes no modelo construído.
� Primeiramente um rótulo deve ser criado para que cada um desses pontos
possa ser declaradoProjeto conceitual de workflow
Voltando ao Exemplo- DECA Eletrônica da SEFAZ-SP
INICIO
S02
S03
S04
S06
S01
R18
S14
S15S19
S23
S22 S24
S16
S17
1
S05
S20
S21
S07
10
S11
S12
7
S10 8
S0911 12 13
S25
S29
S33
S37
S26
S30
S34
S38
S27 S28 14
S31 S32 15
S35 S36 16
S39 S40 17
S49
S47 S48
END
2 5
S02
S03
S04
3
S05
4
S08 6
9 S13
P41
S46
S50
S42
18
MODELO GRÁFICO DOWORKFLOW DA DECA ELETRÔNICA DA SEFAZ-SP
LegendaX = Rótulo
Y...Z = Padrão
XY ... Z
S45
S44
S43
19
20
21
Projeto Conceitual GPN
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
NPDL � Linguagem para Planos de Navegação
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
NPDL � Linguagem para Planos de Navegação
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
NPDL � Linguagem para Planos de Navegação
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
NPDL � Linguagem para Planos de Navegação
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
NPDL � Linguagem para Planos de Navegação
� Deferred Choice � Exclusive Choice
SET P = A.(%r B + %!r C)
SET P = (%r A + %!r B).C
Simple Merge
SET P = A.(B + C)
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
NPDL � Linguagem para Planos de Navegação
� Multi-Choice
SET P = A.(%r1(B || C) + %!r1(%r2B + %!r2C))
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
NPDL � Linguagem para Planos de Navegação
� Discriminator
SET P = A.(%r1(B || C) + %!r1(%r2B + %!r2C))^D
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
Pget_DECA = a1. a2 . a3 . ( (a5 . (a7 + a6 . ag)) + (a4 . ag . (a7 + a6 . ag )))
a1: client request order form (get_DECA)
a2: fill order form
a3: send order form
a4: State gov. non-approval
a5: State gov. approval
a6: Federal gov. non-approval
a7: Federal gov. approval
ag: continuation / resumeq0
q1
q2
q3
q4
q5
q8
Pget_DECA
a1
a2
a3a31
a4
aga5
a7
q7aga6
NPDL � Linguagem para Planos de Navegação
Pget_DECA = a1. a2 . a3 . ( (a5 . (a7 + a6 . ag)) + (a4 . ag . (a7 + a6 . ag )))
a1: client request order form (get_DECA)
a2: fill order form
a3: send order form
a4: State gov. non-approval
a5: State gov. approval
a6: Federal gov. non-approval
a7: Federal gov. approval
ag: continuation / resumeq0
q1
q2
q3
q4
q5
q8
Pget_DECA
a1
a2
a3a31
a4
aga5
a7
q7aga6
NPDL � Linguagem para Planos de Navegação
Pget_DECA = a1. a2 . a3 . ( (a5 . (a7 + a6 . ag)) + (a4 . ag . (a7 + a6 . ag )))
a1: client request order form (get_DECA)
a2: fill order form
a3: send order form
a4: State gov. non-approval
a5: State gov. approval
a6: Federal gov. non-approval
a7: Federal gov. approval
ag: continuation / resumeq0
q1
q2
q3
q4
q5
q8
Pget_DECA
a1
a2
a3a31
a4
aga5
a7
q7aga6
NPDL � Linguagem para Planos de Navegação
Pget_DECA = a1. a2 . a3 . ( (a5 . (a7 + a6 . ag)) + (a4 . ag . (a7 + a6 . ag )))
a1: client request order form (get_DECA)
a2: fill order form
a3: send order form
a4: State gov. non-approval
a5: State gov. approval
a6: Federal gov. non-approval
a7: Federal gov. approval
ag: continuation / resumeq0
q1
q2
q3
q4
q5
q8
Pget_DECA
a1
a2
a3a31
a4
aga5
a7
q7aga6
NPDL � Linguagem para Planos de Navegação
Pget_DECA = a1. a2 . a3 . ( (a5 . (a7 + a6 . ag)) + (a4 . ag . (a7 + a6 . ag )))
a1: client request order form (get_DECA)
a2: fill order form
a3: send order form
a4: State gov. non-approval
a5: State gov. approval
a6: Federal gov. non-approval
a7: Federal gov. approval
ag: continuation / resumeq0
q1
q2
q3
q4
q5
q8
Pget_DECA
a1
a2
a3a31
a4
aga5
a7
q7aga6
NPDL � Linguagem para Planos de Navegação
Pget_DECA = a1. a2 . a3 . ( (a5 . (a7 + a6 . ag)) + (a4 . ag . (a7 + a6 . ag )))
a1: client request order form (get_DECA)
a2: fill order form
a3: send order form
a4: State gov. non-approval
a5: State gov. approval
a6: Federal gov. non-approval
a7: Federal gov. approval
ag: continuation / resumeq0
q1
q2
q3
q4
q5
q8
Pget_DECA
a1
a2
a3a31
a4
aga5
a7
q7aga6
NPDL � Linguagem para Planos de Navegação
Pget_DECA = a1. a2 . a3 . ( (a5 . (a7 + a6 . ag)) + (a4 . ag . (a7 + a6 . ag )))
a1: client request order form (get_DECA)
a2: fill order form
a3: send order form
a4: State gov. non-approval
a5: State gov. approval
a6: Federal gov. non-approval
a7: Federal gov. approval
ag: continuation / resumeq0
q1
q2
q3
q4
q5
q8
Pget_DECA
a1
a2
a3a31
a4
aga5
a7
q7aga6
NPDL � Linguagem para Planos de Navegação
Pch_partners = a11. a21 . a31 . ( a5 . ( a7 . (a9 + a8 . ag ) + a6. ag . (a8.ag + a9) ) + a4 . ag . ( a7 . (a9 + a8 . ag ) + a6. ag . (a8.ag + a9) ) + a6 . ag . ( a8 . ag + a9))
a11: get order form (ch_partners)
a21: fill order form
a31: send order form
a4: State gov. non-approval
a5: State gov. approval
a7: Federal gov. approval
a8: finances non-approval
a9: finances approval
ag: continuation/resume q0
q1
q2
q3
q0�
q1�
q2�
q4
q5
q8
q10
q9
Pget_DECA Pch_partners
a1
a2
a3
a11
a21
a31
a4
aga5
a7 a8
aga9
q7aga6
NPDL � Linguagem para Planos de Navegação
Pch_partners = a11. a21 . a31 . ( a5 . ( a7 . (a9 + a8 . ag ) + a6. ag . (a8.ag + a9) ) + a4 . ag . ( a7 . (a9 + a8 . ag ) + a6. ag . (a8.ag + a9) ) + a6 . ag . ( a8 . ag + a9))
a11: get order form (ch_partners)
a21: fill order form
a31: send order form
a4: State gov. non-approval
a5: State gov. approval
a7: Federal gov. approval
a8: finances non-approval
a9: finances approval
ag: continuation/resume q0
q1
q2
q3
q0�
q1�
q2�
q4
q5
q8
q10
q9
Pget_DECA Pch_partners
a1
a2
a3
a11
a21
a31
a4
aga5
a7 a8
aga9
q7aga6
NPDL � Linguagem para Planos de Navegação
Pch_partners = a11. a21 . a31 . ( a5 . ( a7 . (a9 + a8 . ag ) + a6. ag . (a8.ag + a9) ) + a4 . ag . ( a7 . (a9 + a8 . ag ) + a6. ag . (a8.ag + a9) ) + a6 . ag . ( a8 . ag + a9))
a11: get order form (ch_partners)
a21: fill order form
a31: send order form
a4: State gov. non-approval
a5: State gov. approval
a7: Federal gov. approval
a8: finances non-approval
a9: finances approval
ag: continuation/resume q0
q1
q2
q3
q0�
q1�
q2�
q4
q5
q8
q10
q9
Pget_DECA Pch_partners
a1
a2
a3
a11
a21
a31
a4
aga5
a7 a8
aga9
q7aga6
NPDL � Linguagem para Planos de Navegação
Pch_partners = a11. a21 . a31 . ( a5 . ( a7 . (a9 + a8 . ag ) + a6. ag . (a8.ag + a9) ) + a4 . ag . ( a7 . (a9 + a8 . ag ) + a6. ag . (a8.ag + a9) ) + a6 . ag . ( a8 . ag + a9))
a11: get order form (ch_partners)
a21: fill order form
a31: send order form
a4: State gov. non-approval
a5: State gov. approval
a7: Federal gov. approval
a8: finances non-approval
a9: finances approval
ag: continuation/resume q0
q1
q2
q3
q0�
q1�
q2�
q4
q5
q8
q10
q9
Pget_DECA Pch_partners
a1
a2
a3
a11
a21
a31
a4
aga5
a7 a8
aga9
q7aga6
NPDL � Linguagem para Planos de Navegação
Pch_partners = a11. a21 . a31 . ( a5 . ( a7 . (a9 + a8 . ag ) + a6. ag . (a8.ag + a9) ) + a4 . ag . ( a7 . (a9 + a8 . ag ) + a6. ag . (a8.ag + a9) ) + a6 . ag . ( a8 . ag + a9))
a11: get order form (ch_partners)
a21: fill order form
a31: send order form
a4: State gov. non-approval
a5: State gov. approval
a7: Federal gov. approval
a8: finances non-approval
a9: finances approval
ag: continuation/resume q0
q1
q2
q3
q0�
q1�
q2�
q4
q5
q8
q10
q9
Pget_DECA Pch_partners
a1
a2
a3
a11
a21
a31
a4
aga5
a7 a8
aga9
q7aga6
NPDL � Linguagem para Planos de Navegação
Pch_partners = a11. a21 . a31 . ( a5 . ( a7 . (a9 + a8 . ag ) + a6. ag . (a8.ag + a9) ) + a4 . ag . ( a7 . (a9 + a8 . ag ) + a6. ag . (a8.ag + a9) ) + a6 . ag . ( a8 . ag + a9))
a11: get order form (ch_partners)
a21: fill order form
a31: send order form
a4: State gov. non-approval
a5: State gov. approval
a7: Federal gov. approval
a8: finances non-approval
a9: finances approval
ag: continuation/resume q0
q1
q2
q3
q0�
q1�
q2�
q4
q5
q8
q10
q9
Pget_DECA Pch_partners
a1
a2
a3
a11
a21
a31
a4
aga5
a7 a8
aga9
q7aga6
NPDL � Linguagem para Planos de Navegação
Pch_partners = a11. a21 . a31 . ( a5 . ( a7 . (a9 + a8 . ag ) + a6. ag . (a8.ag + a9) ) + a4 . ag . ( a7 . (a9 + a8 . ag ) + a6. ag . (a8.ag + a9) ) + a6 . ag . ( a8 . ag + a9))
a11: get order form (ch_partners)
a21: fill order form
a31: send order form
a4: State gov. non-approval
a5: State gov. approval
a7: Federal gov. approval
a8: finances non-approval
a9: finances approval
ag: continuation/resume q0
q1
q2
q3
q0�
q1�
q2�
q4
q5
q8
q10
q9
Pget_DECA Pch_partners
a1
a2
a3
a11
a21
a31
a4
aga5
a7 a8
aga9
q7aga6
NPDL � Linguagem para Planos de Navegação
Pch_partners = a11. a21 . a31 . ( a5 . ( a7 . (a9 + a8 . ag ) + a6. ag . (a8.ag + a9) ) + a4 . ag . ( a7 . (a9 + a8 . ag ) + a6. ag . (a8.ag + a9) ) + a6 . ag . ( a8 . ag + a9))
a11: get order form (ch_partners)
a21: fill order form
a31: send order form
a4: State gov. non-approval
a5: State gov. approval
a7: Federal gov. approval
a8: finances non-approval
a9: finances approval
ag: continuation/resume q0
q1
q2
q3
q0�
q1�
q2�
q4
q5
q8
q10
q9
Pget_DECA Pch_partners
a1
a2
a3
a11
a21
a31
a4
aga5
a7 a8
aga9
q7aga6
NPDL � Linguagem para Planos de Navegação
Pch_partners = a11. a21 . a31 . ( a5 . ( a7 . (a9 + a8 . ag ) + a6. ag . (a8.ag + a9) ) + a4 . ag . ( a7 . (a9 + a8 . ag ) + a6. ag . (a8.ag + a9) ) + a6 . ag . ( a8 . ag + a9))
a11: get order form (ch_partners)
a21: fill order form
a31: send order form
a4: State gov. non-approval
a5: State gov. approval
a7: Federal gov. approval
a8: finances non-approval
a9: finances approval
ag: continuation/resume q0
q1
q2
q3
q0�
q1�
q2�
q4
q5
q8
q10
q9
Pget_DECA Pch_partners
a1
a2
a3
a11
a21
a31
a4
aga5
a7 a8
aga9
q7aga6
NPDL � Linguagem para Planos de Navegação
� Visão Geral GPN
� Parte teórica (representação concisa):� Plano de Navegação representado por expressões
da Álgebra de Processos;
� Este mapeamento permitiu a criação de um �engine�.
� Parte prática (controle correto e eficiente):� Criação da NPDL e seu respectivo interpretador;
� Generalização, representação e controle do processamento de requisições.
Principais Contribuições
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos
� Ferramenta para apoio e desenvolvimento das diretrizes do projeto conceitual GPN;
� Tratamento de eventos e dados;
� Mineração de Processos.
Próximos Passos
V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos