Governança SOA

1.460 visualizações

Publicada em

Publicada em: Tecnologia

Governança SOA

  1. 1. Workshop Governança SOA
  2. 2. 1. O que é governança? 2. Qual o objetivo da governança em um ambiente orientado a serviços? 3. Quem deve participar da governança? 4. Políticas 5. Garantindo as políticas ÍNDICE 6. Quem é o dono do serviço? 7. Centro de Excelência SOA • Desafios do COE • Perfis que fazem parte do COE • O que o COE pode oferecer aos projetos • Checkpoints em tempo de desenho 8. Gerenciamento de Serviços 9. Versionamento 10. Ciclo de vidaMaterial elaborado por http://vrsbrazil.wordpress.com , uso livre desde que com referência ao blog.
  3. 3. ÍNDICE 1 O que é governança?Material elaborado por http://vrsbrazil.wordpress.com , uso livre desde que com referência ao blog.
  4. 4. 1. O que é governança? A primeira coisa que nos vêm à cabeça quando falamos de governança é umbloqueio burocrático de dezenas de documentos, formulários e planilhas a preencherresultando em um quantidade enorme de informação inútil e de difícil acesso. Uma governança efetiva é algo que muitos tentam implantar em seusesforços de evolução da empresa, no entanto a maioria acaba falhando devido aobstáculos que surgem no dia-a-dia forçando com que a tentativa de organização fiquepara mais tarde, agravando cada vez mais a situação. Obviamente não existe uma fórmula mágica para a implantação de uma boagovernança, mas casos de sucesso no mundo fizeram com que algunscomportamentos fossem identificados de forma que uma boa governança fosseimplantada, mostramos eles a seguir:
  5. 5. 1. O que é governança?• Comportamento esperado: • O que se espera que o uso de determinada tecnologia atenda.• Pessoas: • Envolvimento de responsáveis por TI e projetos.• Políticas • Regras que deverão ser seguidas por todos os envolvidos para que o objetivo seja alcançado.• Processos: Medir Definir Política • É necessário ter processos claros para: • Definição de Políticas • Comunicação • Educação • Aplicação Aplicar Comunicar • Medição Educar
  6. 6. ÍNDICE 2 Qual o objetivo de governança em um ambiente orientado a serviços?Material elaborado por http://vrsbrazil.wordpress.com , uso livre desde que com referência ao blog.
  7. 7. 2. Qual o objetivo de governança em um ambiente orientadoa serviços? Em um ambiente SOA essas práticas são críticas para um bom gerenciamento dos serviços disponíveis e novos serviços a serem criados. Para garantir o sucesso do esforço as pessoas envolvidas devem ser agentes multiplicadores na empresa que tanto trarão contribuições para o refinamento e criação de políticas como atuarão na proliferação da informação, educando os demais e garantido a aplicação das mesmas. Apesar dos envolvidos atuarem na multiplicação deste esforço, isto não é o suficiente. Devem existir treinamentos de forma que todo o material humano responsável pela execução dos projetos na empresa tenha a consciência do objetivo de reusar, unificar e otimizar a forma que o dado é utilizado na empresa.
  8. 8. ÍNDICE 3 Quem deve participar da governança?Material elaborado por http://vrsbrazil.wordpress.com , uso livre desde que com referência ao blog.
  9. 9. 3. Quem deve participar da governança? Talvez o ponto mais importantes a se ter em mente quando falamos de governança é que ela não é um objetivo somente de TI, é uma tarefa trabalhosa que deve envolver usuários de negócio e parceiros organizacionais que devem interagir constantemente para o sucesso do esforço. É crítico que os fornecedores externos da empresa também participem destas atividades e se certifique que eles têm plena aderência aos padrões da empresa.
  10. 10. ÍNDICE 4 PolíticasMaterial elaborado por http://vrsbrazil.wordpress.com , uso livre desde que com referência ao blog.
  11. 11. 4. Políticas Regras bem definidas facilitam o gerenciamento da criação e evolução de serviços, o recomendado é que seja mantido um controle para que durante as várias fases do projeto seja garantido o bom andamento garantindo que as políticas estão sendo obedecidas, podemos dar como exemplo as seguintes etapas: Concepção do Projeto Governança do Projeto Organograma da empresa Aspectos de contratos Modelo de domínio Tecnologias Processo expresso em BPM Repositório Portfolio de aplicações Segurança
  12. 12. 4. Políticas Concepção do ProjetoOrganograma da empresa Modelo de Domínio Processo expresso em BPM Portfolio de AplicaçõesMudanças no Um modelo de domínio bem Um bom indicador de se a Um levantamento maduroorganograma podem definido facilita a definição de equipe de arquitetura poderá das aplicações e serviçosafetar diretamente posse entidades e facilita a procura fazer um bom trabalho na disponíveis, fácil de obterde serviços e no repositório por serviços identificação de serviço é o se um repositório forgerenciamento da que atendam a demanda do processo bem expresso e mantido, é crucial para oiniciativa, sempre projeto ou que precisem de detalhado, deixando claro as bom desenvolvimento dasimportante ter ele alguma alteração de forma a interações entre áreas e outras etapas de trabalho.atualizado . se adaptar ao novo sistemas envolvidos. consumidor.
  13. 13. 4. Políticas Governança do projetoAspectos do contrato Tecnologia Repositório Segurança• Schemas da As tecnologias e frameworks • Temos responsáveis Os serviços foram mensagem ; em utilização são os mesmos cadastrados por cada serviço testados e estão• Versões; e na mesma versão que os dentro do projeto? obedecendo as regras de• Namespaces; combinados? segurança necessárias?• Forma de acesso. • Os serviços foram registrados no repositório?
  14. 14. ÍNDICE 5 Garantindo as políticasMaterial elaborado por http://vrsbrazil.wordpress.com , uso livre desde que com referência ao blog.
  15. 15. 5. Garantindo as políticas É essencial termos políticas de governança, mas não ter uma medida para garantir que elas são respeitadas as tornam ineficazes, para isso é necessário que processos sejam estabelecidos. O processo deve ser de forma que um processo cíclico seja estabelecido na empresa incluindo as seguintes tarefas Definir Medir Comunicar •A análise de como as políticas definidas se comportam no ambiente •Anunciar a existência corporativo, onde esta informação das políticas os será usada para melhorar a definição envolvidos das políticas Aplicar •Auditorias e Educar acompanhamento dos •Treinamentos, worksh projetos ops
  16. 16. ÍNDICE 6 Quem é o dono do serviço?Material elaborado por http://vrsbrazil.wordpress.com , uso livre desde que com referência ao blog.
  17. 17. 3. Quem é o dono do serviço? Parece uma pergunta de resposta óbvia, mas isso só é verdade enquanto um projeto está em desenvolvimento. Depois que um projeto é finalizado e cada um dos recursos é realocado em novos projetos, quem fica responsável por ele? Definir isso logo na concepção de cada serviço e deixar essa informação sempre atualizada no repositório é crucial para garantir a manutenção e futuras adequações dos serviços, tanto regulatórias quanto evolutivas, é muito comum a adesão de novos clientes ao serviço ou a necessidade de que novos dados sejam agregados ao mesmo após a finalização do desenvolvimento.
  18. 18. ÍNDICE 7 Centro de Excelência (COE) SOA • Desafios do COE • Perfis que fazem parte do COE • O que o COE pode oferecer aos projetos • Checkpoints em tempo de desenhoMaterial elaborado por http://vrsbrazil.wordpress.com , uso livre desde que com referência ao blog.
  19. 19. 7. Centro de Excelência (COE) SOADesafios do COE Manter um controle mais eficaz do portfolio de serviços que uma empresa possui é uma tarefa desafiadora, trabalhosa e que falha com frequência. Diferente do desenvolvimento voltado a integração sob demanda, uma falha na governança SOA pode ter consequências catastróficas em vários projetos, tanto em desenvolvimento como já entregues a muito tempo. Com base nisso muitas empresas optam por montar uma equipe que será responsável por garantir a boa evolução do portfolio de serviços e o convívio entre os vários clientes do barramento, surge aí o Centro de Excelência SOA, ou COE, da sigla em inglês.
  20. 20. 7. Centro de Excelência (COE) SOADesafios do COE Ter um centro de excelência não necessariamente garante sucesso da sua governança SOA, já que em muitos casos há um equívoco nos perfis que são atraídos a fazer parte do grupo, já que pelo nome, a escolha certa parece ser somente arquitetos e analistas de integração. Algumas empresas julgam que o número de serviços que eles possuem no barramento não justifica o custo de manter profissionais voltados somente para isso e a falta de atividades constantes para uma equipe dessa, geralmente altamente qualificada causa frustrações aos seus participantes. Existe o risco de o resto da empresa considerar o grupo como uma equipe elitista na empresa.
  21. 21. 7. Centro de Excelência (COE) SOAPerfis que fazem parte do COE Arquiteto da Arquiteto Técnico Arquiteto de Negócio Informação • Responsável por • Define quais serviços • Visualiza e definir como a a companhia administra o ativo de companhia construirá, afetando informação da construirá e diretamente a companhia, sendo integrará serviços. análise de negócios. responsável pelo modelo da informação, tornando-se o responsável pela evolução dos modelos canônicos.
  22. 22. 7. Centro de Excelência (COE) SOAPerfis que fazem parte do COE Gerência de TI Gerência de Negócio Desenvolvedores • Deve definir a equipe de TI • Responsável em buscar e • Essa é o elo forte da envolvida e definir o financiamento dos corrente que é responsabilidade por esforços voltados a cada constantemente ignorado serviços. serviço. quando falamos de governança. • É crucial que os grupos de desenvolvedores estejam forte e constantemente envolvidos com o COE, de forma que as políticas de desenvolvimento sejam amplamente conhecidas e façam parte do dia-a-dia do desenvolvedor.
  23. 23. 7. Centro de Excelência (COE) SOAPerfis que fazem parte do COE Desenvolvedores - continuado Analistas DBAs • Toda mudança de políticas • Os analistas são os que • O DBA é a contra-parte do que foram geradas no COE decidem quais serviços serão Arquiteto da Informação, seu devem ser amplamente construídos, juntamente com conhecimento da comunicadas aos o Arquiteto de Negócio, o seu representação física dos dados desenvolvedores e um grupo envolvimento no COE é crítico da empresa e seu deles deve consultado para para garantir que não existam conhecimento dos efeitos de um feedback da política antes esforços duplicados na mudanças tornam ele que ela seja anunciada companhia na construção de essencial para o grupo. oficialmente, já que a equipe uma necessidade específica. que define as políticas pode estar afastada do desenvolvimento, impedindo a ela ver as reais consequências das suas decisões.
  24. 24. 7. Centro de Excelência (COE) SOA O que o COE pode oferecer aos projetos Existem algumas formas de se montar um centro de excelência, e a forma de montá-lo afetará diretamente no que o COE pode oferecer ao resto da companhia, as duas principais formas são: Full service outsourcing Fórum• Funciona como a única equipe especializada em • Também é possível ter o COE como uma equipe de SOA a qual será responsável pelo desenvolvimento e profissionais chave na empresa, sem que eles manutenção de todos os serviços na companhia. estejam na mesma equipe diariamente, tendo eles a• Pode manter uma equipe principal de tarefa de auditar os trabalhos de outros projetos e desenvolvimento e "emprestar" recursos para ter reuniões periódicas de trabalho. projetos em execução de forma que o conhecimento SOA prolifere na companhia de forma homogênea• Pode coordenar prestadores de serviços que implementem serviços no barramento, garantindo a qualidade destas entregas através de auditorias constantes
  25. 25. 7. Centro de Excelência (COE) SOACheckpoints em tempo de desenho Preparação para Análise Arquitetura Desenvolvimento Implementação operação
  26. 26. 7. Centro de Excelência (COE) SOACheckpoints em tempo de desenho Análise É verificado se a análise que foi feita é o suficiente para que o arquiteto do projeto possa desenhar uma solução inicial e montar uma primeira proposta de arquitetura. . Se isso não for possível o trabalho de análise precisa de refino e é retornada aos analistas.
  27. 27. 7. Centro de Excelência (COE) SOACheckpoints em tempo de desenho Arquitetura Nessa etapa é verificado se políticas essenciais para a boa convivência dos serviços estão sendo cumpridas, algumas delas são: • Se os limites entre serviços e consumidores estão sendo respeitados de acordo com as políticas definidas; • Se foram identificados se serviços que já existem no barramento foram utilizados ou se a necessidade de atualização deles foi identificada; • Se foram identificados outros possíveis clientes para os serviços e se eles foram chamados para terem ciência do novo esforço.
  28. 28. 7. Centro de Excelência (COE) SOACheckpoints em tempo de desenho Desenvolvimento Nesta etapa de construção é necessário verificar se o desenho definido e homologado na fase anterior foi cumprido, as verificações aqui incluem: • As interfaces estão usando mensagens canônicas? • Os contratos de serviços foram definidos entre todos os consumidores? • As entregas prevêem etapa de verificação e autorização dos consumidores? • As convenções de nomes e versões foram obedecidas? • Requisitos transacionais foram obedecidos?
  29. 29. 7. Centro de Excelência (COE) SOACheckpoints em tempo de desenho Implementação Com as etapas anteriores bem cumpridas, a verificação de implementação é bem simples, sendo apenas uma checagem de empacotamento. A tarefa aqui é garantir que consumidor e serviço façam parte de pacotes diferentes e se a interface foi realmente desacoplada da implementação.
  30. 30. 7. Centro de Excelência (COE) SOACheckpoints em tempo de desenho Preparação para operação • Todos os serviços possuem um responsável? • O repositório foi atualizado e todos os elementos cadastrados? • Todos os consumidores do serviço tem seus contratos sincronizados?
  31. 31. ÍNDICE 8 Gerenciamento de ServiçosMaterial elaborado por http://vrsbrazil.wordpress.com , uso livre desde que com referência ao blog.
  32. 32. 8. Gerenciamento de ServiçosRepositório de serviços Na maioria das publicações que se encontra sobre repositório de serviços, existe uma recomendação inicial de se manter uma planilha pública onde novos serviços são adicionados e podem posteriormente ser consultados. Essa estratégia só é verdade quando a companhia está apenas começando seus esforços SOA e não é efetivo para companhias que tenham um portfólio de serviços e precisa aplicar um melhor controle neles agora, tendo vários grupos de trabalho que dependem dele e o desenvolvem. Para isso é preciso algumas das ferramentas de mercado para isso, a seguir mostramos alguns padrões do mercado.
  33. 33. 8. Gerenciamento de Serviços Repositório de serviços – Ferramentas de mercado Oracle Enterprise IBM WebSphere Service WSO2 Governance Membrane SOA Repository Registry Registry Registry• Abordagem Oracle • Solução IBM que • Uma ferramenta de • Ferramenta open- para governança promete features usabilidade similar aos source leve e com a• Como todas as outras padrões de mercado closed sources mas de maioria das features ferramentas de • Promete integração licenciamento livre das soluções padrão mercado é simples de com portfolio IBM • Amplamente usado no • Possui poucos estudos usar e auxilia muito no como WebSphere mundo open-source já de caso. controle e a visão de DataPower, que vem de uma das serviços que existem WebSphere Enterprise empresas padrão de disponíveis Service Bus (ESB), mercado em SOA• Integra com o portfolio WebSphere Message nesse nicho de produtos Oracle Broker assim como• Exige licenciamento WebSphere MQ e CICS • Exige licensiamento
  34. 34. ÍNDICE 9 Versionamento • Por namespace • Por URI • Por políticas de acessoMaterial elaborado por http://vrsbrazil.wordpress.com , uso livre desde que com referência ao blog.
  35. 35. 9. VersionamentoPor namespace É um versionamento simples onde colocamos a versão do elementodiretamente no namespace. É uma das técnicas chamadas de versionamento explícito, que fazemosaqui, como no exemplo abaixo, pode ser usado para versão de wsdl e schemas:• Namespace sem versão: http://schemas.empresa.net/Cliente• Namespace com versão major.minor: http://schemas.empresa.net/Cliente/1.2• Namespace com versão por data: http://schemas.empresa.net/Cliente/jan-2012
  36. 36. 9. VersionamentoPor URI Mais usado para versão de endpoint de serviços, a versão iria diretamente na URI, mais um caso de versionamento explícito. Essa técnica pode ou não ser implementada juntamente com outras técnicas, um exemplo é: • URI sem versão: http://endpoint.empresa.net/Cliente/Servico; • URI com versão: http://endpoint.empresa.net/Cliente/Servico/1.3;
  37. 37. 9. VersionamentoPor Políticas de Acesso Esse é uma forma de versionamento considerada implícita, a qual exige um maior trabalho de infraestrutura, mas torna a administração de consumidores de uma determinadas versão de serviços mais fácil ao longo do tempo. Ela é baseada em autenticação/autorização de usuário, funcionando da seguinte maneira: • Serviço é chamado baseado no contrato padrão, sendo enviado usuário e senha de um determinado usuário. • Usuário passa pelo processo de autenticação. • É verificado nos roles do usuário se ele tem autorização de chamar o serviço e qual versão de pode chamar. • A Request é roteada para a versão correta do serviço.
  38. 38. 9. VersionamentoPor Políticas de Acesso - Benefícios • Facilita o gerenciamento de clientes do serviço, tornando mais fácil a notificação de alterações e cálculo de impactos na companhia; • Possibilita uma migração mais suave entre versões de serviço, já que novas versões do serviço poderão ser chamadas por clientes sem alteração de código, a não ser que eles queiram se beneficiar de novos elementos ou novas operações; • Permite a migração automática de versões após o tempo que o COE determinará para que a versão entre em desuso; • Permite a migração parcial de clientes de um determinado serviço, reduzindo riscos de indisponibilidade.
  39. 39. 9. VersionamentoPor Políticas de Acesso - Infraestrutura Elementos que uma solução orientada a políticas precisa manter: • Ponto de Gerenciamento de Políticas; • Ponto de Informação de Políticas: Centro de armazenamento de políticas; • Ponto de Policy Enforcement: Aqui as políticas são verificadas e aplicadas; • Ponto de Policy Decision: Após a verificação da política, esse ponto é responsável pelo correto roteamento, isso pode ser feito com um XML appliance, como IBM DataPower.
  40. 40. ÍNDICE 10 Ciclo de Vida • Por namespace • Por URI • Por políticas de acessoMaterial elaborado por http://vrsbrazil.wordpress.com , uso livre desde que com referência ao blog.
  41. 41. 10. Ciclo de Vida Durante o desenvolvimento de um projeto típico, o gerenciamento dos produtos gerados durante o mesmo tem seu início de controle na análise e termina com sua publicação em ambiente de produção, no entanto esse não é ciclo de vida de serviços no barramento, onde seu início também é na fase de análise, no entanto ele só termina com a retirada da última versão dele em produção. Por isso o processo de evolução e monitoramento dele é cíclico, e é recomendado o uso de ferramentas para facilitar o gerenciamento do seu ciclo de vida. Três pontos são essenciais para o sucesso do gerenciamento do ciclo de vida de um serviço: • Monitorar • Gerenciar • Divulgar
  42. 42. 10. Ciclo de VidaMonitorar Monitorar Não só verificar disponibilidade do serviço, mas tempo de resposta e como ela é vista pelosclientes, picos de processamento e até baixa de utilização, o que pode indicar necessidade de evoluçãodos serviçosGerenciar Os dados de monitoramento devem ser capturados e discutidos com os clientes dos serviços, éprovável que com o tempo novas necessidades foram identificadas e elas podem ser novas oportunidadesde evolução ou do surgimento de novos serviços, sem esse trabalho os serviços podem se tornarantiquados e caminhos paralelos aos serviços podem surgir na companhia, isso deve ser evitado Divulgar GerenciarDivulgar É de responsabilidade do COE ou dos responsáveis pela manutenção dos serviços se manterinformado dos esforços de desenvolvimentos na empresa e identificar novos clientes para os serviços quejá existem e para soluções que já foram implementadas paralelamente trabalhar pela inclusão do mesmoem novos releases, identificando adaptações que os serviços necessitarão sofrer para encaixar as novasnecessidades
  43. 43. Nome: Vinícius Rodrigo dos Santos Cargo: Consultor em Arquitetura Orientada a Serviços Contato: vrsbrazil@gmail.com Twitter: @vrsbrazilMaterial elaborado por http://vrsbrazil.wordpress.com , uso livre desde que com referência ao blog.

×