Olá!
No último post escrevi sobre o princípio que define que serviços abstraem a lógica, com um exemplo de uso.
Voltando a falar sobre os princípios básicos da arquitetura orientada a serviços, nesse post escreverei sobre o quinto item da nossa lista: os serviços são capazes de se compor. A cada princípio, eles se mostram cada vez mais complementares e, de certa forma, até mesmo intuitivos. Isso deve facilitar o entendimento dos conceitos aqui apresentados.
Serviços são Capazes de se Compor
5. Princípio: Serviços são capazes de se compor
- O que é:
- A característica de os serviços capazes de se compor consiste em criar serviços que sejam capazes de se juntar e serem acessados de forma a englobar e atender um problema maior.
- A composição dos serviços pode ser:
- Primitiva - quando há apenas a troca de mensagens entre um conjunto de serviços;
- Complexa - quando um conjunto de serviços oferece uma solução lógica sofisticada, ou seja, diversas trocas de mensagens entre um conjunto de serviços que são executados paralelamente.
- Aspectos positivos:
- O princípio de dividir para conquistar é muito conhecido há anos e tem como principal objetivo simplificar os problemas encontrados no dia-a-dia. Com possibilidade de criar composições de serviços, eles tornam-se capazes de resolver grandes problemas com a complexidade de um simples serviço.
- Dificuldades:
- A troca de mensagens entre os serviços pode torná-lo mais complexo e o princípio de baixo acoplamento não deve ser desrespeitado em detrimento disso. Os serviços devem comunicar-se para tornarem-se mais completos, e não interdependentes.
- Exemplo:
- Situação inicial: É necessário serviços de validação dos dados de um cadastro de usuários em um sistema. Os dados a serem validados são o CPF, o cartão de crédito e o endereço.
- No barramento de serviços A, é possível descobrir o serviço de validação dos dados.
- No barramento de serviços B encontramos 3 serviços:
- Validador de CPFs;
- Validador de Cartões de Crédito;
- Validador de Endereços.
- No diagrama abaixo podemos ver como os serviços simples são capazes de se compor e resolver o problema mais complexo que é a validação de dados.
- Cada seta ilustra a troca de mensagens entre os serviços. O serviço que valida os dados consulta cada validador individual e é responsável pela validação completa dos dados.
- A troca de mensagens entre o serviço de validação de cartões de crédito e de validação de endereços é uma forma de aprimorar a simples validação do número do cartão junto à operadora de cartões de crédito.
- Situação inicial: É necessário serviços de validação dos dados de um cadastro de usuários em um sistema. Os dados a serem validados são o CPF, o cartão de crédito e o endereço.
Exemplo de composição de serviços
No próximo post falarei sobre o sexto princípio da nossa lista: os serviços devem ser autônomos.
Enviado por: gabriel
Posts relacionados:
Categorias:
Divulgue esse post:
LinkTo