Estudo para automatizar os processos de negócio de uma pequena empresa comercial utilizando a linguagem BPEL e a Arquitetura SOA V JUNIC e V Seminário de Pesquisa Anderson Alflen Guzatti - [email protected] Ricardo Villarroel Dávalos – [email protected] Tubarão, Setembro de 2010 Introdução As pequenas empresas comerciais e de serviços, representam o 86% dos 5.028.318 estabelecimentos no país e por este motivo vêm sendo há muito tempo alvo de atenção devido a seu potencial de geração de renda e de emprego, porem a informatização praticada para apoiar sua gestão é precária. A Tecnologia da Informação (TI), as pessoas e a estrutura organizacional orientada a atividades, garantem aos processos de negócio das empresas, a geração de resultados e por conseqüência uma boa gestão. Para que isto ocorra de forma esperada é necessário haver regras, papéis, processos bem desenhados e tecnologias que as automatizem. Introdução Esta proposta tem como finalidade realizar um estudo de automatização dos processos relacionados com a compra e a aquisição de bens e serviços de uma empresa comercial da Região da Grande Florianópolis, utilizando a notação BPMN (Business Process Modeling Notation), a linguagem BPEL (Business Process Execution Language) e a arquitetura SOA (Service Oriented Architecture). Para aplicar este estudo foi selecionada e avaliada a ferramenta Intalio Community do tipo Software Livre e Código Aberto (SL/CA) . Um sistema BPMS (Business Process Management System), ou Sistema de Gerenciamento de Processos de Negócio é uma solução que vem ganhando espaço no mercado por se tratar de uma solução que permite a operacionalização de fluxos de processos em um ambiente controlado e monitorável. Agora vamos a ver alguns conceitos relacionados com BPMN, BPEL , SOA e sistemas BPMS Business Process Modeling Notation (BPMN) • A BPMN foi desenvolvido pelo BPMI.org,; • O objetivo é disponibilizar uma notação que seja realmente compreensível por todos os usuários de negócio • Analista de negócio (cria os desenhos iniciais dos processos); • Desenvolvedores técnicos e responsáveis pela implementação da tecnologia que vai executar esses processos • Pessoas das áreas de negócio que vão gerenciar e monitorar aqueles processos. • A BPMN também vai suportar o modelo técnico ou interno, que vai permitir a geração dos executáveis BPEL (Business Process Execution Language for Web Services). Business Process Modeling Notation (BPMN) • Assim, a BPMN criou uma ponte padrão para cobrir o gap existente entre o desenho do processo de negócio e a sua implementação. • A BPMN define um Business Process Diagram (BPD), que é baseado em uma técnica de flowcharting, talhada para criar modelos gráficos de operações de processos de negócios. Business Process Modeling Notation (BPMN) Business Process Modeling Notation (BPMN) Business Process Modeling Notation (BPMN) A linguagem BPEL e a Arquitetura SOA A linguagem BPEL executa num engenho/motor um documento XML (eXtensible Markup Language) criado por uma ferramenta gráfica, que pode ser usado tanto por analistas de negócios como por programadores. O resultado deste procedimento pode ser publicado num “Web Service” (solução utilizada na integração entre sistemas e na comunicação entre aplicações) ou iniciar um novo evento dentro da aplicação. Esta linguagem vem despertando grande interesse em virtude da crescente popularidade dos “Web Services”, como também do crescimento da adoção dos modelos que se baseiam em aplicações e orientados a serviços. A linguagem BPEL e a Arquitetura SOA Como a linguagem BPEL foi criada a partir da especificação de “Web Services” é importante comentar que a arquitetura SOA (Service Oriented Architecture) é considerada como um procedimento metodológico que apoia a automatização de processos de negócio que também visa maximizar a reutilização de serviços existentes e a integração com novos serviços para aumentar a eficiência e produtividade de uma empresa. Método O desenvolvimento desta proposta considerou : Ação 1: Realizou-se uma pesquisa bibliográfica dos temas abordados nesta proposta. Ação 2: Realizou-se um levantamento das informações relativas as pequenas empresas comerciais da Região. Ação 3: Foi estudado e avaliado uma ferramenta do tipo SL/CA que permita automatizar processos de negócio. Ação 4: Foram modelados e documentados os processos de negócio da pequena empresa comercial; Ação 5: Foram automatizados os processos relacionados com a compra e a aquisição de bens e serviços da empresa comercial; Método Ação 6: Foi elaborado um manual de uso e descrição de uma ferramenta do tipo SL/CA que automatize processos e um tutorial da aplicação. Ação 7: Realizou-se testes e validação dos processos implementados, assim como uma avaliação da ferramenta utilizada; Ação 8: Elaborou-se o relatório final desta proposta, artigo para apresentação na Jornada de Iniciação Científica, etc. Estudo de automatização dos processos relacionados com a compra e a aquisição de bens e serviços de uma empresa comercial da Região da Grande Florianópolis O sistema BPMS Intalio Community O processo compra e a aquisição de bens e serviços Veja que neste processo existem três atores: Cliente, Fornecedor e Gerente. Para uma melhor comunicação serão criados formulários numa ferramenta BPMS Criando um projeto na ferramenta BPMS INTALIO Criando formulários com AJAX na ferramenta BPMS INTALIO Os formulários são criados em AJAX (Asynchronous Javascript e XML) e este considera o uso de tecnologias Javascript e XML, providas de navegadores para tornar as páginas Web mais interativas com o usuário Criando formulários no Intalio Community Criando um esquema XML para armazenar as variáveis O XML é um formato para a criação de documentos com dados organizados de forma hierárquica, como se vê, freqüentemente, em documentos de texto formatados, imagens vetoriais ou banco de dados. Pela sua portabilidade, já que é um formato que não depende das plataformas de hardware ou de software, um banco de dados pode, através de uma aplicação, escrever em um arquivo XML, e um outro banco distinto pode ler então estes mesmos dados. Criando um esquema XML para armazenar as variáveis Depois de definido um nome e criado, (será criado) serão criadas as variáveis Exemplo – Criando o diagrama de processos de negócio Executando os processos Consideram-se três atores: Cliente, Fornecedor e Gerente. Depois disso definido, acessamos no servidor através da url: http://ipservidor:8080/uifw Exemplo – Executando os processos (cliente) O INTALIO trabalha apenas com 3 abas: a) de tarefas exibe tarefas de processos que exigem uma interação para que o processo continue. b) de notificações, exibe aquelas que não necessitam de uma interação, são apenas de caráter informativo. c) de processos, onde é listada todos os processos em que o seu usuário pode iniciar. Depois de acessado, no caso como o ator cliente neste projeto, teremos a visão do cliente, ilustrada na figura a seguir. Exemplo – Executando os processos (cliente) A figura a seguir exibe o que acontecerá assim que for selecionado o processo “Iniciar Questionário”. O cliente preencherá o questionário de acordo com suas necessidades para o levantamento das informações e iniciará o processo clicando no botão “Start” localizado na parte inferior da janela. Resultados Encontram-se registrados num relatório de pesquisa que segue o formato estabelecido pelo caderno de metodologia científica da Unisul todas as atividades realizadas no projeto de pesquisa. Foi modelada e descrita a pequena empresa de comercio e distribuição de DVDs e blu-rays a partir de questionários customizados na metodologia RUP. Realizou-se uma avaliação de duas ferramentas do tipo SL/CA para utilizar nesta proposta (INTALIO e TIBCO), sendo que a selecionada foi a INTALIO, pois apresenta uma melhor interface, funcionalidade e facilidade de uso. Foram instalados nos computadores do GSIG todos os componentes do INTALIO Community e foi automatizado com a linguagem BPEL o processo de compra de material da empresa distribuidora de DVDs e blu-rays. Resultados Elaborou-se um manual que descreve a ferramenta INTALIO e também foi elaborado um tutorial da aplicação desta ferramenta. O processo de compra de material foi validado a partir da execução das principais atividades e a automação aplicada a estas atividades requereu uma atenção mais dedicada, pois foram lidados com conceitos novos (BPMN, BPEL e SOA) e utilizado uma ferramenta nova (Intalio Community). Conclusões A experiência e o conhecimento obtido no desenvolvimento deste projeto levam a crer que se a empresa comercial e de serviços estudada adote este tipo de abordagem tende a ganhar muito em agilidade no realinhamento e otimização dos processos, além de conseguir identificar mais facilmente gargalos, trazendo benefícios tanto para a empresa que o utiliza quanto para o cliente em qualidade de serviço. A utilização desta abordagem requer talvez, uma mudança de paradigmas relacionada à gestão da empresa, pois a mesma traz uma nova forma de se pensar sobre os serviços oferecidos pela empresa e sua maneira de monitoramento. Referências BPMN. Business Process Modeling Notation Specification. V1.1. 2008 Disponível em: <http://www.omg.org/spec/BPMN/1.1/PDF>. Acesso em: 05 set. 2009. Bruce Silver Associate. BPM 2.0:Process without Programming. Outubro de 2003. Disponível em: http://whitepapers.techrepublic.com.com/abstrat.aspx?docid=292492. Acesso em: 24 out. 2009. FERREIRA, Ricardo. Processos executáveis usando BPEL: Usando a linguagem BPEL para a construção de processos executáveis baseados em serviços. Revista MundoJava: A revista do profissional Java, Curutiva . n. 27, ano V, p. 22- 34. 2008. . IBM. New to SOA and Web services. Disponível em: <http://www.ibm.com/developerworks/webservices/newto>. Acesso em: 04 out. 2009. MACEDO, Sifredo. Introdução ao BPEL e à Orquestração de Serviços. Revista PortalBPM. São Paulo, ed. 02, Ano I, p. 36-39. 2007. Disponível em: < www.portalbpm.com.br> . Acesso em: 04 out. 2009. OWEN, Martin; Raj, Jog. BPMN and business process management: Introduction to the new business process modeling standard. White Paper. Popkin Software. September, 2003. Disponível em: <http://www.bpmn.org>. Acesso em: 04 out. 2009. WHITE, Stephen A; MIERS, Derek. BPMN Modeling Reference Guide. Lighthouse Point:Future Strategies, 2008. Conclusões Para apoiar o gerenciamento dos processos de negócio podem ser avaliadas ações estratégicas a partir de regras de negócio e criar um ambiente de colaboração efetiva e múltiplas funções, para analisar coletivamente as informações e preparar usuários para atuarem em diversos setores. Através do estudo levantado e do manual disponibilizado, facilita-se a difusão deste modelo de gerenciamento, vindo a balancear a concorrência do mercado, aproximando grandes e pequenas empresas, sem acarretar num custo elevado e longe do alcance das pequenas.