Avaliação de ferramenta de software livre para BPM

Propaganda
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
Download