Sistemática para desenvolvimento de microsserviços a partir de modelos de processos de negócio - Caravieri, Fabiana Pupin Masson (2019)
Os modelos de processos de negócio têm sido amplamente utilizados por diferentes tipos de organizações para mapear processos de ponta-a-ponta relacionados a produtos ou serviços. A automação desses modelos é normalmente propiciada por sistemas de gerenciamento de processos de negócio, conhecidos como BPMSs (Business Process Management Systems), geralmente construídos com arquitetura monolítica e abordagem orientada a serviços (SOA). De modo geral, esses sistemas requerem configurações custosas para automatizar modelos de processos de negócio. Nesse sentido, o principal objetivo deste trabalho é apresentar um processo sistemático para o desenvolvimento de um BPMS dedicado a um modelo específico de processos de negócio "m", desenvolvido integralmente com tecnologias de microsserviços e identificado como "BPMSm". Considerando que uma organização possui “n” modelos de processos de negócio, a integração dos BPMSm´s constitui um BPMS global, identificado como BPMSg. A inovação neste trabalho está no conjunto da proposta apresentada, com destaque à granularidade considerada para a especificação de cada microsserviço: cada microsserviço automatiza uma atividade do modelo de processos de negócio. Todo o trabalho foi contextualizado na abordagem da Engenharia de Software Contínua e DevOps, o que resultou numa solução que permite entregas contínuas, de forma prática, rápida e escalável. O processo sistematizado proposto consiste em três etapas. A validação do modelo de processos de negócio utilizando a notação BPMN v2.0 é feita com base em critérios bem definidos de boas práticas para modelagem gráfica e documentação textual. A especificação dos requisitos para os microsserviços utiliza uma estrutura bem definida e a ferramenta Web “MservSpec” (Especificação de Requisitos para Microsserviços), desenvolvida neste trabalho. A implementação usou a plataforma em nuvem Google Firebase e a linguagem Node.js. Três casos foram apresentados para prova de conceito, considerando modelos de processos de negócio com diferentes níveis de complexidade. As análises de desempenho foram feitas com ou sem a utilização de recursos de cache, avaliando o tempo de resposta e o tempo de execução de cada BPMSm. O trabalho também apresenta estudos que abrangem as áreas de modelos de processos de negócio, microsserviços e Engenharia Contínua de Software, essenciais para o desenvolvimento deste trabalho.