terça-feira, 17 de julho de 2007

Quais os impactos de adoção de um BPMS?

Antes de mais nada, o que é um BPMS?

Um BPMS (Business Process Management Systems/ Softwares) consiste em uma nova categoria de software que permite as corporações, modelar, simular, implantar e gerenciar os seus processos de negócios de forma clara, fácil e controlada e monitorada, sem uma forte dependência com TI.

Resumindo, o BPMS permite dar vida aos processos de negócios da corporação em um ambiente controlado e monitorável.

Quais os componentes/ferramentas principais de um BPMS?

  • Business Process Modeler: Ferramenta que possibilita aos analistas de negócios a modelarem os processos de negócio da corporação na forma de diagramas. Normalmente, estes diagramas seguem uma notação padronizada para representação de fluxos de processos, denominado BPMN (Business Process Modeling Notation), porém podem seguir notações proprietárias.
  • Executable Process Modeler: Ferramenta que possibilita a transformação do diagrama criado acima em uma linguagem entendível pelas engines de execução dos processos. Normalmente, a linguagem a ser gerada é o BPEL (Business Process Execution Language), que é uma linguagem de execução de processos com foco em Web Services.
  • Process Execution Engine: Componente que executa os processos implantados, gerados acima, gerenciando as informações pelos mesmos, produzidas.
  • Business Activity Monitoring (BAM): Componente que possibilita a gestão dos processos implantados, através de diversos relatórios estatísticos (dashboards).
  • User Portal: Interface que permite aos usuários envolvidos do processo, a participarem da execução do mesmo.
  • Administration Portal: Interface que possibilita o acompanhamento dos processos em execução, desde que tenha permissão de acesso aos mesmos, além de possibilitar implantações tanto de novos processos quanto de novas versões.

Assim, para considerar seus impactos, vamos considerar os seguintes cenários:

Cenário 1: Imaginem um dado processo de negócio que realiza a orquestração de um determinado conjunto de serviços. Imaginou? Ótimo. Agora, imagine que todos estes serviços já estejam implementados, seguindo é claro as recomendações WS-I* (especificações Web Services Interoperability).

Bem, já que todos os serviços estão implementados e nós apenas tenhamos que orquestrá-los em uma seqüência lógica para compor o processo de negócio alvo. O que temos que fazer? Fácil, devemos utilizar uma ferramenta BPMS, sem que não seja necessário a criação de nenhuma linha de código.

Cenário 2: Agora imaginem uma situação onde tenhamos que criar um processo de negócio que envolve a integração de diversas aplicações legadas. Além disto, e muito provavelmente, estas aplicações legadas foram implementadas por tecnologias distintas (Cobol, Java, Natural, .Net, dentre outras). Com isto, nós teremos a necessidade de utilizar conectores (ou adaptadores), que são responsáveis por prover a transformação de um protocolo por outro e vice-versa.

Bem, muitas soluções BPMS já provem diversos destes conectores para as principais tecnologias existentes. E caso tenhamos que desenvolver algum conector, os próprios BPMS ou geram códigos nativos da linguagem usada no sistema legado alvo, ou até mesmo, já geram estes conectores na forma de web services.

Então, podemos perceber, que se por um acaso precisarmos codificar algo, este esforço será reduzido drasticamente.

Cenário 3: Imaginem que para todos os processos de negócios analisados e modelados, nós tenhamos que mantê-los sempre documentados, para que os mesmos possam ser frequentemente analisados.

Bem, a grande maioria das soluções BPMS geram boa parte das documentações sobre os processos modelados e seus serviços utilizados. E caso haja alguma mudança nos mesmos, estas documentações podem ser geradas em tempo-real.

Cenário 4: Imaginem que em um processo de negócio definido, modelado e implantado em um ambiente em “produção”, um erro foi identificado. Percebemos também, que algumas instâncias destes processos estão atualmente em execução. Onde, precisamos fazer uma correção nos fluxos deste processo, sem que as instância que estão rodando parem bruscamente.

Bem, as soluções BPMS permitem as alterações destes fluxos, mantendo-se as instância em execução no modelo antigo, e novas instâncias já adequadas ao modelo novo. Tudo isso apenas com um controle de versão já provido pelos BPMS.

Bom, acima descrevi apenas quatro cenários que possibilitam e justificam alguns olhares às soluções BPMS para adoção pela sua corporação. Pois, como vimos acima, o uso de um BPMS tem impactos bastante positivos, possibilitando-nos escrever menos códigos, ter flexibilidade e rapidez em eventuais mudanças e confecção de documentações, além de possibilidades de simulação dos processos a serem implantados e monitoramento dos processos já em execução.

Em breve, estaremos escrevendo um artigo que demonstra mais claramente o funcionamento destes BPMS. Até lá.

Nenhum comentário: