Com todo o barulho causado sobre a necessidade de estabelecer práticas de Governança SOA, os gerentes e arquitetos de TI estão cada vez mais conscientes de que os componentes-chave para Governança SOA são o Registry e o Repository. Mas, qual a diferença entre um Repository e um Registry? Em um recente webcast do ZapThink sobre o tema de registry e repository, o consenso foi de que os registries podem conter referência dos ativos e os repositories armazenam esses ativos, entre algumas outras. Vamos lá...
Primeiro vamos à definição de cada um deles:
Repository - é o local onde se guardam versões ou releases de serviços, os artefatos relacionados a esses serviços, metadados para complementar o conhecimento sobre os serviços e ainda todas as dependências que existem entre os serviços e os demais elementos de software da empresa como sistemas, componentes e processos de negócio. Ele é normalmente utilizado em design-time para identificar se algum serviço existente pode ser reutilizado. Os Repositories oferecem ainda funcionalidades para controlar o ciclo de vida dos serviços.
Registry - é o local para listagem das informações sobre os serviços, normalmente mais utilizado em run-time. É como se fossem as páginas amarelas da lista telefônica, que armazenam informações sobre um determinado serviço. Os Registries normalmente implementam o padrão UDDI.
O que tem dificultado ainda mais o entendimento sobre as funções Registry e Repository é que atuamente as responsabilidade descritas acima estão se fundindo: as principais ferramentas Registry no mercado oferecem funcionalidades originalmente encontradas nos Repositories e o contrário é ainda mais comum: Repositories com funcionalidades de registro de web services.
Veja o webcast do ZapThink, clicando aqui.