Serviços???
Serviço é algo que fundamentalmente fornece um sentido de negócio. Ponto. Não é um componente transformado em um WebService e disponibilizado em algum servidor, não é isso. Pode parecer difícil entender quando se trabalha desenvolvendo software, mas, a brincadeira é a seguinte: se o que você está prestes a desenvolver é algo que agrega valor à organização do ponto de vista de reuso, atende ao objetivo de negócio do seu usuário, é auto-contido, podemos considerar como um Serviço. Se você cria algo para atender uma necessidade de um sistema como por exemplo uma funcionalidade de Log, isso é um Componente.
De qualquer modo, não existe fórmula para a definição de serviço, existem guias, como os livros do Thomas Erl.
Poderíamos pensar em um caso típico: Gerenciar Clientes, pode ser que seja um serviço para um organização financeira, mas pode ser simplesmente um componente para um outro contexto onde os Clientes não possuem um valor agregado ao negócio da empresa.
Num cenário de empresa de varejo, podemos definir passos em uma atividade de vendas e compras de produtos:
- Para vendas:
- Pesquisa e seleciona produto
- Abate o item do estoque
- Recebe valores de venda
- Atualiza contabilidade
- Encerra venda
- Para compras:
- Verifica o estoque
- Compõe pedido de compras
- Efetua pagamento de compras
- Atualiza estoque
- Atualiza contabilidade
- Encerra compra
Nos dois cenários (vendas e compras) podemos identificar termos iguais (estoque, contabilidade) podendo ser candidatos a Serviços.
Serviços ainda podem ser compostos por outros serviços, podem ser inventariados em um grande repositório, fornecendo uma biblioteca de serviços, que mais uma vez, não possuem relação com componentes ao não ser como usuário destes.

Deixe uma resposta