mercoledì 12 novembre 2014

Cos'è un Service Registry

Un Service Registry è una applicazione software, raggiungibile sulla rete Internet o Intranet, che elenca sotto forma di catalogo i Web Services disponibili, descrivendone le caratteristiche e le modalità di accesso.
Anche detto UDDI Registry, garantisce una più semplice interoperabilità tra i sistemi e facilita la SOA Governance.

UDDI (Universal Description Discovery and Integration) è un protocollo standard che consente la descrizione dei servizi, la loro localizzazione e le specifiche delle loro interfacce.
Le specifiche UDDI, arrivate alla versione 3.0, si fondano su un insieme di standard consolidati tra i quali HTTP, XML, XSD, SOAP e WSDL.

Il Service Registry viene utilizzato da:
  • Applicazioni Provider / Server per pubblicare le informazioni relative ai servizi che espongono,
  • Applicazioni Consumer / Requester / Client per ricercare quali sono i servizi disponibili e le relative modalità di invocazione.

Tipico paradigma Publish, Discover, Invoke


In un contesto architetturale SOA, il Service Registry è un elemento accessorio importante ma non fondamentale, infatti Provider e Consumer possono condividere le specifiche di integrazione anche in modo autonomo senza passare per il registry.
In altre parole, chi gestisce il sistema Provider può fornire il WSDL e la documentazione dei servizi direttamente ai responsabili dei sistemi Consumer che devono predisporre il software per le invocazioni.

Tuttavia la possibilità di far ricercare i servizi ai Client (Service Discovery) in modo autonomo, può risultare molto utile nel caso i Server decidano di far utilizzare dinamicamente le proprie funzionalità, consentendo a qualsiasi Client la ricerca autonoma dei servizi ed un interfacciamento più veloce e semplice agli stessi.

Un Service Registry tipicamente prevede:

  • una struttura dati in grado di memorizzare 
    • White Pages, informazioni riguardo ai provider che espongono ciascun servizio,
    • Yellow Pages, descrizioni e categorizzazioni arbitrarie dei servizi chiamate tassonomie,
    • Green Pages, informazioni tecniche per l'accesso ai servizi (wsdl, url);
  • un set di API (Application Protocol Interface) per consentire la pubblicazione e la consultazione delle informazioni da parte delle applicazioni esterne;
  • una web console di configurazione accessibile un amministratore/operatore che, in base alle permission che ha, può visualizzare, inserire, modificare e cancellare le informazioni.


Esistono Service Registry di mercato oppure Open Source tra i quali il più conosciuto ed utilizzato è sicuramente Apache jUDDI.



Articoli Correlati