gerenciamento de processos de negócio usando `lgebra de ... · gerenciamento de processos de...

97
Gerenciamento de Processos de Negcio 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 sntese dos trabalhos desenvolvidos no Laboratrio de Banco de Dados do Departamento de CiŒncia da Computaªo Instituto de MatemÆtica e Estatstica 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.

Upload: ngokien

Post on 26-Jan-2019

217 views

Category:

Documents


0 download

TRANSCRIPT

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

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

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

FIM

V CONGED � Gerenciamento de Processos de Negócio usando Álgebra de Processos