INTEROPERABILIDADE == Interoperabilidade não é somente integração de sistemas nem somente integração de redes. Não referencia unicamente troca de dados entre sistemas e não contempla simplesmente definição de tecnologia.É, na verdade, a soma de todos esses fatores, considerando, também, a existência de um legado de sistemas, de plataformas de hardware e software instaladas. Parte de princípios que tratam da diversidade de componentes, com a utilização de produtos diversos de fornecedores distintos. Tem por meta a consideração de todos os fatores para que os sistemas possam atuar cooperativamente, fixando as normas, as políticas e os padrões necessários para consecução desses objetivos.
Princípios de orientação a serviço:
Autonomia: exige que a lógica de processamento restrita (autocontrole). Pode ser no nível do serviço (compartilha recursos), ou Pura (não compartilha recursos).
Interoperabilidade: serviços devem ser capazes de interagir com outros serviços independente de tecnologia, linguagem, SO, etc. Para isso, utiliza-se protocolos abertos.
Baixo acoplamento: baixa dependência. Implementação pode ser modificada sem causar impacto aos consumidores do serviço.
Contrato Padronizado: contrato bem definido que exponha funcionalidade e encapsule detalhes ao mesmo tempo. Acordo formal entre consumidor e fornecedor do serviço, criando uma relação de dependência(que deve ser baixa).
Reusabilidade: O serviço deve possuir valor em diversos contextos de processos de negócio, a fim de ser reutilizado. Além disso, deve ser projetado considerando várias formas de reúso. Quanto mais alta a granularidade e mais específica for a sua lógica, menos reutilizável ele será.
Abstração: um serviço deve expor somente informações relevantes aos consumidores. Quanto mais funcionalidades encapsuladas, maior a granularidade.
Independência de estado: um serviço deve evitar armazenar informações de estado e contexto. Dependência de estado e contexto reduzem a reusabilidade.
Visibilidade: contratos devem ser publicados e disponibilizados a fim de serem descobertos pelos consumidores.
Capacidade de composição: serviços devem ser capazes de participar de composições com outros serviços. Para isso, devem ser o mais desacoplados possíveis.
Fonte; SOA modelagem, análise e design - Fugita e Hirama
@papirobizurado