Operazione: Applica test Litmus dei servizi
Questa attività descrive il requisiti per qualificare i servizi candidati ad assicurare che quelli che sono ulteriormente sviluppati effettivamente rispettino le necessità del business.
Relazioni
RuoliPrincipale: Aggiuntivo: Assistenza:
InputObbligatorio: Facoltativo: Esterno:
  • Nessuno
Output
Descrizione principale

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.

Passi
Verifica che il servizio sia allineato al business

Il primo test di un servizio è relativo all'allineamento del business. Se il servizio non è tracciabile da un'attività di business o un obiettivo, potrebbe non produrre i vantaggi richiesti per l'implementazione SOA. Le seguenti questioni, se a tutte si risponde in modo positivo, significano che il servizio è allineato con il business.

  • Il servizio fornisce una funzionalità di business obbligatoria che supporta i processi e gli obiettivi del business? (consultare Attività:Analisi del processo di business )
  • L'azienda desidera fondare il servizio sul ciclo vitale: provisioning, gestione e manutenzione?
  • L'azienda desidera condividere il servizio internamente o esternamente con i client o i business partner? Ad esempio, le implicazioni potrebbero essere extracosti, segreti aziendali, sicurezza, ecc...
  • Ci sono opportunità esistenti o future all'interno dell'azienda per riutilizzare il servizio?
Verifica che il servizio sia componibile

La componibilità viene definita un attributo che consente al servizio di partecipare in una composizione del servizio. Le applicazioni possono essere create utilizzando entrambi i tipi di composizione.

  • Il servizio rispetta gli attributi di QoS richiesti come definito nei requisiti non funzionali della composizione?
  • Il servizio è senza stato? (consultare Linea guida: Gestione dello stato per i servizi)
  • Il servizio è autonomo? È possibile distribuire il servizio indipendentemente per rispettare un obiettivo del business sebbene possa cooperare con altri servizi al momento del runtime per eseguire i processi di business? Non ci sono dipendenze implicite del servizio su altre funzionalità integrate. Tutti i servizi dipendenti sono sostituibili o autonomi.
  • La tecnologia di implementazione del servizio è neutrale? La tecnologia neutrale significa che il servizio non impone un supporto di protocolli o dispositivi non-standard (e sconosciuti al consumatore), ad esempio, il componente costituente richiede l'intervento tramite un'interfaccia di applicazione non standard.
    Tale verifica si applica solo quando il servizio viene distribuito nell'ambiente del consumatore . Ad esempio: Un business fornisce un servizio di richiamo del business ai propri clienti. Questo può fornire questa funzione ai clienti sottoscritti tramite un servizio Web. In alternativa, il business può passare al cliente la funzione di richiamo dell'immagine esposta come servizio Web ed una raccolta di immagini. Sul cliente graverà l'implementazione della ricerca della tecnologia.
Verifica che il servizio possiede una descrizione esterna

La proprietà di base di un servizio è che ha una descrizione del servizio esternalizzata. La descrizione del servizio esternalizzata potrebbe essere che viene generata automaticamente tramite gli strumenti o manualmente

  • Il servizio dispone di una descrizione del servizio esternalizzata distinta e separata dall'implementazione fisica sottostante? Un esempio corrente di questo è WSDL.
  • Il servizio può essere rilevato e collegato utilizzando la descrizione del servizio?
  • La descrizione del servizio contiene metadati relativi a sè stessa? Cioè, la descrizione del servizio deve essere autosufficiente, deve contenere o fare riferimento a tutte le informazioni necessarie per comprendere lo scambio di messaggi tra il consumatore ed il provider di un servizio.
Verifica che il servizio sia riutilizzabile

È possibile che questo servizio possa essere utilizzato dall'azionista del business in tutti i processi dove è richiesta la funzione?

Verifica che il servizio sia tecnicamente fattibile

La fattibilità tecnica verifica che il servizio possa effettivamente realizzato (implementatore distribuito) in base ai requisiti funzionali e non funzionali utilizzando diverse tecnologie.

  • L'implementazione e l'impegno della gestione per il servizio è ragionevole e raggiungibile facilmente dati i requisiti o l'infrastruttura dell'implementazione?
    Questo viene fatto dopo l'esplorazione della fattibilità tecnica della realizzazione
Proprietà
Ricorrenze multiple
Attivato da evento
In corso
Facoltativo
Pianificato
Ripetibile