Una volta i servizi candidati sono stati selezionati e documentati nel Portafoglio del servizio (suddivisi in
categorie, è quindi necessario determinare quali devono essere esposti come servizi. Sebbene, in teoria, tutti i
servizi candidati possono essere esposti dall'esportazione dell'interfaccia come descrizione di un servizio, non tutti
i servizi candidati dovrebbero esserlo. Potrebbe non essere economicamente e praticamente fattibile (i requisiti
non funzionali potrebbero essere compromessi). In particolare, la decisione di esporre "tutti i metodi da tutte le
classi" risulterà in un numero enorme e spesso non gestibile di servizi che portano alla "Sindrome di proliferazione
del servizio". Questo crea enormi problemi di prestazione e di gestione del servizio, per non menzionare il fatto che
in questo modo è possibile che si sperperi il capitale intellettuale della società. Inoltre, è necessario ricordare che
esiste un costo associato ad ogni servizio che si è scelto di esporre: è necessario prendere in considerazione
la risorsa, la gestione e la struttura sottostante (la sua sicurezza, prestazione, gestione) del servizio ed i
componenti che li implementeranno.
Quindi, alcuni criteri sono necessari per aiutare a decidere se esporre un servizio, e in modo più importante, se
fondare la creazione del componente del servizio che fornisce la funzionalità del servizio e la manutenzione, il
controllo, la sicurezza, la prestazione e altri accordi di livello del servizio.
Test Litmus del servizio
Le esperienze del progetto indicano un insieme di criteri nella forma della Test Litmus del servizio che possono
e devono essere utilizzati per filtrare le raccolte dei servizi candidati. Tale metafora viene utilizzata per indicare
un insieme di verifiche, che quando vengono applicate, determinano se un dato servizio ha i requisiti per l'esposizione
utilizzando una descrizione del servizio. Queste verifiche sono utilizzate insieme e aiutano a rispondere alle domande
come: Quale servizio candidato utilizzare dall'elenco, quindi, quale bisogna fondare e quali hanno valore di business
Da un lato, ogni caso d'uso del business potrebbe essere considerato come servizio candidato. Dall'altro, solo pochi
servizi sono selezionati per l'esposizione. L'applicazione del test Litmus del servizio di solito dà qualcosa nel
mezzo: un insieme gestibile di servizi che il business desidera esporre e quindi può successivamente essere utilizzato
nelle composizioni.
I servizi candidati che passo tutti i test Litmus del servizio dovrebbero quindi essere esposti nella SOA. Potrebbero
esserci servizi candidati che non hanno passato il test Litmus del servizio ma sono state implementati come servizi. Il
test Litmus del servizio è un aiuto per determinare quali servizi esporre; se un business sceglie di esporre servizi
candidati che non hanno passato il test Litmus del servizio, l'implicazione è che i benefici associati a SOA non
verranno realizzati.
I servizi candidati che non rispettano il test Litmus del servizio dovranno essere implementati in qualche modo poiché
sono richiesti per rispondere alle necessità del business. Questi potrebbero essere implementati come metodi sui
componenti del servizio e non richiedono la generazione di WSDL o altre forme di definizioni del servizio; oppure
potrebbero essere utilizzati come entità che non possono essere esposte.
Considerazioni
L'applicazione dei test Litmus del servizio è un processo iterativo. Per la prima fase dell'elaborazione, le decisioni
dovrebbero essere basate sulla conoscenza corrente. Il test Litmus del servizio dovrebbe essere rivisto quando si
ottengono più informazioni nel processo del progetto.
I test Litmus del servizio per ogni servizio candidato dovrebbero essere applicati e rivisti con gli esperti o gli
stakeholder del problema relativo al soggetto.
La revisione dei risultati dei test Litmus del servizio è un modo utile di tracciare l'appropriatezza dei criteri e la
granularità del servizio. Ad esempio, se troppi servizi candidati passano un test particolare, quella definizione del
test potrebbe essere troppo ampia o la granularità del livello di servizio potrebbe essere appropriata.
È possibile che uno o due test Litmus del servizio non riescano ma è possibile che il servizio sia ancora esposto a
causa di alcune decisioni specifiche del progetto (business o IT). Così va bene. Potrebbe esserci una decisione
strutturale o di business eseguita per esporre un servizio invece dei test Litmus del servizio.
|