introdução
um serviço, seja físico como um serviço de remessa ou implementado por um agente de software, é sempre projetado e refinado para ser reutilizado pelo maior número possível de consumidores. Essa é a essência da Arquitetura Orientada a Serviços: reduzir os custos, riscos e atrasos da construção de soluções, fatorando e implementando ativos de TI para que possam ser reutilizados, muitas vezes em situações desconhecidas no momento do projeto. Como tal, a governança SOA não é diferente de dados e governança de TI que visam projetar modelos de informação ou selecionar tecnologias que podem ser reutilizadas além dos limites de um determinado projeto. Os serviços devem ser regidos para se tornarem reutilizáveis: todos os consumidores previsíveis devem ser capazes de expressar seus requisitos que são subsequentemente priorizados e faseados, enquanto um proprietário de serviço é atribuído e um modelo de financiamento é definido.
em um artigo anterior, Stefan Tilkov olhou mais especificamente para os papéis na governança SOA (1). Meu objetivo aqui é ajudá-lo a estabelecer uma organização de Governança de Serviços em termos de pessoas, processos e tecnologias.
carta de Governança de Serviços
o principal objetivo da governança de Serviços é alcançar os benefícios de uma arquitetura orientada a serviços, promovendo a criação de serviços reutilizáveis de classe empresarial. Como uma organização multifuncional, a governança de serviços garante a resolução oportuna de problemas e conflitos devido às compensações necessárias que são feitas quando os requisitos compartilhados são definidos.
em particular, a organização de Governança de Serviços é licenciada para definir limites claros de propriedade de serviços e especificar um modelo de financiamento justo.
a governança de Serviços monitora a implantação e reutilização de serviços em toda a organização. Um alto grau de reutilização de serviços, um fluxo constante de implantações de serviços de classe empresarial, bem como aposentadorias de serviços sem problemas são os indicadores de governança bem-sucedida.
a governança de serviços não deve se sobrepor à governança de TI tradicional e à Arquitetura Corporativa; eles definem os padrões das tecnologias SOA e o roteiro liderando níveis aumentados de maturidade SOA, enquanto a organização de Governança de serviços tem a tarefa de evoluir o cenário de serviços.
em geral, o papel da governança de Serviços é passivo e os candidatos a serviços de processo identificados por projetos específicos ou no nível da unidade de negócios. É somente quando uma organização atinge um alto nível de maturidade que a governança de serviços pode iniciar uma identificação sistemática de cima para baixo dos serviços corporativos e fretar sua realização independente de qualquer projeto.
em qualquer caso, a organização de governança deve ter poderes para construir serviços corporativos independentes das restrições orçamentárias e de recursos do projeto que inicialmente consumirão o candidato ao serviço. A razão é porque a reutilização geralmente vem com um escopo maior que se traduz em um preço mais alto.
a organização de governança é a administradora de definições de serviço que devem ser gerenciadas como ativos corporativos. Também é responsável por manter a rastreabilidade e conformidade com outros ativos corporativos, como modelos de processos de negócios e o modelo de dados de referência. Voltaremos aos laços com um modelo de referência ou dados corporativos na última seção do documento.
pessoas
o artigo mencionado anteriormente descreveu roles1 envolvidos em atividades de governança de serviços a partir de uma perspectiva de implementação de serviços. Quando uma organização está iniciando sua arquitetura orientada a Serviços, essas funções são suficientes para garantir a entrega de serviços de classe empresarial, especialmente quando pertencem a um centro SOA de excelência.
Função | Descrição |
o Serviço comercial de Proprietário |
|
Técnico de Proprietário de Serviço de |
|
SOA Platform Arquiteto |
|
Serviço Do desenvolvedor |
|
Como uma organização madura e o número de candidatos aumenta, é útil introduzir uma governança líder que será o dono do processo e recursos para certificar-se de que a governança atividades são executadas de forma adequada e problemas são resolvidos em tempo hábil. Ele deve ser assistido por um conselho de governança multifuncional e um bibliotecário de serviços.
Função | Descrição |
Governança de Chumbo |
|
conselho de administração |
|
Serviço Bibliotecário |
|
vemos três níveis principais de maturidade em relação à organização de Governança de Serviços.
Nível de Maturidade | Organização |
Estabelecimento |
|
Execução |
|
Otimizado |
|
a Figura 1 representa algumas das interações entre os papéis envolvidos na governança de Serviços.
Figura 1. A chave na construção de uma organização de Governança de serviços bem-sucedida é novamente ser ágil e reunir recursos, processos e tecnologias suficientes para atender às suas necessidades, mas não mais. Uma grande organização de governança de serviços sem um pipeline razoável de candidatos a serviços perderá força rapidamente e perderá a oportunidade de dar feedback adequado sobre alguns candidatos a serviços.
você quer construir uma organização que promova a reutilização de serviços, nada menos, nada mais.
Processo
Processos e atividades
Existem cinco tipos de atividades realizadas pela governança SOA organização:
- Service Candidate Management
- Service Change Management
- Service Consumer Management
- Service Roadmap Management
- SOA Governance Policy Changes
a Figura 2 representa algumas das atividades que podem ser realizadas durante o processo de Service Candidate Management. Uma equipe de projeto pode identificar um serviço e criar uma proposta de serviço. Esta proposta é então aprovada, aprovada com modificações ou rejeitada (como um serviço corporativo) quando este candidato de serviço não é potencialmente reutilizável por outras partes da empresa.
uma vez que o candidato ao serviço é aceito, o modelo de propriedade e financiamento é definido e os SLAs e OLAs são especificados com a ajuda do proprietário do serviço e dos potenciais consumidores.
uma vez que o serviço é realizado, seus metadados são publicados no registro e no repositório. Em grandes organizações, é aconselhável acompanhar os Serviços em construção para evitar propostas de serviços simultâneos.
as atividades de gerenciamento de mudanças geralmente são idênticas às atividades realizadas durante uma revisão do candidato a serviço. Atividades como propriedade de serviços, modelo de financiamento ou especificação SLAs/OLAs podem ser opcionais.
um aspecto crítico do gerenciamento de mudanças é o gerenciamento eficaz de serviços compatíveis com forwards (2).
as atividades de Gerenciamento do consumidor de Serviços são realizadas principalmente pelo bibliotecário de serviços, a menos que haja alterações necessárias para permitir que esse novo consumidor consuma o serviço. O bibliotecário pode ajudar os consumidores de serviços a identificar o serviço de destino e adquirir uma cópia de seus metadados.
as atividades de gerenciamento de roteiro de Serviço são fornecidas se a governança de Serviço agir proativamente para identificar serviços sem solicitações específicas de projeto. Nesse ponto, a governança de serviços deve ter orçamentos para comissionar o desenvolvimento desses serviços antes dos projetos que os consumirão. Este é um fator crítico de sucesso da governança, uma vez que o design e a implementação de serviços reutilizáveis podem ir muito além do escopo, dos meios e do cronograma de um determinado projeto. As próprias atividades de governança levam tempo e podem recomendar longas atualizações para um candidato a serviço. É por isso que é tão crítico que a organização de governança gerencie cronogramas e fases dos requisitos específicos do consumidor em tempo hábil, minimizando o impacto dos cronogramas de entrega da solução.
Figura 2. Atividades de gerenciamento de candidatos a serviços
finalmente, uma organização de governança pode envolver a governança de TI para definir ou alterar suas políticas de operações.
metadados do serviço
a proposta do candidato ao serviço contém uma descrição da interface do serviço (não necessariamente de forma legível por máquina), bem como todos os requisitos funcionais e não funcionais associados ao serviço que serão usados, por exemplo, para definir os SLAs e OLAs. O cbdi Forum Service Architecture & Engineering meta model for SOA (3) fornece uma boa visão das informações relativas a um serviço que é capturado durante os estágios iniciais do ciclo de vida e refinado ao longo do tempo.
o metamodelo CBDI Forum SAETM contém uma definição de Serviço, incluindo operações propostas, políticas e serviços relacionados, bem como uma classificação de serviço. O fórum CBDI também recomenda incluir uma definição de serviço de nível de negócios que relaciona processos de negócios, capacidades de negócios, regras de negócios… para a definição do serviço.
todas essas informações podem ser usadas quando um consumidor está procurando por um determinado serviço. É por isso que é importante capturá-lo de forma estruturada, mesmo que os padrões de descrição legíveis por máquina, como o WSDL (ainda), não suportem esse tipo de informação.
o metamodelo CBDI Forum SAE ™ fornece uma seção separada para a especificação do serviço. O aspecto interessante dessa parte do metamodelo é que ele acompanha os tipos de informações que estão envolvidos no serviço como argumentos de operação. Essa capacidade não é bem suportada pelo WSDL, por exemplo, que define apenas as representações dos tipos de negócios que são trocados como partes de invocações de operação, mas não os próprios tipos de negócios.
a rastreabilidade dos tipos de informação é crítica porque impede a introdução da semântica específica da operação. Um tipo de mensagem deve sempre ser definido com laços estreitos com o modelo de dados de referência. De fato, os processos de governança SOA devem garantir que nenhuma semântica adicional seja definida no tipo de mensagem quando comparada ao modelo de dados de referência.
o metamodelo CBDI Forum SAE™ também acompanha os componentes de negócios usados em uma implementação de serviço.
fatores de reutilização de Serviços
existem três fatores importantes a serem considerados ao ajudar a promover a especificação de serviços reutilizáveis. Primeiro, uma interface de serviço deve ser completa em relação aos seus consumidores atuais e potenciais. Uma boa métrica a ser rastreada é o número de mudanças de interface e implementação à medida que novos consumidores entram a bordo, tanto para aqueles que são compatíveis com o forwards quanto para aqueles que não são.
em segundo lugar, devemos considerar os acordos de Nível de Serviço e operações apropriados (SLAs e OLAs). Alguns SLA podem funcionar perfeitamente para um consumidor e ser uma rolha de show para outro. SLAs e OLAs também podem ser difíceis de alcançar. A organização de governança SOA deve acompanhar os incidentes e monitorar o número de mudanças nos SLAs e OLAs que resultaram desses incidentes, bem como o número de mudanças na implementação do serviço para atender efetivamente seus SLAs e OLAs.
por fim, uma organização de Governança de serviços deve buscar identificar todos os potenciais consumidores de um candidato a serviço e envolvê-los no processo de ratificação da proposta de interface de serviço. Uma boa métrica para rastrear lá é o número de clientes inesperados encontrados depois que um serviço foi projetado. Essa métrica deve ser interpretada com cuidado, pois pode significar que o serviço foi bem projetado e atraiu muitos consumidores, ou pode significar que não foi gasto tempo suficiente para identificar os consumidores certos, o que resultou em muitas mudanças subsequentes.
as atividades e funções de Governança de serviços geralmente são suportadas por uma solução de governança que é construída em torno de um registro e repositório de serviços. Mesmo que seja bastante trivial dizer isso, é importante sempre ter em mente que um ativo só pode ser reutilizado tanto quanto pode ser encontrado. Um registro é o catálogo ou índice que atua como o” sistema de registro ” para serviços dentro de um SOA (4).
um registro SOA e repositório normalmente suportam as seguintes funções:
- Lojas de serviço de metadados, tais como descrições (de formatos de mensagem e de operações), os enlaces (protocolos de comunicação), pontos finais (rede acessível de recursos que implementa o serviço)
- Fornece um mecanismo de classificação para ajudar a categorizar e organizar os serviços
- Permite que os usuários publiquem novos serviços (como eles são identificados, realizados e implantados) para o registro e para navegar e pesquisar existentes ou planejadas serviços
- Avisar os consumidores de serviço de mudanças planeadas
- Gerenciar o SLA e OLA relatórios, bem como o consumo de estatísticas
- gerenciar com segurança processos de governança e entregas
- fornecer recursos de auditoria para rastrear o rastro de mudanças e autorização aplicadas a descrições de ativos
os processos de governança são geograficamente distribuídos por natureza e colaborativos. A gestão desses processos é fundamental para trazer diferentes partes para um consenso sobre a definição e realização do serviço.
como o registro e o repositório são o sistema de registro de informações de serviço tanto no tempo de design quanto no tempo de execução, a segurança em torno do “registro de serviço” é fundamental para evitar qualquer substituição de Pontos finais, por exemplo.
a relação com outras atividades de Governança
a governança de Serviços é um novo tipo de governança como parte das atividades mais amplas de governança de TI lideradas por grupos de Arquitetura Empresarial. A governança de TI deve permanecer no controle da própria governança da plataforma SOA, enquanto a governança de serviços deve concentrar suas atividades na concepção de serviços para reutilização na empresa, na realização de serviços e nos níveis de entrega de soluções (Figura 3). No nível empresarial, a governança de serviços deve trabalhar em estreita colaboração com a governança de TI para colher o modelo de processo de negócios da empresa para ajudar a identificar candidatos a serviços com base em uma análise de cima para baixo e estabelecer um roteiro para a implantação desses serviços. Como vimos na seção processo anterior, o nível de serviço é onde a maioria das atividades de governança SOA ocorrem. Todas essas atividades são suportadas por um registro e repositório.
no nível da solução, a organização de Governança de serviços deve avaliar e direcionar o nível de conformidade com as Diretrizes de infraestrutura e serviço SOA.
a governança de serviços tem fortes laços com a governança de dados por meio da utilização do modelo de dados de referência empresarial. A equipe de Governança de serviço deve impor a utilização da semântica do modelo de dados de referência para o design dos tipos de mensagem de operação.
o objetivo aqui não é criar um “modelo de informação canônica”. Em uma Arquitetura Orientada a Serviços, seria ingênuo pensar que os consumidores vão sempre estar em posição de adotar o ponto de vista do fornecedor, ou que o fornecedor e o consumidor sempre pode adotar o mesmo ponto de vista. Mesmo que isso fosse verdade hoje, horas extras, consumidores e provedores podem não estar em posição de evoluir ao mesmo tempo em direção a uma versão mais recente da interface (seja para frente ou para trás compatível).
Figura 3. Relação entre governança SOA e outras atividades de governança
essa evolução divergente é frequentemente tratada usando um mediador e, em particular, transformações de mensagens. Embora a mediação não seja explícita na arquitetura de serviços da web do W3C (5), os profissionais da SOA há muito o usaram sistematicamente para alcançar um nível mais alto de acoplamento frouxo e permitir evoluções autônomas entre consumidores e provedores. Essas transformações são inevitáveis e essa capacidade deve ser incorporada à sua infraestrutura SOA. Aliás, a mediação não requer um “modelo de informação comum”. Se você usasse esse” modelo de informação comum ” independente da interface do provedor e do consumidor e ainda quisesse obter um acoplamento solto, incorreria no custo de duas transformações, sem mencionar que ainda precisa transformar seu formato de mensagem em um conjunto de dados consumível pela implementação do provedor e do consumidor.
os primeiros passos para transformações mais gerenciáveis, é derivar interfaces de consumidor e Provedor do modelo de dados de referência. No modelo de dados de referência, a estrutura de dados é menos importante do que a normalização da semântica. Essas semânticas são gerenciadas com grande precisão pela governança de dados. Normalmente, o modelo de dados de referência estabelece rastreabilidade a artefatos físicos, como esquemas de banco de dados e livros de cópia COBOL. Essa rastreabilidade pode ser muito útil durante a implementação do serviço, enquanto o uso de semântica normalizada ajudará a simplificar o desenvolvimento de mapas de transformação entre consumidores e provedores.
conclusão
a governança de Serviços é um aspecto essencial de uma arquitetura orientada a serviços de sucesso. Seu estabelecimento deve ser planejado e testado no início das fases iniciais de uma iniciativa SOA. No entanto, uma organização de governança em grande escala impulsionada por um processo rigoroso deve ser lançada apenas quando o pipeline de serviços for grande o suficiente para manter a equipe motivada e informada. Se as atividades de governança estiverem muito distantes no tempo, a equipe pode perder o interesse e o conhecimento crítico para executar suas atividades adequadamente. O repositório Registry & é um ingrediente chave para uma governança bem-sucedida, pois gerencia o “registro de serviço”. O objetivo final da Governança de Serviços é permitir a especificação, realização e operação de ativos de TI reutilizáveis. Horas extras espera-se que a governança de Serviços evolua para ser muito mais proativa no comissionamento da implementação de serviços de missão crítica.