Serviços

Em nosso dia-a-dia como cidadãos temos a necessidade de utilizarmos serviços para o nosso benefício que estão disponibilizados em determinados locais. Quando precisamos ir trabalhar utilizando um transporte público, precisamos criar o nosso próprio meio de transporte? Quando necessitamos de uma consulta médica, precisamos criar o nosso próprio hospital ou posto de saúde?

A resposta é NÃO! Mas por quê? Porque esses serviços já existem e estão disponibilizados para que qualquer cidadão possa usar.

Segundo o WikiPédia (consulta em 23/01/2009), “um serviço, do ponto de vista da arquitetura SOA, é uma função de um sistema computacional que é disponibilizado para outro sistema. Um serviço deve funcionar de forma independente do estado de outros serviços, exceto nos casos de serviços compostos (composite services), e deve possuir uma interface bem definida. Normalmente, a comunicação entre o sistema cliente e aquele que disponibiliza o serviço é realizada através de web services”.

3 categorias de um serviço

Entidade

Representa os conceitos principais de uma organização, são serviços altamente reutilizáveis para a maioria dos processos de negócios.

Exemplo: Serviço SIC responsável pelo cadastro de pessoas, Serviço Logradouro responsável por fornecer dados de endereços, Serviço Lista Telefônica responsável por fornecer os números de telefones internos da organização.

Tarefa

Representa uma tarefa específica dentro do seu processo de negócio, este tipo de serviço tende a ter menos potencial de reutilização e geralmente é resultado de uma orquestração de outros serviços, também utilizado para realizar integração entre dois sistemas específicos.

Exemplo: Serviço Cartão Transporte: para que um cidadão possa obter um Cartão Transporte primeiramente ele deve estar cadastrado no Serviço SIC.

Utilitários

São serviços que não estão associados a nenhum negócio da organização, podem ser utilizados por qualquer área.

Exemplo: Converte Serviço responsável por converter as unidades de medidas, Calculadora: Serviço responsável por realizar contas matemáticas.

Tecnicamente falando, um serviço representa uma funcionalidade do negócio, que é escrito com a finalidade de trocar dados entre fornecedor(es) e consumidor(es). Essa troca é feita por meio de uma interface bem definida com parâmetros de entrada, parâmetros de saída e possíveis exceções.

Serviços estão disponíveis para serem utilizados para agilizar a construção de sistemas distribuídos, dessa forma ajudando a diminuir o tempo de implementação, informações redundantes e integrando diferentes sistemas de uma organização.

Sobre Leandro Prado

Leandro Silveira Prado é Premier Field Engineer na Microsoft especializado em Application Lifecycle Management.