Ponta Grossa, Paraná, Brasil – 07 a 09 de junho de 2017 Avaliação de ferramenta de software livre para BPM Roquemar de Lima Baldam (Ifes) [email protected] Igor Caldellas Pereira (Ifes) [email protected] Lucas Bissoli Garcia (Ifes) [email protected] Lourenço Costa (Ifes) [email protected] Thalmo de Paiva Coelho Junior (IFES) [email protected] Resumo: Os softwares open source vêm sendo cada vez mais utilizados, já que estão em um ambiente competitivo em que as microempresas estão inseridas. Os programas de código aberto estão conquistando um espaço importante entre os novos usuários principalmente pelo mesmo ser gratuito. A vantagem competitiva que esses frameworks proporcionam podem ser colocados como redutores de custos, além de aumentar a eficiência do processo de negócio. Foi realizado uma comparação abordando os quatro programas (JBPM, Openwfe, Sistema Bonita e Intalio BPM) analisados e foi possível perceber dentro dessa análise itens que poderiam ser comparados entre os mesmos. O uso desses frameworks na área procurada é importante, pois passa a ser um diferencial competitivo já que é possível observar o início e fim do processo, passando por todas as etapas, e assim observar as falhas que sem o mapeamento do processo seria complicada sua observação. Palavras Chave: Software Livre, Processo de Negócios, Business Process Management (BPM), Microempresa, Avaliação e Workflow. Evaluation of BPM free software tool Abstract: Open source software has been increasingly used, as it is in a competitive environment in which micro-enterprises are inserted. Open source programs are gaining significant ground among new users mainly for the same being free. The competitive advantage these frameworks provide can be placed as cost reducers, while increasing the efficiency of the business process. A comparison was made of the four programs (JBPM, Openwfe, Sistema Bonita and Intalio BPM) analyzed and it was possible to perceive within this analysis items that could be compared between them. The use of these frameworks in the searched area is important, since it becomes a competitive differential since it is possible to observe the beginning and end of the process, going through all the steps, and thus to observe the failures that without the process mapping would be complicated its observation. Key-words: Free Software, Business Process, Business Process Management (BPM), Micro Enterprise, Evaluation and Workflow. Ponta Grossa, Paraná, Brasil – 07 a 09 de junho de 2017 1. Introdução Os programas de código aberto estão conquistando um espaço importante entre os novos usuários, principalmente pelo mesmo ser gratuito. Ciente desses desenvolvimentos e também da crescente popularidade do software de código aberto, fica evidente a oportunidade de explorar as capacidades de WFMSs (Workflow Management Systems) desses programas. Wohed et al. (2009) afirma que Workflow Management Systems são sistemas de software que suportam a execução de processos de negócios em uma organização. Segundo Berglund (2004) os bugs são perspectivas dos usuários e devem ser definidos não como um erro, mas como um desvio entre a execução da comunicação e implementação real. Os erros são repassados para as instituições de desenvolvimento para que possam solucionar e remover o bug por meio da distribuição de novas versões ou patches. Outra vantagem é a agilidade em que os famosos bugs (falhas no código-fonte) são corrigidos, pois há uma comunidade envolvida no processo de correção do erro, diferentemente de um software pago, onde o número de pessoas responsáveis pelo código-fonte é restrito, necessitando assim de um maior tempo para solucionar as causas dos bugs. Além disso, o uso dos softwares abertos é mais seguro, pois a tecnologia não depende de terceiros. Assim, iniciaremos o trabalho descrevendo sobre os softwares livres em geral, para que em seguida seja possível apresentar alguns sistemas de código aberto de maneira mais especifica e de forma a compreendê-los melhor. Após as devidas explicações os softwares serão avaliados de acordo com as necessidades dos usuários de uma micro ou pequena empresa. Este artigo tem como base levantar informações sobre Softwares Livres que, visa apresentar informações para que haja um melhor conhecimento de suas definições e suas vantagens. Além de elaborar um quadro que compare as principais características de alguns softwares livres para BPM. Este trabalho tem como objetivos principais a realização de um estudo sobre as características de alguns softwares livres para BPM, elaboração de um quadro que permita comparar esses softwares livres. Com o quadro elaborado, realizar uma avaliação que permita identificar as vantagens e desvantagens dos softwares. Com os resultados do quadro, relacionar as vantagens do software as necessidades de uma microempresa. 2 Materiais e Métodos Para o desenvolvimento deste artigo foi realizado, primeiramente, um estudo sobre os softwares livres, com o objetivo de aprofundar o conhecimento sobre os mesmos, além de apresentar as suas principais características. Com base nesse estudo, foram identificados alguns exemplos de softwares livres: - JBPM; - Openwfe; - Sistema Bonita; - Intalio BPM. Sobre cada software, foram pesquisadas informações específicas. Em seguida, com base nos dados coletados, fez-se uma comparação abordando os quatro programas analisados em que Ponta Grossa, Paraná, Brasil – 07 a 09 de junho de 2017 foi possível perceber dentro dessa análise itens que poderiam ser comparados. As informações sobre cada software foram dispostas em forma de tópicos e fazem menção à aspectos como: conceito, componentes e requisitos para a utilização do programa. Depois de feito o estudo teórico, será realizado um contato com cada um desses softwares onde será avaliado a facilidade de aquisição, a disponibilidade quanto a plataforma a ser utilizada, a interface entre o usuário e o programa, e a sua manutenção. Para que os resultados alcançados sejam reais, vale ressaltar que a avaliação será realizada por funcionários de uma microempresa, sendo que o conhecimento do software não é observado em todos que irão participar dessa avaliação. Em seguida, será construído um quadro onde serão comparados os tópicos citados acima entre os programas aqui estudados, com o intuito de esclarecer de forma rápida as características de cada um deles. Os itens avaliados por meio do contato com o software serão classificados em três níveis, sendo eles: regular, médio e bom. Por fim, será feito uma análise do quadro de forma a apontar qual software melhor se adapta ao uso de microempresas em geral. 3. Sobre o BPM Segundo Zairi (1997) o BPM é definido com a finalidade do papel com que todos os esforços em uma organização para analisar e melhorar continuamente as atividades fundamentais, tais como fabricação, marketing, comunicação e outros elementos importantes de operações da empresa. O objetivo do BPM é otimizar os resultados da organização melhorando os processos. Para Pyon, Woo e Park (2011) é importante que o BPM seja regido pelas seguintes regras: • Atividades de mapeamento e documentação; • Foco nos clientes; • Atividades de medição para avaliar o desempenho de cada processo; • Uma abordagem contínua de otimização; • A inspiração nas melhores práticas para aumentar a competitividade e; • Uma abordagem para a mudança de cultura; Logo, o BPM possibilita obter uma visão macro do processo, atuando de forma contínua, por meio do uso de métodos e técnicas a otimizar custos e tempos de processos. Trkman (2010) afirma que o BPM deve traduzir a estratégia da empresa para as necessidades específicas, e possibilitar a execução dessa estratégia. Os usuários dos produtos de software de código fechado são geralmente restritos a fazer alterações de personalização. Alguns de seus processos de negócios ou tecnologias podem precisar ser mudados, a fim de integrar efetivamente o software fechado. Para Asundi et al (2012) a liberação de produtos de código aberto aumenta o tamanho do mercado, de modo que as empresas se beneficiam da venda de produtos ou serviços complementares. 4. Software analisados 4.1 OpenWFE 4.1.1 O que é? O OpenWFE (Open Source workflow Engine) é um Sistema de Gerenciamento de workflow Ponta Grossa, Paraná, Brasil – 07 a 09 de junho de 2017 open source criado em 2001. Seu uso é gratuito, está registrado sob licença BSD (Berkeley Software Distribution). Não é caracterizada apenas como um Workflow Engine, mas também como um WFMS (Business Process Management Suite). Foi desenvolvido em Java, porém o seu uso não esta restrito apenas a esse. Pode ser associado a aplicações Python, Perl, C#(.NET) e Ruby. 4.1.2 Principais componentes Os elementos principais desse sistema são: Motor de workflow (workflow Engine): é o ambiente de execução de workflow do sistema. Lista de trabalho (Worklist): No momento em que uma instância de processo passa a ser executada, itens de trabalho (workitens) são criados. As listas de trabalho serão os repositórios dos itens de trabalho que são delegados aos participantes no decorrer da execução do processo Cliente: aplicação web para interação com a lista de trabalho do workflow. APRE (Automatic Participant Runtime Environment): em português, Ambiente de Execução de Participante Automático, é o componente responsável por prover o ambiente onde são alocados os agentes, que são participantes automáticos do processo. 4.1.3 Requisitos do Sistema O OpenWFE requer um sistema com um Java Development Kit (JDK) da versão 1.4.0 ou posterior. A Java Runtime Environment (JRE) da versão 1.4.0 ou posterior também é aceitável, caso não tenha o webapplication. O webapplication exige um JDK, pois contém o compilador javac que é necessário para compilar JSP (Java Server Pages) em servlets. 4.1.4 Quanto aos Participantes Apenas os usuários da aplicação mapeados como participantes no OpenWFE é que terão importância na execução de uma instância de processo. O sistema permite também a utilização de participantes automáticos na execução de processos. 4.1.5 As Permissões As permissões atuam como forma de controlar o que pode ser feito pelos participantes no decorrer das execuções das instâncias de processos. 4.2 JBPM 4.2.1 O que é? O JBPM é um flexível Business Process Management Suite (BPM). É leve, totalmente open source (distribuído sob a licença Apache) e escrito em Java. Ele permite que você modele, execute e monitore processos de negócios durante todo seu ciclo de vida. Pode ser executado em qualquer ambiente Java, incorporado no seu aplicativo ou como um serviço. 4.2.2 Seus Componentes • Motor de processos: elemento nuclear da solução e é necessário para executar os processos de negócio, que é invocado sempre que necessário iniciar ou sinalizar Ponta Grossa, Paraná, Brasil – 07 a 09 de junho de 2017 um processo; • Editores gráfico: estão disponíveis a partir do Eclipse ou em ambiente web; • Repositório Guvnor: componente opcional, que pode ser utilizado para armazenar todos os processos, suportando round-tripping (sincronização entre dois ou mais elementos de software, código, configurações, para reduzir as inconsistências); • Console JBPM: console acedida em interface web, que permite a gestão dos processos, tais como, iniciar novos processos ou inspecionar a sua execução. 4.2.3 Como Instalar Antes de iniciar a instalação, é necessário que os pré-requisitos estejam disponíveis, nomeadamente o JAVA_HOME. Para continuar a instalação deve-se descarregar a versão completa, descomprimir e a partir da diretoria jbpm_installer executar o comando para proceder à sua instalação. 4.2.4 Vantagens A escolha do JBPM sobre os outros motores de workflow Java disponíveis decorre de: • Disponibilidade de ferramenta gráfica para design e deploy de definições de processos de negócio (jBPM Graphical Process Designer), através de um plugin Eclipse; • Utiliza Hibernate para camada de persistência; • Separação forte entre modelagem e implementação de processos; • Utiliza base de dados para armazenar definições de processos, estados de instâncias de processos e informações de log; • Suporte a vários bancos de dados; • Disponibilidade de documentação elaborada; • A consagrada JBoss é responsável pelo projeto. Provê suporte, treinamento e consultoria; • Pode ser integrado a uma aplicação Java standalone, ao JBoss ou a outros servidores de aplicação; • Suporte a clusterização; • Logging, que gera históricos sobre a execução dos processos; • Versionamento, que permite alterar as definições do processo sem prejudicar as instâncias (execuções) do mesmo; • Se encontra num estágio maduro quanto à implementação; • Interface web para interação com usuários; • Possibilita a apresentação de tarefas de usuários de outras aplicações juntamente com as tarefas do processo jBPM. 4.2.5 Assistência Você pode sempre contatar a comunidade jBPM para obter assistência. 4.2.6 Ele Suporta Ponta Grossa, Paraná, Brasil – 07 a 09 de junho de 2017 • Um serviço de repositório para armazenar seus processos de negócios e artefatos relacionados, utilizando um repositório JCR, que suporta versões, e acessar remotamente como um sistema de arquivos ou usar serviços REST, etc; • Uma interface de usuário baseada na web para gerenciar seus processos de negócios, voltado para usuários de negócios, apoiando a visualização (e edição) de seus processos (o designer baseado na web é integrado aqui), mas também a categorização, testes de cenário, implantação, etc; • Funcionalidades de colaboração para ter múltiplos atores (por exemplo, usuários de negócios e desenvolvedores) trabalhando em conjunto na definição de um mesmo processo; • Um agente de conhecimento para facilmente criar novas sessões com base nas definições de processos no repositório. Isto também suporta (opcionalmente) atualizar dinamicamente todas as sessões se um novo processo foi implantado. 4.2.7 Características Importantes • Tarefas humanas: Ao utilizar atores humanos, você precisa de um serviço de tarefa humana para gerenciar o ciclo de vida das tarefas, as listas de tarefas, etc; • Teste e depuração: como testar e depurar seus processos. Repositório de processos poderia ser usado para gerenciar seus processos de negócios. 4.2.8 Conceitos Avançados • Monitoramento de atividades empresariais: o processamento de eventos para monitorar o estado de seus sistemas; • Processos flexíveis: modelo muito mais adaptáveis, flexíveis usando processos de construções de processo avançado e integração com as regras de negócios e processamento de eventos. 4.3 Intalio BPM 4.3.1 O que é? O Intalio BPM permite que analistas de negócios e de TI auxiliem as pessoas a colaborarem no desenho, implementação e gerenciamento contínuo de todos os processos de negócios, sejam eles grandes ou pequenos, simples ou complexos, transacional ou fluxo de trabalho orientado. 4.3.2 Componentes • Intalio BPMS Designer: Ferramenta para os analistas de processos modelarem os processos de negócio na notação BPMN com ferramentas gráficas adicionais para os engenheiros de TI mapearem os dados do processo e geração da linguagem BPEL 2.0 para execução no servidor com o mínimo de codificação. • Intalio BPMS Server: É um servidor compatível com J2EE que suporta execução de BPEL nativo. Ambas as especificações BPEL 1.1 e BPEL 2.0 são suportadas. Possui, também, um console de administração baseada na web que permite administrar versões e monitorar as execuções dos processos. • Intalio BPMS Workflow: Na ferramenta Intalio Designer, o plug-in com interface WYSISYG permite criar formulários e gerar XForms sem necessidade de escrita de código. No servidor, integra as atividades humanas como participante do processo de negócio através de formulários acessados via Web. Ponta Grossa, Paraná, Brasil – 07 a 09 de junho de 2017 4.3.3 Requisitos BPMN 1.0 e BPMN 2.0; BPEL 1.0, 1.1 e 2.0; BPEL4PEOLPLE 1.0. 4.3.4 Características Usa Interface Framework (UIFW): A interface do usuário-quadro (UIFW) é a aplicação web que dá aos usuários acesso à execução de processos. Fornece uma tela de logon e lista de tarefas. Ele é responsável por mostrar corretamente quando o usuário seleciona uma tarefa. UIFW é implementado como um arquivo WAR em praticamente qualquer servidor de aplicações J2EE. Os processos de gerenciamento de tarefas (PGT): gerencia o ciclo de vida de tarefas de fluxo de trabalho a partir do momento em que você criar uma tarefa até a conclusão. É responsável por mudar os estados de tarefas de acordo com as regras e as interações do usuário conforme definido em seus processos. A estrutura de segurança (SFW): Fornece uma interface baseada em papel de controle de acesso para sistemas de segurança, principalmente para a autorização, autenticação e single sign-on. Ele é usado pela estrutura de interface do usuário para autenticação do usuário no login e do Serviço de Gestão de Tarefas para a autorização de qualquer chamada para TMS. Attachment Service Task (TAS) é um serviço que possui anexos ligados a tarefas. A API suporta adicionar e excluir anexos (arquivos binários), junto com algum tipo de descrição e conteúdo. 4.4 Bonita Open Solution 4.4.1 O que é? O Bonita Open Solution é uma ferramenta open source de gerenciamento de processos de negócios (BPM) e Workflow baseada em Java, criado em 2001. Esse software foi desenvolvido pela empresa BonitaSoft. 4.4.2 Componentes Bonita Estúdio: Permite ao usuário modificar graficamente os processos de negócio seguindo o padrão BPMN. O usuário também pode conectar os processos para outras partes do Sistema de Informação (como mensagens, ERP, ECM, bases de dados), a fim de gerar um aplicativo de negócios autônomo e acessível como um formulário web. O Bonita Studio também permite que o utilizador desenhe graficamente as formas que serão apresentadas ao utilizador final, a fim de interagir com o processo. Além disso, o Studio permite que o usuário comece com os processos desenhados com outros padrões e tecnologias, como o JBPM. Ele se baseia em Eclipse. Bonita BPM Motor: O motor BPM é uma API Java que permite a você interagir programaticamente com o seu processo. Isso está disponível sob LGPL. Ele se baseia em Hibernate. Bonita Experiência do Usuário: É um portal que permite que cada usuário final possa gerir uma interface de webmail como todas as tarefas em que ele está envolvido. O portal também permite que o proprietário de um processo administre e obtenha relatórios sobre os processos. Ele se baseia em GWT. Ponta Grossa, Paraná, Brasil – 07 a 09 de junho de 2017 4.4.3 Como Instalar Requisitos de Software Antes de iniciar a instalação, é necessário ter alguns softwares na máquina: • Java Runtime; • Oracle 1.6. Requisitos de Hardware Para que o Bonita execute corretamente é necessário: • Mínimo 2gb de memoria ram; • 2gb livres no HD. Para continuar a instalação deve-se descarregar a versão completa, descomprimir e a partir do diretório “exe” executar o comando para proceder a sua instalação. 4.4.4 Vantagens • Usabilidade descomplicada e intuitiva. • Interface e ferramentas possuem design agradável. • Módulo para averiguar funcionamento do processo elaborado. • Segmento para facilitar a experiência do usuário. • Baseado em Eclipse Process Designer gráfica, Bonita Studio, fornece algumas características de usabilidade fortes. • O Usuário Bonita portal proporciona uma visualização inovadora para o trabalho processo de rastreamento, tendo o Gmail como sua referência de design. • Além de apoiar a separação de processos e do motor que é comumente utilizado em implementações de tecnologia de BPM atualmente, BOS também permite aos desenvolvedores criar arquivos executáveis autônomos que podem ser gerenciados como aplicações autônomas em Java. 4.4.5 Assistência Você pode sempre conectar ao site BonitaSoft para obter tutoriais e conhecer as opções de treinamento. 4.4.6 Características importantes O Bonita Studio permite que o usuário comece com processos desenhados em outros padrões e tecnologias como XPDL ou jBPM. Bonita pode ser aplicado para vários projetos que exigem fluxos de trabalho complexos como Supply Chain Management, e-governo, Recursos Humanos, Gestão de Contratos. 4.6 Formação do Quadro Comparativo Ponta Grossa, Paraná, Brasil – 07 a 09 de junho de 2017 Conforme descrito no Apêndice 1, os critérios utilizados para formação do quadro foram: • Quanto ao uso: As linguagens que podem ser escritas no software. • Componentes: Principais funções que o framework possui. • Requisitos: Ferramentas necessárias para que o software funcione. • Licenciado: Empresa que retém os direitos autorais do software. • Facilidade de aquisição: Está relacionado a facilidade de entrar em contato e liberar a versão paga com a empresa que licencia o software. • Interface com o usuário: Facilidade que o usuário tem ao realizar suas tarefas utilizando as ferramentas do software. • Encontrar informação: Facilidade de encontrar informações em outros meios sobre o programa, caso o manual do framework não ajude. • De forma geral: Visão geral sobre o programa, analisando suas vantagens e desvantagens. 5. Conclusões É importante ressaltar que os softwares apresentados, sendo eles mais fáceis ou não de serem encontrados de forma geral na web, apresentam uma característica comum, que seria a fácil manipulação das ferramentas simples. No entanto, as ferramentas mais complexas, e de fundamental relevância para o processo estão travadas pelo licenciador. O motivo para tal seria que, como se trata de um software open source que tem como objetivo distribuir gratuitamente o programa e fazer com que o usuário se interesse pela ideia e pelas ferramentas que não estão disponíveis na versão free, fazendo com que ele pague para ter tais ferramentas, receber treinamento e ter uma assistência técnica. De modo geral, a versão free atinge o objetivo de realizar uma modelagem de processo bem simples, no entanto o que acaba sendo um diferencial competitivo é a facilidade de encontrar informações, e opiniões de pessoas que já utilizaram ou que utilizam o mesmo. Por meio de estudos, análises e apresentação do software para microempresas do segmento comercial, como varejistas, podemos colocar o JBPM como o melhor entre os programas de acordo com os critérios de avaliação durante o desenvolvimento, ressaltando apenas a sua versão free, e acreditando ser muito boa a sua versão paga, além de possuir sites como o JBOSS Brasil, que possui milhares de perguntas sobre o software, o que auxilia na curiosidade e entendimento do JBPM. Esses softwares são interessantes para as empresas em desenvolvimento, já que por se tratar de um framework, eles não possuem uma metodologia fixa para resolver problemas, pois funcionam como um programa capaz de a partir dos dados que o usuário insere, o framework transforma os dados de forma a ser executável. O uso desses frameworks na área procurada é importante, pois passa a ser um diferencial competitivo já que é possível observar o início e fim do processo, passando por todas as etapas, e assim observar as falhas que sem o mapeamento do processo seria impossível e difícil de observar. Ponta Grossa, Paraná, Brasil – 07 a 09 de junho de 2017 Referências ASUNDI, J.,CARARE, O., DOGAN, K. Competitive implications of software open-sourcing, Decision Support Systems. 2012. BERGLUND,, E. Communicating bugs: global bug knowledge distribution, Information and Software Technology, 47 709-719. 2005. ZAIRI, M. Business process management: a boundaryless approach to modern competitiveness, Business Process Management Journal, 3 (1997) 64-80. 1997. PYON, C., WOO, J., PARK, S. Service improvement by business process management using customer complaints in financial service industry, Expert Systems with Applications, 38 , 32673279. 2011. TRKMAN, P. The critical success factors of business process management, International Journal of Information Management, 30, 125-134. 2010. WOHED, P. et al. Patterns-based evaluation of open source BPM systems: The cases of jBPM, OpenWFE, and Enhydra Shark, Information and Software Technology. 2009. Ponta Grossa, Paraná, Brasil – 07 a 09 de junho de 2017 Apêndice 1 Quanto ao uso OPENWFE JBPM BONITA INTALIO • • • • • • Java; Python; Perl; C#(.NET); Ruby; Java • API Java • BPEL • Java • BPEL Componentes • Motor de workflow • Lista de trabalho (Worklist) • Cliente • APRE • Motor de processos • Editores gráfico • Repositório Guvnor • Consola JBPM • Motor de wokflow • alterar processos de negócios • Conectar o processo a outros sistemas (como, ERP, ECM) • Desenhar graficamente os formulários • Intalio BPMS Designer • Intalio BPMS Server • Intalio BPMS Workflow Requisitos Licenciado Facilidade de aquisição Interface com o usuário Encontrar informação De forma geral • Java Development Kit (JDK) da versão 1.4.0 ou posterior. BSD Ótimo Bom Bom Bom • JAVA_HOME Apache Ótimo Bom Ótimo Ótimo • • 2 GB de RAM 1 GB livre no HD GPL Ótimo Bom Regular Bom • • Java Runtime Oracle 1.6 • BPMN 1.0 e BPMN 2.0; BPEL 1.0, 1.1 e 2.0; BPEL4 PEOLPLE 1.0 MPL Ótimo Bom Bom Bom • • • Quadro 1 – Comparação dos softwares utilizados