3.4 - Compatibilidade de Serviço é baseada em política
Os clientes têm de ser totalmente compatíveis com os serviços que desejam usar. Compatibilidade não significa simplesmente que os clientes estão seguindo o formato de mensagens e padrões de troca de mensagens especificados, mas também que eles cumpram com outros requisitos importantes, tais como se as mensagens devem ser encriptadas ou se necessitam ser rastreadas para assegurar que nenhuma delas tenha sido perdida no trânsito. No modelo orientado a serviços, estes requisitos não funcionais são definidos usando políticas, e não apenas como parte da documentação do serviço.
Por exemplo, nosso processador de cartão de crédito pode decidir que todos os comerciantes que apresentaram pedidos de autorização de pagamento devem provar a sua identidade usando tokens de autenticação baseados em X.509. Esta restrição de segurança pode ser representada simplesmente como uma declaração na política de segurança publicada para o serviço de autorização.
Políticas baseadas em contrato podem ser consideradas como apenas uma parte da documentação de um serviço, mas também podem ser usadas por ferramentas de desenvolvimento para gerar automaticamente o código compatível para ambos, clientes e serviços. Veja um exemplo.
|
A separação das políticas de contratos também permite que aplicativos clientes se adaptem dinamicamente para atender às exigências de um determinado serviço. Isso vai se tornar cada vez mais útil à medida que os serviços se tornarem padrão.
|
Por exemplo, uma política de segurança do lado do servidor pode ser usada para gerar código que irá verificar que as peças necessárias de uma mensagem de entrada são criptografadas e, em seguida, descriptografadas, apresentando-as como texto simples para o aplicativo de serviço. Tudo isso é feito sem qualquer esforço de codificação do desenvolvedor.
XPor exemplo, um varejista on-line pode usar duas formas de entrega que oferecem exatamente os mesmos serviços e usam os mesmos esquemas de mensagem, mas têm requisitos de autenticação diferentes. O uso de políticas dinâmicas permite que nossos desenvolvedores escrevam um único aplicativo que suporta ambos os métodos de autenticação e selecione dinamicamente qual usar para buscar a política do serviço de destino antes de construir e enviar todos os pedidos de entrega.
X