Denys Gonçalves é senior solution architect da Engineering

Na Era Digital, a evolução dos negócios exige um grau de adaptação nunca antes vivenciado. Junto à digitalização dos processos, os novos modelos de negócios e a eficiência operacional, encontramos as adaptações nos ambientes de desenvolvimento. Essas, estão se tornando cada vez mais vital para a continuidade do negócio e do provimento de uma excelente experiência do usuário, implicando na criação de soluções cada vez mais robustas e ao mesmo tempo maleáveis, a ponto de serem modificadas, testadas e integradas com agilidade.

A utilização de uma arquitetura em microsserviços, com o fim de construir sistemas computacionais, contribui com o provimento destas vindicadas aptidões. Este termo está posicionado como um dos principais temas no que tange a arquitetura de software, além de trazer consigo uma série de benefícios, carrega também um conjunto de complexidades para o seu desenvolvimento.

Os desenvolvedores e arquitetos são assombrados pelo questionamento “qual a melhor forma de se fazer a composição e organização dos microsserviços de forma que os mesmos sejam eficazes e reusáveis? ”.

É um fato constatado de que simplesmente desenvolver um sistema baseado em microsserviços não dá ao mesmo a robustez requerida pelos sistemas modernos, em vista disso, faz-se necessário uma forma de organização em um nível funcional e descomplicado para possíveis modificações. Um dos maiores destaques dentre os modelos de composição de microsserviços está a orquestração. Essa permite uma integração de forma melodiosa e harmônica e, além do mais, com ritmo. E não menos importante, invocando cada microsserviço no momento de necessidade.

Entretanto, com intuito de responder ao assombro dos desenvolvedores, algumas empresas desenvolvem seus próprios orquestradores de microsserviços, como a Netflix e a Uber. O problema neste tipo de desenvolvimento é a modelagem própria, que faz necessário a utilização de um desenvolvedor com certo grau de conhecimento para projetá-la, orquestrá-la e, ou, alterá-la, tornando-se uma alternativa inviável para ser utilizada por todas as companhias.

Uma saída lógica para este problema é a utilização de uma modelagem de orquestração baseada em uma linguagem padronizada e de cunho funcional que é um padrão para modelagem de processos de negócios que fornece uma notação gráfica para a especificação destes. Estamos falando da orquestração baseada em processos de negócios (BPMN) e BPEL.

Segundo a OMG (Object Management Group), o principal objetivo do BPMN é fornecer uma notação que seja compreensível por todos os usuários dentro do âmbito de negócios, dos analistas e desenvolvedores aos empresários que irão gerenciar e monitorar esses processos. O emprego desta modelagem para a orquestração de microsserviços contribui para uma maior agilidade de criação e manutenção porque permite que uma equipe funcional possa realizar alterações do fluxo sem a necessidade de uma equipe de desenvolvimento.

Ao construirmos APIs baseadas em microsserviços espera-se que, mesmo em um ambiente de acesso massivo, se comportem com desempenho invejável a ponto de ser utilizado tanto internamente quanto externamente e, posteriormente, monetizado. Para isso, é necessário que qualquer orquestração destes microsserviços sejam realizados por uma ferramenta adequada.