36
Desenvolvimento de SIGs Baseados em Modelos de Processos Um framework de Desenvolvimento Orientado a Business Process

Desenvolvimento de SIGs Baseados em Modelos de Processos O analista de negócio cria a especificação do processo utilizando a notação BPMN Utiliza uma ferramenta de modelagem

  • Upload
    ledung

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Desenvolvimento de SIGs Baseados em Modelos de Processos O analista de negócio cria a especificação do processo utilizando a notação BPMN Utiliza uma ferramenta de modelagem

Desenvolvimento de SIGs Baseados em Modelos de

Processos Um framework de Desenvolvimento Orientado a Business Process

Page 3: Desenvolvimento de SIGs Baseados em Modelos de Processos O analista de negócio cria a especificação do processo utilizando a notação BPMN Utiliza uma ferramenta de modelagem

Roteiro O problema

A solução proposta

O estado atual da implementação (API)

Exemplo de uso / Aplicação na SINFO

Page 4: Desenvolvimento de SIGs Baseados em Modelos de Processos O analista de negócio cria a especificação do processo utilizando a notação BPMN Utiliza uma ferramenta de modelagem

O problema Dificuldade:

Desenvolver e alterar implementações dos processos nos SIGs

Manter rodando diferentes versões de modelos de processos

Acesso à informações sobre a definição, andamento e gargalos de processos

Manter a sincronia e rastreabilidade entre modelagem de processos e código dos SIGs

Page 5: Desenvolvimento de SIGs Baseados em Modelos de Processos O analista de negócio cria a especificação do processo utilizando a notação BPMN Utiliza uma ferramenta de modelagem

Solução Modelar explicitamente os fluxos de atividades dos processos

Orientar as funcionalidades dos SIGs de acordo com modelos de processos especificados

Page 6: Desenvolvimento de SIGs Baseados em Modelos de Processos O analista de negócio cria a especificação do processo utilizando a notação BPMN Utiliza uma ferramenta de modelagem

Solução

Page 7: Desenvolvimento de SIGs Baseados em Modelos de Processos O analista de negócio cria a especificação do processo utilizando a notação BPMN Utiliza uma ferramenta de modelagem

Exemplo de Uso

Page 8: Desenvolvimento de SIGs Baseados em Modelos de Processos O analista de negócio cria a especificação do processo utilizando a notação BPMN Utiliza uma ferramenta de modelagem

Modelagem & Deploy

Page 9: Desenvolvimento de SIGs Baseados em Modelos de Processos O analista de negócio cria a especificação do processo utilizando a notação BPMN Utiliza uma ferramenta de modelagem

Modelagem do processo (Analista de Negócio) O analista de negócio cria a especificação do processo utilizando a notação BPMN

Utiliza uma ferramenta de modelagem (Bizagi, Camunda Modeler, BPMN.io, etc...)

Salva o processo na notação BPMN (XML)

Compartilha o modelo especificado com a equipe de desenvolvimento

Utilizando Git, Dropbox, etc...

O modelo especificado pelo analista contém apenas aspectos de negócio, não possui detalhes de implementação

Page 10: Desenvolvimento de SIGs Baseados em Modelos de Processos O analista de negócio cria a especificação do processo utilizando a notação BPMN Utiliza uma ferramenta de modelagem

Modelagem do processo (Analista de Negócio)

Page 11: Desenvolvimento de SIGs Baseados em Modelos de Processos O analista de negócio cria a especificação do processo utilizando a notação BPMN Utiliza uma ferramenta de modelagem

Modelagem do processo (Desenvolvedor) Recupera a versão do modelo especificada pelo Analista de Negócio

Utilizando Git, Dropbox, etc…

Altera o modelo, especificando detalhes de implementação

Regras de fluxo de controle

Registro de classes delegate

Registro de classes de listeners

Salva o modelo contendo aspectos de negócio e aspectos de implementação

Page 12: Desenvolvimento de SIGs Baseados em Modelos de Processos O analista de negócio cria a especificação do processo utilizando a notação BPMN Utiliza uma ferramenta de modelagem

Modelagem do processo (Desenvolvedor)

Page 13: Desenvolvimento de SIGs Baseados em Modelos de Processos O analista de negócio cria a especificação do processo utilizando a notação BPMN Utiliza uma ferramenta de modelagem

Deploy do Modelo Utiliza a ferramenta BPM Tools

Seleciona o arquivo do modelo e confirma o deploy

A ferramenta lê o modelo e salva no repositório de definição de processos (banco de dados relacional)

Gera um número de versão para o modelo implantado

No código

Define classe de constantes

Nome e Identificador do processo

Nome e Identificadores das atividades

Page 14: Desenvolvimento de SIGs Baseados em Modelos de Processos O analista de negócio cria a especificação do processo utilizando a notação BPMN Utiliza uma ferramenta de modelagem

Implementação & Integração

Page 15: Desenvolvimento de SIGs Baseados em Modelos de Processos O analista de negócio cria a especificação do processo utilizando a notação BPMN Utiliza uma ferramenta de modelagem

Iniciando um processo

Page 16: Desenvolvimento de SIGs Baseados em Modelos de Processos O analista de negócio cria a especificação do processo utilizando a notação BPMN Utiliza uma ferramenta de modelagem

Iniciando um processo Ao iniciar o processo, é preciso informar o ID da entidade no SIG

Este ID faz o vínculo da entidade do SIG com a instância do processo

Projeto ID 01 → Processo ID 1001

Projeto ID 02 → Processo ID 2103

É possível informar um mapa de variáveis que serão armazenadas como dados no processo

Page 17: Desenvolvimento de SIGs Baseados em Modelos de Processos O analista de negócio cria a especificação do processo utilizando a notação BPMN Utiliza uma ferramenta de modelagem

Visualizando um processo

Page 18: Desenvolvimento de SIGs Baseados em Modelos de Processos O analista de negócio cria a especificação do processo utilizando a notação BPMN Utiliza uma ferramenta de modelagem

Visualizando um processo

Page 19: Desenvolvimento de SIGs Baseados em Modelos de Processos O analista de negócio cria a especificação do processo utilizando a notação BPMN Utiliza uma ferramenta de modelagem

Listando Processos É possível buscar processos por atividade atual ou por valor de variáveis informadas

para o processo

Processos que estão na atividade Delegar Para Avaliadores (caixa verde)

Page 20: Desenvolvimento de SIGs Baseados em Modelos de Processos O analista de negócio cria a especificação do processo utilizando a notação BPMN Utiliza uma ferramenta de modelagem

Completando atividade

Delegar Para Avaliadores

Page 21: Desenvolvimento de SIGs Baseados em Modelos de Processos O analista de negócio cria a especificação do processo utilizando a notação BPMN Utiliza uma ferramenta de modelagem

Completando atividade

Page 22: Desenvolvimento de SIGs Baseados em Modelos de Processos O analista de negócio cria a especificação do processo utilizando a notação BPMN Utiliza uma ferramenta de modelagem

Dados de Execução Durante a execução a engine armazena automaticamente alguns dados

Data de início/fim do ciclo de vida da atividade

Data em que a atividade começou a ser executada

Usuário que executou a atividade

Além disto, a engine também armazena os parâmetros informados durante a execução

Page 23: Desenvolvimento de SIGs Baseados em Modelos de Processos O analista de negócio cria a especificação do processo utilizando a notação BPMN Utiliza uma ferramenta de modelagem

Desvio da especificação A API lança uma excessão caso seja completada uma atividade que não esteja em

execução (não esteja verde)

A API prevê um método que permite forçar o desvio do fluxo para outra atividade que não esteja prevista

Usado para contemplar casos que não foram previstos pelo analista durante o processo de especificação do processo de negócio

Ao efetuar um desvio, é obrigatório informar um motivo (utilizado para melhoria de processos)

Page 24: Desenvolvimento de SIGs Baseados em Modelos de Processos O analista de negócio cria a especificação do processo utilizando a notação BPMN Utiliza uma ferramenta de modelagem

Discussão

Aplicações imediatas

Protocolo

Novas Funcionalidades

Adaptação de alguma funcionalidade existente

Refinar para especificidades da SINFO

Integrar membros da equipe da SINFO

Avaliação pelos arquitetos

Fedback

Duvidas?

Page 25: Desenvolvimento de SIGs Baseados em Modelos de Processos O analista de negócio cria a especificação do processo utilizando a notação BPMN Utiliza uma ferramenta de modelagem
Page 26: Desenvolvimento de SIGs Baseados em Modelos de Processos O analista de negócio cria a especificação do processo utilizando a notação BPMN Utiliza uma ferramenta de modelagem

Slides Backup (Fundamentação Teórica)

Page 27: Desenvolvimento de SIGs Baseados em Modelos de Processos O analista de negócio cria a especificação do processo utilizando a notação BPMN Utiliza uma ferramenta de modelagem

Referências Van Der Aalst, Wil MP, Arthur HM Ter Hofstede, and Mathias Weske. "Business

process management: A survey." Business process management. Springer Berlin Heidelberg, 2003. 1-12.

White, Stephen A. "Introduction to BPMN." IBM Cooperation 2.0 (2004): 0.

Poelmans, Stephan, Hajo A. Reijers, and Jan Recker. "Investigating the success of operational business process management systems." Information Technology and Management 14.4 (2013): 295-314.

Page 28: Desenvolvimento de SIGs Baseados em Modelos de Processos O analista de negócio cria a especificação do processo utilizando a notação BPMN Utiliza uma ferramenta de modelagem

Introdução O que é Business Process Management (BPM)?

Existem muitas definições de BPM

Nos anos 90, O mundo vivia um “Workflow Wave”

BPM foi considerado por muitos como o “próximo passo” depois do Workflow Wave

Muitos termos utilizados nos 90s evoluiram e alteraram de significado

Muitos artigos se dedicam a definir BPM e siglas relacionadas

Apesar das discussões, nitidamente o BPM surgiu como uma evolução de Workflow Management System (WFMS)

O que é um Workflow e o que é um Workflow Management System?

Page 29: Desenvolvimento de SIGs Baseados em Modelos de Processos O analista de negócio cria a especificação do processo utilizando a notação BPMN Utiliza uma ferramenta de modelagem

BPM vs WFMS Workflow:

“The automation of a business process, in whole or part, during which documents, information or tasks are passed from one participant to another for action, according to a set of procedural rules.” - Workflow Management Coalition (WfMC)

Workflow Management System (WFMS):

“A system that defines, creates and manages the execution of workflows through the use of software, running on one or more workflow engines, which is able to interpret the process definition, interact with workflow participants and, where required, invoke the use of IT tools and applications.”

Perceba o foco em software e execução...

Page 30: Desenvolvimento de SIGs Baseados em Modelos de Processos O analista de negócio cria a especificação do processo utilizando a notação BPMN Utiliza uma ferramenta de modelagem

BPM vs WFMS Com o passar dos anos, pesquisadores perceberam o foco em software muito

restritivo

Alguns termos foram evoluindo e muitos termos foram criados, incluindo BPM

BPM:

“Supporting business processes using methods, techniques, and software to design, enact, control, and analyze operational processes involving humans, organizations, applications, documents and other sources of information.” - Van Der Aalst et al.

Perceba o foco também em métodos, no nível operacional

Page 31: Desenvolvimento de SIGs Baseados em Modelos de Processos O analista de negócio cria a especificação do processo utilizando a notação BPMN Utiliza uma ferramenta de modelagem

BPMN Processos de Negócio precisam ter uma base formal

Não pode deixar margem para ambiguidade

É importante a existência de modelos que sejam entendidos por vários stakeholders (gerentes, analistas, devs, dev-ops, etc...)

Petri nets

UML

BPEL (web service composition)

BPMN

Page 32: Desenvolvimento de SIGs Baseados em Modelos de Processos O analista de negócio cria a especificação do processo utilizando a notação BPMN Utiliza uma ferramenta de modelagem

BPMN Business Process Modeling Notation

Linguagem visual

Baseado em flowcharting diagram

Foco no entendimento do processo por vários stakeholders

Criado por BPMI Notation Working Group para padronizar definições de processo

Padrão OMG

Page 33: Desenvolvimento de SIGs Baseados em Modelos de Processos O analista de negócio cria a especificação do processo utilizando a notação BPMN Utiliza uma ferramenta de modelagem

BPMN

Page 34: Desenvolvimento de SIGs Baseados em Modelos de Processos O analista de negócio cria a especificação do processo utilizando a notação BPMN Utiliza uma ferramenta de modelagem

BPMS As empresas evoluiram os WFMS para BPMS, agregando funcionalidades de

gerência, monitoramento e análise de processos

“A business process management system (BPMS) is generic software that supports the modeling, analysis and enactment of business processes.” - Poelmans et al.

Plataforma de suporte ao BPM

jBPM

Red Hat JBoss BPM Suite

Bizagi BPM Suite

Oracle BPM

Page 35: Desenvolvimento de SIGs Baseados em Modelos de Processos O analista de negócio cria a especificação do processo utilizando a notação BPMN Utiliza uma ferramenta de modelagem

Alguns Benefísios do BPM Melhora a comunicação (base comum de conhecimento de processos)

Incluindo comunicação interempresarial

Identificar problemas de processo antes da implementação

Inclui possibilidade de simulação

Análise de modelos pode ser utilizada para melhoria de processos

Identificar gargalos ou atividades desnecessárias

Melhoria de roteamento e alocação de atividades

Workflow

Alinhamento da implementação com expectativas da gerência

Page 36: Desenvolvimento de SIGs Baseados em Modelos de Processos O analista de negócio cria a especificação do processo utilizando a notação BPMN Utiliza uma ferramenta de modelagem

Contexto Atual Alguns autores dizem que a utilização de BPMS não “bombou” como deveria, porém

grandes empresas fazem uso

É visível os benefícios de inserir BPM na arquitetura das empresas

Entretanto, aplicar BPM não é uma questão apenas de TI, mas uma mudança de cultura na empresa!

Requer uma adaptação arquitetural, devido a existência de sistemas legados

Migrar os dados para um ambiente BPM, muitas vezes, é uma tarefa muito complicada

“There is no free lunch”