Assine nossa
newsletter

Como alterar a arquitetura de um sistema de serviços e torná-lo flexível

30.11.2023
Autor: Colab
governo

Esse papo começou comigo e com a Vivian (Gerente de Produto do Colab) entendendo melhor como poderíamos trazer mais opções de arquitetura da informação e experiência que temos em todo nosso ecossistema, com isso descobrimos que não poderíamos repensar a estrutura focada somente nas aplicações, tínhamos que abstrair o conceito de flexibilização como se fosse um serviço, desacoplado de tudo.

Pensando nisso, começamos a vislumbrar um caminho onde nós deveríamos moldar a experiência não com regras fixas, mas sim com regras que seriam flexíveis por si só, nisso nasceu o conceito do service-provider.

Ok, ok mas me explica ai o que é essa parada…

O service-provider é um conjunto de arquiteturas que vai servir para moldar a experiência do usuário baseado em determinados inputs:

Basicamente, recebemos a entidade inteira do usuário e junto com nossas outras regras flexíveis, conseguimos prover insumos necessários para que ele tenha uma experiência customizada, dependendo de onde ele esteja, quem ele seja ou em que momento ele está interfaceando conosco.

Do que é feito o service-provider?

Agora que estamos na mesma página do que o service-provider vai fazer, vamos mais fundo para entender como ele pode ser concebido.

Existe um conceito muito conhecido no mundo de desenvolvimento que são os micro serviços, que nada mais são do que funções desacopladas do nosso core para podermos ter um gerenciamento melhor. O service-provider nasceu sendo pensado em um micro serviço porém, na primeira semana, já vimos que esse modelo não iria funcionar.

Não me entenda mal, micro serviços são ótimos, mas precisávamos de algo que fosse componentizado e totalmente desacoplado da arquitetura que temos hoje, agnóstico à regra de negócio que temos hoje, que funcionasse para qualquer base code que temos ou venhamos a ter.

A pergunta óbvia é: podemos fazer isso quando trabalhamos com serviços? Evidentemente, a resposta é sim! Os serviços não têm que ser feitos de pequenos monólitos. Em vez disso, podemos ser projetados com base nos princípios SOLID, recebendo uma estrutura de componentes que suporte inclusão de novos componentes sem que se alterem componentes já existentes dentro do serviço.

Autor: Colab

Aprenda a digitalizar serviços públicos com nosso curso gratuito exclusivo. Transforme a experiência do cidadão e aumente a eficiência da sua prefeitura.


Inscreva-se!

Colab na Mídia

09.10.2024

Como o blockchain garante segurança e transparência nos Processos Participativos do Governo?

25.09.2024

Teleconsulta: Como o Colab está facilitando o acesso à saúde para todos

24.09.2024

Workflow Builder: Ferramenta de impacto na digitização de serviços públicos

24.09.2024

Orçamento Participativo Digital: Ferramentas de impacto e participação social

23.09.2024

Como as redes sociais influenciam a formação de opinião nas eleições

18.09.2024

A Evolução da Participação Cidadã: Da Ágora Grega às Praças Digitais

22.08.2024

A força da juventude na política