Workshop BPM e SOA Conceitos sobre BPMN, BPMS, BAM e BPMM
Mudanças... >> Meus sistemas estão adequados aos meus processos? Gestor de Business Com meus processos de negócio desenhado, como faço para alinhar a TI com a velocidade de mudanças no Business? Qual o potencial de realizar as melhores práticas em meus processos de negócio? Como tornar meus processos ágeis e flexíveis? Como medir os processos em tempo real? Como fechar o ciclo de melhoria contínua rapidamente, alterando meus processos a partir dos resultados das medições? Como faço para alinhar meus sistemas ao ambiente de negócio? Como posso reutilizar meus serviços? Qual ação eu necessito fazer para mitigar os eventos de falhas nos sistemas? Gestor de TI >> A tecnologia esta alinhada aos processos de negócio?
O que é Processo? Uma série de passos repetíveis adotados por uma organização para produzir um resultado desejável. Um processo é um grupo de atividades realizadas numa seqüência determinada que produz um bem ou um serviço. Pode ser encarado, também, como qualquer atividade ou conjunto de atividades onde há uma entrada, uma transformação, e uma saída.
Conceito BPM Business Process Management Business Process Management (BPM) consiste em um método de gestão para gerenciamento de processos, que pode ser auxiliada por ferramentas tecnológicas. BPM define, habilita a e gerencia a troca de informações da organização por meio da semântica de uma visão de processos de negócio que envolve pessoas, clientes, parceiros, aplicações e bases de dados. AberdeenGroup
Orientação DE/POR processo Gestão DE Processos Gestão POR Processos Cliente Engenharia Compras Construção Vendas Financeiro Produtos & Serviços Entregues Processo é executado para atender demandas de clientes da organização
BPMN Visão Geral BPMN (Business Process Modeling Notation) é um apresentação gráfica que tem por objetivo prover instrumentos para mapear, de uma maneira padrão, todos os processos de negócio da organização. Um pouco de história: O BPMN foi lançado inicialmente em maio de 2004 pela associação internacional BPMI (Business Process Management Initiative) Em 2005, o BPMI anunciou sua junção a OMG (Object Management Group Responsável pela notação UML) Histórico das versões: Em maio de 2004, a versão 1.0 foi liberada para o público Em fevereiro de 2006, BPMN 1.0 foi adotado como um padrão na OMG Atualmente, a versão 1.2 é a versão utilizada As propostas para a versão 2.0 já se encontram em avaliação pela OMG
Benefícios da Modelagem the idea of reexamining your processes from time to time to make them more effective and to wring out inefficiencies is more important than ever. Bill Gates, Business @ the Speed of Thought Entendimento do negócio como ele é e como ele deveria ser Os modelos de processos de Negócio podem ser usados para analisar e melhorar os processos de negócio As aplicações (construídas ou compradas) podem ser geradas a partir dos Requisitos do Negócio Sinergia entres modeladores de negócio e analistas de TIC
Execução dos processos Cada tarefa é enviada a seu respectivo responsável na devida ordem estabelecida na modelagem. Quando um usuário concluir a sua tarefa, imediatamente a próxima tarefa é enviada para o seu respectivo responsável. Para isto, é necessário preencher os campos solicitados no formulário ou outras informações pré-definidas.
O que é simulação? A simulação é feita através do sequenciamento de atividades propostas no fluxograma e que permite um único usuário execute todas as tarefas visando testar se existe algum erro técnico do sistema ou se a que está sendo realizado segue a realidade. BPMN Simulation ARIS Simulation
Conceito BPMS Business Process Management Suite (System) Business Process Management Suite ou System - BPMS é um sistema que automatiza a gestão por processos (execução, controle e monitoração) Business Process Management System - BPMS automatiza a gestão por processos (execução, controle e monitoração). Inclui o mapeamento dos processos end to end, desenho dos fluxos e formulários eletrônicos, workflow, regras de negócio, integradores, monitoração em tempo real das atividades e alertas. É uma poderosa ferramenta de gestão, para garantir que os processos estão sendo efetivamente executados como modelados, contribuindo para os objetivos da organização. BPMS é um sistema responsável pela automação da metodologia BPM. Através do BPMS é possível realizar processos com rapidez e com um rígido controle, pois apresenta relatórios de extrema utilidade para o gestor.
Exemplo de execução Modelar Processo (BPMN) Desenvolver a integração dos sistemas e pessoas Executar e gerenciar o sistema BPMS Apresentar Dashboard Analysis Monitoring Any Operating System
BAM Business Activity Monitoring BAM é um sistema que monitora em tempo real as operações de uma organização e de seus impactos sobre os resultados de negócios, identificando situações excepcionais, de forma que estas possam ser investigadas, compreendidas, corrigidas e resolvidas. The term 'Business Activity Monitoring' was originally coined by analysts Gartner, Inc and refers to the aggregation, analysis, and presentation of real time information about activities inside organizations and involving customers and partners. A Business Activity can either be a business process that is orchestrated by Business Process Management (BPM) software, or a business process that is a series of activities spanning multiple systems and applications. BAM is an enterprise solution primarily intended to provide a real-time summary of business activities to operations managers and upper management. Group Gartner
Vantagens Melhoria no desempenho dos processos Diminuição de custos e tempo Oferecimento de integração entre sistemas e recursos humanos Agilidade na execução dos processos e nas respostas Coordenação das tarefas Descrição de serviços Composição e orquestração dos serviços Automação dos processos
Alinhamento entre Processo de Negócio e TI Business Model Executivo Business Process Definition Business Rule Definition Arquiteto de TI Modelador de processos Business Service and Data Definition Execution oriented Process Modeling (BPMN) Enterprise Architecture Service Architecture Integradores Software Architecture (UML) Service Orchestration (BPEL) Service Design (WSDL) Engenheiro de Software Software Development Business Rules Execution Process Execution Service Implementation and Deployment
Evolução dos Modelos de Maturidade Metodologia baseada em melhores práticas: Engloba as metodologias anteriores, visando auxiliar a fusão entre o setor de negócios e a área de TI Metodologias ITIL e CobiT: Fornecem conteúdo para organização de TI e utilizam os roadmaps CMM e CMMI para sua estruturação Setor de negócios Organização de TI Desenvolvimento de aplicativos Modelo de maturidade de processos Modelo de maturidade de TI Metodologias CMM e CMMI: Roadmaps para o desenvolvimento de softwares empresariais SW-CMM CMMI ITIL COBIT ISO
O que é BPMM? O BPMM (Business Process Maturity Model) é um modelo conceitual baseado em Melhores práticas nos processos de negócio. Sua estruturação é feita em cinco níveis de priorização de esforços, que auxiliam a empresa a: Caracterizar a maturidade das suas práticas atuais; Desenvolver a capacidade necessária para executar a sua estratégia de negócios; Estabelecer prioridades para melhoria de seus processos usando uma estratégia comprovadamente eficaz; Integrar atividades de melhoria com as conduzidas pelos grupos que utilizam outros modelos de maturidade; Se tornar um serviço provedor de escolha e criar valor para os seus proprietários.
Como funcionam os Níveis de Maturidade BPMM é um framework utilizado para guiar a transformação organizacional. Ele é preciso, ao dizer quais práticas devem ser implementadas em cada estágio, mas não como isto deverá ser feito. As iniciativas utilizadas para a implementação de tais práticas são guiadas por metodologias. A evolução da empresa nos Níveis de Maturidade se dá pela concretização de todos os objetivos dos níveis anteriores
Como funcionam os Níveis de Maturidade Nível Objetivos primários Resultados 5. Diferenciado Gerenciamento pela inovação Continuamente aprimorar os processos, produtos e serviços organizacionais Inovação constante, concretização dos objetivos 4. Otimizado Gerenciamento por capacidade Explorar a capacidade máxima dos processos, atingindo resultados previsíveis Resultados previsíveis com variações controladas 3. Bem estruturado Gerenciamento por processos Estabelecer um uso comum da infraestrutura dos processos de negócios Crescimento da produtividade, redução de custos 2. Organizado Gerenciamento por unidades de trabalho Criar uma base de gerenciamento dentro de cada unidade de trabalho ou projeto. Retrabalho reduzido, início do uso de práticas reutilizáveis 1. Informal Gerenciamento de crises imediatas Não existem objetivos específicos e o conceito de processo é inexistente. Erros constantes, retrabalho, não existe base para comprometimento e melhoria
Perguntas
SOA Arquitetura Orientada a Serviços
Motivação Gloablização Regulamentações Aquisições Agilidade Evolução da Tecnologia Pressões Econômicas Competição As empresas precisam de agilidade em suas soluções TIC
Motivações focadas no negócio
Motivações focadas na tecnologia
SOA Arquitetura orientada a serviços Orientação a processos de negócio Reuso orientado a negócio Baseada em padrões abertos Agilidade SOA Independente de tecnologia Abordagem evolutiva Integração
Conceito: O que é SOA? Arquitetura baseada em padrões Separa interface de função Processo de Negócio Prega um modelo de serviços compartilhados Concebida para reuso Prega a independência de tecnologia Não é Web Services Serviços Aplicações e Sistemas SOA Arquitetura abrangente focada no portfólio de serviços para a criação de aplicações dentro da empresa Web Services Conjunto de mecanismos-padrão para comunicação sobre a World Wide Web Hardware
Do Software Departamental Sistema A Sistema B Sistema C Sistema D
Para a Integração Manual Sistema A Sistema B Sistema C Sistema D
Para os Barramentos de Integração Sistema A Sistema B Bus de Integração (EAI) Sistema C Sistema D
Para os Serviços de Integração Serviços do Sistema A Serviços do Sistema B ESB Serviços do Sistema C Serviços do Sistema D
Para a Modelagem de Processos apoiada no Serviço de Integração Serviços do Sistema A Serviços do Sistema B BPM Serviços do Sistema C Serviços do Sistema D
Relação entre SOA e BPM SOA promove BPM SOA foca no serviço, peça chave do BPM
Relação entre SOA e BPM (2) SOA e BPM são complementares Processos são compostos por serviços Serviços são compostos por pequenos processos
Desenhado para suportar a implementação de Princípios de SOA Serviços Arquitetura orientada a serviços Mais reconhecido por causa do Paradigma de projeto orientado a serviços Inventário de serviços Padronizados compõem o Provê princípios que regulam o projeto de Desenhado para suportar a implementação de
O que é um serviço? Unidades de software independentes construídas com uma série de capacidades relacionadas a um contexto funcional próprio, capaz de ser invocado por programas externos através de um contrato público.
SOA Hierarquia de Serviços Organização Web Camada de Aplicação Aplicações Camada de Serviços Serviços Orientados a Processo Serviços Intermediários Serviços Básicos Serviços Legados Serviços Públicos Dados Legado
Tipos de Serviços
Visão - Solução Orientada a Serviços Clientes e Parceiros Portal BAM Monitoração WebServices Públicos SSO ESB Barrramento Comunicação assíncrona Transformação de dados Roteamento baseado em conteúdo BPMS Processos Serviços Intermediários UDDI Serviços Básicos BD Legado Lógica de Negócio
Estilos de SOA
Como começar?
Abordagens para o Processo de Transição Processos de negócio Top-down + Maior alinhamento com os processos + Maior flexibilidade - Esforço inicial elevado - Refactoring do legado Bottom-up + Menor esforço inicial + Abordagem evolutiva - Menor alinhamento com os processos e estratégia da empresa - Menor flexibilidade Incremental + Abordagem evolutiva + Maior alinhamento com processos - Potencial retrabalho Serviços
Abordagens para o Processo de Transição Planejamento estratégico -> PDTI Top-down Processos de negócio Identificação dos Serviços Arquitetura de Dados Infra-estrutura Encapsular ou implementar os Serviços Disponibiliza os Serviços para uso Bottom-up + Menor esforço inicial + Abordagem evolutiva - Menor alinhamento com os processos - Menor flexibilidade Incremental + Abordagem evolutiva + Maior alinhamento com processos - Potencial retrabalho Serviços
Abordagens para o Processo de Transição Top-down Identificação dos Serviços Arquitetura de Dados Infra-estrutura Encapsular ou implementar os Serviços Disponibiliza os Serviços para uso Processos de negócio Disponibiliza os Serviços para uso Encapsular ou implementar os Serviços Arquitetura de Dados Identificação dos Serviços Requisitos de Negócio Bottom-up Serviços Incremental + Abordagem evolutiva + Maior alinhamento com processos - Potencial p/ o retrabalho
Características das abordagens Top-down: Centralização pode levar a um processo lento e burocrático. Bottom-up: Possibilidade de não haver padronização entre os serviços. Incremental: Retrabalho entre os ciclos de entrega dos serviços para adequação aos padrões organizacionais.
Estágios de Maturidade SOA Nível 1 - Serviços Iniciais Nível 2 - Serviços Arquitetados Nível 3 - Serviços de Negócio e Serviços Colaborativos Nível 4 - Medição dos Serviços de Negócio Nível 5 - Serviços de Negócio Otimizados Fonte: Sonic Software Corporation, AmberPoint Inc., BearingPoint, Inc., Systinet Corporation
Nível 1 Serviços iniciais Fonte: Sonic Software Corporation, AmberPoint Inc., BearingPoint, Inc., Systinet Corporation
Nível 2 - Serviços Arquitetados Adoção de padrões Fonte: Sonic Software Corporation, AmberPoint Inc., BearingPoint, Inc., Systinet Corporation
Nível 3 - Serviços de Negócio e Serviços Colaborativos Implantação da governança Fonte: Sonic Software Corporation, AmberPoint Inc., BearingPoint, Inc., Systinet Corporation
Nível 4 - Medição dos Serviços de Negócio Medição através de BAM e CEP Fonte: Sonic Software Corporation, AmberPoint Inc., BearingPoint, Inc., Systinet Corporation
Nível 5 - Serviços de Negócio Otimizados Processos otimizados através de regras Fonte: Sonic Software Corporation, AmberPoint Inc., BearingPoint, Inc., Systinet Corporation
Governança SOA
Padrões WebService que suportam SOA WS-I Basic Profile 1.0 WS-Security WS-Transaction WS-ReliableMessaging WS-Policy WS-Addressing...
Paradigma de projeto orientado a serviços O Paradigma de projeto orientado a serviços prega: Contrato dos serviços padronizado Baixo acoplamento dos serviços Abstração dos serviços Serviços devem ser reusáveis Permitir composição de Serviços Autonomia dos serviços Serviços não mantém estado Permitir descoberta de Serviços
Padronização do contrato evita que... Transformações sejam necessárias para invocações de um serviço adicionarproduto Vendas produto2produtoestoque.xslt adicionarproduto(cliente, produtos) produto produtoestoque Estoque removerproduto(produtoestoque)
Baixo acoplamento e Abstração dos Serviços O Baixo acoplamento visa reduzir impactos decorrentes da modificação de serviços. Analogia: Usar o delegate (ex.: Hibernate) do JPA. Abstração dos Serviços promove o baixo acoplamento por evitar que detalhes dos serviços sejam expostos.
Para termos serviços reusáveis e capazes de serem compostos Devemos ter: Serviços que podem ser usados em qualquer contexto Serviços que oferecem contrato e lógica genéricos Serviços que tem uma granularidade adequada
Granularidade dos serviços de negócio Granularidade grossa Granularidade fina ECommerce efetuarvenda(cliente, produtos) cadastrarcliente(nome, cpf, endereco) Vendas iniciarvenda(cliente): venda adicionarproduto(venda, produto) Clientes cadastrarcliente(cliente, produtos)
Autonomia dos serviços Serviços devem ser autônomos de forma a evitar interferências externas. Ex.: Trava de SGBD Vendas Estoque Produtos
Serviços não mantém estado Em uma arquitetura SOA, o servidor que oferece o serviço pode ser sobrecarregado por requisições dos clientes. Não manter estado desloca a carga para o cliente.
Permitir descoberta de Serviços Ponto fundamental no reuso e na orientação a serviços Descoberta não só por humanos mas também por software através de meta-dados
Métricas SOA envolve overhead inicial, métricas apóiam a iniciativa informando stakeholders sobre os ganhos Sugestões: Economia com o reuso de serviços Tempo médio para o desenvolvimento de novas soluções
SOA Maturidade da tecnologia * Fonte: Gartner Group
Benefícios Flexibilidade e Agilidade de negócio Redução de custo a longo prazo Maximização dos Investimentos em TI Alinhar a TI com o Processo de negócio
Boas Praticas - SOA Infra-estrutura para implementar mudanças do processo e/ou requisitos de negocio Evitar Dados compartilhados Evitar aplicações monolíticas Transparência na localização dos serviços Implementar ferramentas, processos e políticas para garantir integridade dos dados e a localização dos serviços Seguir Padrões abertos Testes
SOA - Pontos de atenção SOA representa uma mudança de paradigma Nem toda solução é adequadamente implementada utilizando SOA A granularidade dos serviços é importante Serviços com granularidade muito fina inviabilizam uma arquitetura SOA Serviços com granularidade muito grossa oferecem pouco reuso e comprometem a agilidade O conhecimento dos processos de negócio é pré-requisito para a construção de uma arquitetura SOA adequada A utilização de um conjunto integrado de ferramentas aumenta a produtividade
SOA e tendências... Computação em Nuvem
Computação em Nuvem
BAM Business Activity Monitoring
Origem BAM é visto como evolução do BI baseada em eventos capaz de analisar de dados históricos e atuais (em tempo real) Aumentar a capacidade do BI de analisar causas para os padrões identificados Necessidade de alertas mais rápidos sobre eventos indesejados
Arquitetura tradicional de BI
Arquitetura BAM
BAM complementa BI BAM oferece as seguintes vantagens: Reversão mais ágil de eventos indesejados Maior granularidade da informação contida nos eventos Permite visão em tempo real e histórica dos dados
Aplicações Gestão do portfólio de clientes Apoio na detecção de fraude Marketing em tempo real
Dificuldades para implementar BAM Dados incorretos podem gerar alarmes falsos Integração de todos os sistemas relevantes
Alexsandro Nogueira arosario@cpqd.com.br (19) 8118 1092 Rafael de Albuquerque Ribeiro rafaelr@cpqd.com.br telefone: (19) 3705-6039