Verso la convergenza degli standard del servizio Web per risorse, eventi e gestione

 

15 marzo 2006

Versione 1.0

Autori

Kevin Cline, Intel
Josh Cohen, Microsoft
Doug Davis, IBM
Donald F Ferguson, IBM
Heather Kreger, IBM
Raymond McCollum, Microsoft
Bryan Murray, HP
Ian Robinson, IBM
Jeffrey Schlimmer, Microsoft
John Shewchuk, Microsoft
Vijay Tewari, Intel
William Vambenepe, HP

Introduzione

HP, IBM, Intel e Microsoft prevedono di sviluppare un set comune di specifiche per risorse, eventi e gestione che possono essere ampiamente supportati su più piattaforme. Le parti eseguiranno questa operazione basandosi su specifiche esistenti e definendo una serie di miglioramenti che consentano questa convergenza. In molti scenari, i fornitori e i clienti che creano soluzioni che usano servizi Web troveranno che le specifiche esistenti supportano i propri scenari. I fornitori e i clienti possono usare le nuove specifiche e funzioni quando sono necessarie le funzionalità comuni.

Le funzionalità comuni illustrate includono:

  • Risorse: possibilità di creare, leggere, aggiornare ed eliminare informazioni usando i servizi Web.
  • Eventi: possibilità di connettere i servizi Web insieme usando un'architettura basata su eventi basata su pubblicazione e sottoscrizione.
  • Gestione: fornire un modello di servizio Web per la creazione di soluzioni di gestione di sistema e applicazioni, concentrandosi sulla gestione delle risorse.

Inoltre, la raccolta comune di specifiche interoperabili è progettata in modo che le organizzazioni possano estendere facilmente le specifiche per coprire scenari avanzati aggiuntivi.

Attualmente sono disponibili molte specifiche che forniscono funzionalità del servizio Web per risorse, eventi e gestione. Ad esempio:

  • WS-Transfer
  • WS-Enumeration
  • WS-Eventing
  • WS-MetadataExchange
  • WS-ResourceFramework
    • WS-Resource
    • WS-ResourceProperties
    • WS-ResourceLifetime
    • WS-ServiceGroup
    • WS-BaseFaults
  • WS-Notification
    • WS-BaseNotification
    • WS-BrokeredNotification
    • WS-Topics
  • WS-Management
  • Gestione distribuita dei servizi Web
    • Gestione tramite servizi Web (parte 1)
    • Gestione tramite servizi Web (parte 2)
    • Gestione dei servizi Web

HP, IBM, Intel e Microsoft hanno fornito implementazioni di molte di queste specifiche in kit e prodotti per sviluppatori. Queste implementazioni forniscono feedback prezioso per un'ulteriore evoluzione e perfezionamento. L'esperienza dei clienti e degli utenti dimostra anche la necessità di convergere in modo incrementale queste specifiche per fornire una singola definizione di funzioni di base comuni. Molte delle specifiche sono già standard e altre sono state presentate di recente. Raggiungere la convergenza semplifica l'interoperabilità, lo sviluppo di soluzioni e il processo di standardizzazione di un nuovo set comune di specifiche.

Questo documento offre una panoramica della convergenza e della motivazione. Suddivide innanzitutto il problema in due blocchi predefiniti principali: (a) gestione delle informazioni e (b) eventi e notifiche. Descrive quindi come questi blocchi formano una base componibile per la gestione dei servizi Web. In ognuna di queste tre sezioni, questo documento fornisce una breve panoramica tecnica delle specifiche pertinenti e della relazione con le specifiche esistenti. I dettagli di questo documento rappresentano il nostro migliore pensiero attuale e possono evolversi prima della pubblicazione delle specifiche.

Coerentemente con gli sforzi precedenti della roadmap, gli autori si aspettano che le specifiche vengano pubblicate e perfezionate nei prossimi 18-24 mesi. Alcune delle specifiche identificate in questa roadmap verranno pubblicate all'inizio del 2Q06. Le specifiche verranno perfezionate usando il processo di workshop WS-*, con invio a un'organizzazione standard che segue tale processo quando è garantita la qualità appropriata.

Questo white paper descrive ciò che i coautori prevedono saranno l'evoluzione tecnica delle specifiche correnti. Anche se l'intento è che le versioni future dei prodotti supporterebbero queste specifiche, le informazioni relative ai risultati finali specifici del prodotto possono essere ottenute dai rispettivi rappresentanti delle società.

I lettori devono fare riferimento alle specifiche effettive per i dettagli tecnici.

Gestione delle informazioni

Panoramica

HP, IBM, Intel e Microsoft stanno creando due nuove specifiche (WS-Transfer Addendum, WS-ResourceTransfer) e una nuova versione di una specifica esistente (WS-MetadataExchange). Queste specifiche si applicano e compongono con WS-Transfer ed enumerazione WS, che HP, IBM, Intel e Microsoft supporteranno.

WS-Transfer Addendum (new) estende WS-Transfer (set 2004) definendo i messaggi facoltativi Get', Put'e Create' che modificano i messaggi Get, Put e Create esistenti. Non è stata apportata alcuna modifica al messaggio di eliminazione WS-Transfer. Le estensioni facoltative per Get', Put' e Create consentono all'elemento del corpo del messaggio di specificare un subset della risorsa o trasmettere direttive di elaborazione specifiche delle risorse. Il dialetto dell'elemento body è specifico della risorsa ed è definito dalle specifiche su WS-Transfer Addendum. Un esempio ovvio di dialetto è XPath. In questo esempio, se la rappresentazione della risorsa è un documento XML di grandi dimensioni, l'espressione XPath in un oggetto Get seleziona un subset di tale documento. Analogamente, il corpo di un put può specificare un subset del documento da aggiornare. Il messaggio GetResponse presenta modifiche analoghe.

WS-Transfer Addendum estende le risposte Put' e Create' in modo che possano includere il riferimento all'endpoint WS-Addressing (EPR) per la risorsa aggiornata/nuova. Analogamente ai messaggi di richiesta, il corpo di tutti e tre i messaggi di risposta (GetResponse', PutResponse', CreateResponse') viene lasciato indefinito per consentire alle specifiche di estensione successive di definire meccanismi di trasferimento specifici delle risorse, inclusi i meccanismi di trasferimento parziale.

Tutte e tre le operazioni aggiornate hanno nuovi URI di azione WS-Addressing. L'uso di nuovi URI garantisce la compatibilità con le versioni precedenti con WS-Transfer.

WS-Transfer Addendum abilita le modifiche in WS-MetadataExchange che consente una migliore integrazione con WS-Transfer. Quindi, IBM e Microsoft stanno ripubblicando WS-Metadata Exchange versione 1.1 (nuovo). In sostanza, i metadati di risorsa/servizio sono solo un'altra risorsa che viene recuperata usando Get.

Nuovo WS-MetadataExchange:

  • Modifica il metodo Get message (Ottieni messaggio) impostando invece get in WS-Transfer (set 2004).
  • Definisce l'uso dell'elemento mex:Metadata all'interno delle richieste pull. In questo modo è possibile trasmettere metadati per una reimpostazione della password self-service.

Per la compatibilità con le versioni precedenti, l'elemento mex:Metadata viene mantenuto così come è l'associazione predefinita e lo spazio dei nomi XML "https://schemas.xmlsoap.org/ws/2004/09/mex".

In base al lavoro precedente, HP, IBM, Intel e Microsoft stanno sviluppando congiuntamente una nuova specifica nota come WS-ResourceTransfer (WS-RT, new). WS-ResourceTransfer (WS-RT, new) references WS-Transfer (Sep 2004), WS-Transfer Addendum (new), WS-Enumeration (Sep 2004) e WS-MetadataExchange Version 1.1 (new). WS-ResourceTransfer aggiunge alcuni dei concetti più avanzati di WS-ResourceFramework.

WS-RT (nuovo) definisce gli elementi del corpo per Create', Get' e Put' che supportano la creazione, il recupero e l'aggiornamento di elementi parziali di una risorsa. Esistono molte motivazioni per supportare l'accesso ai sottoelementi dello stato di una risorsa. Alcuni esempi includono

  • Prestazioni migliorate: lo stato di una risorsa può essere molto grande, mentre il richiedente necessita solo di sottoelementi.
  • Consentendo aggiornamenti parziali elimina gli effetti collaterali non necessari a causa dell'aggiornamento di interi documenti. Ad esempio, l'aggiornamento di un'intera voce directory potrebbe reimpostare un timer di durata della password, mentre semplicemente l'aggiornamento dell'indirizzo di posta elettronica non sarebbe.

WS-RT (new) consente di predefinito due dialetti degli elementi corpo: XPath e identificare gli elementi figlio in base a QName. Questi due approcci sono equivalenti alle funzioni definite WS-ResourceProperties. La definizione di questi dialetti usa l'elemento corpo in WS-TransferAddendum cemento. I dialetti concreti contengono anche il supporto per Get', Put' e Create' passando più riferimenti di sotto-elemento per la risorsa. Di nuovo, il multiplo Put' e Get migliora le prestazioni evitando di ottenere/inserire l'intero documento ed evitare più chiamate di rete per ottenere/inserire elementi secondari.

Get restituisce rispettivamente più sottoelementi e Crea' e Put' passano rispettivamente più valori per inizializzare e aggiornare. Anche in questo caso, queste funzioni sono equivalenti alle funzionalità definite WS-ResourceProperties.

Inoltre, WS-RT (nuovo) definisce

  • Durata della risorsa facoltativa. La durata specifica quando la risorsa viene eliminata automaticamente. Questo supporta alcuni modelli per le risorse, ad esempio le sottoscrizioni agli eventi.
  • Formato di metadati di durata e dialetto associato WS-MetadataExchange, che consente l'inclusione di modelli di durata supportati nei metadati di una risorsa.
  • Semantica per l'elaborazione dei metadati della durata quando inclusa in una richiesta Crea.
  • Come una risorsa EPR può includere l'elemento mex:Metadata e all'interno di questo, un EPR per i metadati delle risorse. In questo modo, i metadati possono essere recuperati e/o aggiornati come qualsiasi altro elemento dei dati di una risorsa, incluso il supporto per l'accesso parziale.

Relazione con le specifiche esistenti

Figura 1. Relazione alle specifiche esistenti

La figura 1 fornisce una panoramica della relazione tra le nuove specifiche. I blocchi ombreggiati rappresentano in modo condiviso le specifiche.

Non sono presenti modifiche in WS-Transfer e enumerazione WS. WS-Transfer Addendum estende WS-Transfer e richiede la compatibilità con le versioni precedenti. WS-ResourceTransfer livelli su e compone con WS-Transfer Addendum, definendo la sintassi e la semantica concrete per le espressioni generiche nelle specifiche di base. WS-ResourceTransfer fornisce mapping per molte delle funzionalità di WS-ResourceFramework. Questi includono il supporto per l'accesso e l'aggiornamento di elementi parziali di una risorsa, l'integrazione dei metadati con un modello di stato delle risorse e un modello di durata per le risorse. Altre funzioni di WS-ResourceFramework saranno basate sulle specifiche identificate di seguito e altre specifiche.

HP, IBM, Intel e Microsoft intende supportare WS-Transfer, WS-Enumeration, WS-TransferAddendum, WS-MetadataExchange e WS-ResourceTransfer specifiche nei prodotti futuri.

IBM e altri continueranno a supportare WS-ResourceFramework. IBM e partner lavoreranno nei corpi standard per ri-fattore WS-ResourceFramework per delineare chiaramente le estensioni oltre WS-ResourceTransfer. I programmatori possono usare queste estensioni se necessitano di queste funzioni.

Microsoft e altri continueranno a supportare WS-Transfer, WS-Enumeration.

I programmatori possono iniziare con WS-Transfer, WS-Transfer Addendum, WS-Enumeration, WS-MetadataExchange. Microsoft e partner che supportano queste specifiche continueranno a fornire questo supporto. I programmatori possono usare implementazioni e versioni esistenti di WS-ResourceFramework. IBM e partner che supportano questa specifica garantiranno l'interoperabilità con le nuove specifiche.

Eventi e notifiche

Panoramica

HP, IBM, Intel e Microsoft definiscono una specifica che integra funzioni da WS-Notification con WS-Eventing. La nuova specifica, WS-EventNotification, livelli su e compone con WS-Eventing. WS-EventNotification introduce cinque funzionalità supportate WS-Notification. Si tratta di:

  1. Criteri di sottoscrizione: WS-Eventing e WS-Notification introdurre il concetto di sottoscrizione alle risorse/servizi per gli eventi. Diversi servizi/risorse possono avere approcci diversi per implementare sottoscrizioni e notifiche. I sottoscrittori possono voler impostare requisiti o direttive diversi per le sottoscrizioni. WS-EventNotification definisce criteri concreti che consentono a un servizio/risorsa di descrivere gli approcci per le sottoscrizioni e la gestione delle sottoscrizioni e consente a un sottoscrittore di specificare le direttive all'origine eventi. Ciò consente l'estendibilità per WS-EventNotification e la descrizione della funzionalità che altre specifiche possono usare.
  2. Linguaggi di filtro più avanzati: WS-Eventing ha introdotto un semplice linguaggio di filtro. La lingua consente a un sottoscrittore di specificare un filtro che descrive gli eventi che il sottoscrittore desidera ricevere. WS-EventNotification introduce un linguaggio di filtro più avanzato, che consente alle funzioni supportate WS-Notification.
  3. Notifica con wrapping: WS-Eventing descrive gli eventi come operazioni di output/messaggi in una porta WSDL. I messaggi di output corrispondono a messaggi di input/operazioni nel sink di eventi. Alcuni scenari, in particolare quelli che si creano nei sistemi di pubblicazione/sottoscrizione esistenti richiedono un messaggio di notifica esplicito che contiene i dati dell'evento. Si tratta di una notifica "wrapped". Il messaggio di output/operazione per l'evento è contenuto all'interno di un'operazione di notifica esterna/messaggio. La notifica con wrapping fornisce anche un'interfaccia generica per la ricezione di notifiche. Ciò consente di definire i sottoscrittori che possono ricevere eventi da qualsiasi notificatore. Non è necessario un'operazione che corrisponda all'operazione di output dell'emittente dell'evento.
  4. Risorse della sottoscrizione: WS-EventNotification, ad esempio WS-Notification, considera lo stato di una sottoscrizione come risorsa in WS-ResourceTransfer. Una sottoscrizione può avere una durata e il sottoscrittore può usare Get', Put'e Delete' per leggere o aggiornare lo stato della sottoscrizione, ad esempio per modificare un filtro o una durata di scadenza. Ciò integra meglio i concetti definiti in WS-Eventing con concetti simili in WS-ResourceTransfer e WS-ResourceFramework.
  5. Sospensione delle sottoscrizioni: WS-EventNotification, ad esempio WS-Notification, introduce la nozione di "sospensione" di una sottoscrizione. Ciò consente l'arresto temporaneo del flusso di notifiche a un determinato sottoscrittore. Le proprietà QoS esatte, ad esempio se le nuove notifiche vengono memorizzate nella cache o semplicemente ignorate, verranno controllate dai criteri di sottoscrizione.

Relazione con le specifiche esistenti

Figura 2. Relazione con le specifiche esistenti

La figura 2 fornisce una panoramica della relazione delle specifiche di evento e notifica. WS-EventNotification è un superset di WS-Eventing e supporta la compatibilità con le versioni precedenti. La nuova specifica (WS-EventNotification) si compone con WS-ResourceTransfer per supportare un modello di stato/risorsa per la gestione delle sottoscrizioni. La funzionalità esistente di WS-Notification non definita in modo esplicito in WS-EventNotification può comunque essere a livelli rispetto al modello di messaggio e alla funzionalità come estensione.

Microsoft, IBM e altri continueranno a supportare WS-Eventing,

HP, IBM, Intel e Microsoft intendono supportare la nuova specifica WS-ResourceTransfer e WS-EventNotification nei prodotti futuri.

IBM e altri continueranno a supportare WS-Notification e si prevede di lavorare in standard per integrare meglio le specifiche di WS-Notification con WS-ResourceTransfer e WS-EventNotification. I programmatori possono usare le funzioni più avanzate del framework WS-Notification quando necessario. IBM e partner garantiranno che le implementazioni che usano WS-Notification funzioneranno negli ambienti con WS-EventNotification e WS-ResourceTransfer.

Gestione dei servizi Web

Panoramica

Infine, basandosi sul lavoro comune nell'area della distribuzione delle informazioni e della notifica degli eventi, HP, IBM, Intel e Microsoft stanno guidando lo sviluppo di una specifica comune di gestione dei servizi Web. Questa nuova specifica compone WS-ResourceTransfer (nuovo) e WS-EventNotification (nuovo). Molte delle differenze tra WS-Management e Gestione distribuita di servizi Web sono direttamente dovute alle differenze tra WS-Transfer e WS-ResourceFramework e tra WS-Notification e WS-Eventing. La riconciliazione di queste specifiche di livello inferiore consente la convergenza delle specifiche di gestione, che è in corso.

La figura 3 fornisce una panoramica delle nuove specifiche e della relazione con le specifiche esistenti. HP, IBM, Intel e Microsoft stanno sviluppando una nuova specifica che fornisce una singola definizione delle funzioni di gestione di base.

Relazione con le specifiche esistenti

Figura 3. Relazione con le specifiche esistenti (proposta)

La riconciliazione delle specifiche di gestione delle risorse e eventi/notifica consente la riconciliazione di molte delle funzioni delle specifiche di gestione. Di seguito sono riportati alcuni esempi:

  • Manipolazione dello stato delle risorse gestite, inclusi gli elementi secondari.
  • Notifica degli eventi di gestione e della modifica dello stato delle risorse.

Il nuovo set di specifiche di gestione deve includere il supporto per le funzionalità seguenti per i metadati, incluse le informazioni sul tipo di risorsa:

  • Avvio del processo di individuazione
  • Individuazione dei livelli di conformità e delle funzionalità dei servizi e delle implementazioni
  • Individuazione ed enumerazione dei tipi di risorse e dei metadati associati
  • Accesso in lettura/scrittura allo spazio dei tipi e ai metadati associati
  • Spostamento delle relazioni tramite lo spazio dei metadati e del tipo
  • Accodamento di uno spazio di metadati e di sola lettura che può essere ospitato all'esterno del servizio (in un sito Web) e adattato al servizio effettivo in fase di esecuzione
  • Bootstrapping dell'individuazione ed enumerazione di istanze e origini eventi

Oltre alle funzionalità fornite in WS-Transfer offrendo la possibilità di creare ed eliminare risorse e WS-Resource Trasferimento fornendo l'accesso in lettura-scrittura alle istanze delle risorse, le specifiche di gestione forniranno supporto per più modelli di dati standardizzati che definiranno:

  • Comprensione e decodifica delle relazioni tra istanze
  • Meccanismo comune per distinguere le istanze delle risorse
  • Un formato di payload comune di base per gli eventi ai fini dell'interoperabilità, mentre non limita l'uso di formati specifici della piattaforma

L'interoperabilità tra sistemi eterogenei richiederà l'uso di uno o più dei modelli di eventi o dati standardizzati. Alcuni di questi formati possono essere definiti dallo sforzo comune in base alle esigenze.

Le estensioni a queste specifiche possono essere sviluppate e continuare a esistere sia per le famiglie di specifiche WS-Management che WSDM. Tuttavia, l'unificazione comporterà un grande core comune che può supportare il monitoraggio, la gestione dello stato e la configurazione delle risorse.

Il lavoro esistente sulle specifiche correnti continuerà alla sua conclusione pianificata. Questa roadmap offre una visione per la prossima generazione delle specifiche e degli standard in fase di elaborazione. Verrà definito un percorso di migrazione per le specifiche di oggi. Basandosi sulle soluzioni esistenti basate sulle specifiche correnti HP, IBM, Intel e Microsoft evolveranno le loro soluzioni per incorporare queste specifiche durante lo stato di avanzamento.

HP, IBM, Intel e Microsoft intendono implementare la nuova specifica di gestione comune nei prodotti futuri.

IBM e partner continueranno a supportare WSDM. IBM e i partner che attualmente implementano WSDM garantiranno anche il supporto per le implementazioni esistenti basate su WSDM.

Microsoft e partner continueranno a supportare WS-Management. Microsoft e partner che attualmente implementano WS-Management garantiranno anche il supporto per le implementazioni esistenti basate su WS-Management.