Panoramica dei servizi Web XML nativi
Questa caratteristica verrà rimossa a partire da una delle prossime versioni di Microsoft SQL Server. Evitare di utilizzare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata.
In questo argomento vengono confrontati i servizi Web XML nativi di MicrosoftSQL Server e Microsoft SQLXML, viene descritto il funzionamento di tali servizi e vengono illustrati alcuni vantaggi derivanti dal loro utilizzo.
Non è consigliabile utilizzare i servizi Web XML nativi negli scenari seguenti:
Applicazioni che prevedono un livello elevato di accesso simultaneo in tempo reale, con transazioni di breve durata.
Scalabilità orizzontale di tipo Web farm.
In sostituzione del livello intermedio, specialmente se l'architettura dell'applicazione prevede richieste su larga scala della logica di business che vengono risolte al meglio nei componenti del livello intermedio.
Confronto dei servizi Web XML nativi con SQLXML
Nelle versioni precedenti a SQL Server 2005 l'accesso a un database di SQL Server richiede l'utilizzo del flusso TDS (Tabular Data Stream). TDS è un protocollo proprietario che deve essere supportato per i client desktop con sistema operativo Windows. Nei client di SQL Server a volte è necessario utilizzare Microsoft Data Access Components (MDAC). Lo stack MDAC è installato nel computer client che si connette a SQL Server. In SQL Server, SQLXML 3.0 è un componente di livello intermedio che supporta l'accesso Web a SQL Server, ma è inoltre necessario utilizzare Internet Information Services (IIS).
A partire da SQL Server 2005, i servizi Web XML nativi offrono un'alternativa efficiente per gli ambienti diversi da Windows grazie all'utilizzo combinato di HTTP e SOAP, come è illustrato nella figura seguente.
Per l'accesso tramite SOAP e HTTP non è più necessario installare MDAC nel client o utilizzare SQLXML che è dipendente da IIS nel livello intermedio e pertanto la gamma dei client che è in grado di accedere a SQL Server è molto più ampia e include i client di applicazioni Web che utilizzano ad esempio i browser. I servizi Web XML nativi semplificano l'utilizzo di Microsoft.NET Framework, di Microsoft SOAP Toolkit, di Perl e di altri sistemi operativi e set di strumenti per lo sviluppo Web.
Nella tabella seguente sono illustrate alcune funzionalità di entrambe le tecnologie.
Servizi Web XML nativi |
Microsoft SQLXML |
---|---|
|
|
Funzionamento dei servizi Web XML nativi
Per utilizzare i servizi Web XML nativi in SQL Server, è necessario definire un endpoint HTTP nel server, che è sostanzialmente il gateway tramite il quale i client HTTP possono eseguire query nel server. Dopo avere definito un endpoint HTTP, è possibile aggiungere o rendere disponibili agli utenti dell'endpoint le stored procedure o le funzioni definite dall'utente, operazione che può essere eseguita alla creazione o durante l'aggiornamento dell'endpoint. Le procedure e le funzioni attivate vengono specificate come metodi Web. Un insieme di metodi Web progettati per essere utilizzati tutti insieme può essere definito come un servizio Web.
È possibile descrivere i servizi Web utilizzando il formato WSDL. Tale formato è generato da un'istanza di SQL Server e viene restituito ai client SOAP per tutti gli endpoint HTTP nei quali è attivo WSDL, come è illustrato nella figura seguente. Se necessario, il formato WSDL può essere personalizzato e pertanto sarà diverso da quello generato da SQL Server. È inoltre possibile configurare l'endpoint in modo da non rispondere alle richieste WSDL.
È quindi possibile implementare gli insiemi di servizi Web abilitati per SQL Server e utilizzarli per creare e popolare un'architettura SOA (Service-Oriented Architecture). Per ulteriori informazioni, effettuare una ricerca della parola chiave "SOA" in MSDN Online Library presso il sito Web di Microsoft specificato.
Vantaggi offerti dall'utilizzo dei servizi Web XML nativi
Un'istanza di SQL Server in grado di funzionare come un servizio Web XML offre i vantaggi seguenti:
Tutte le applicazioni per servizi Web possono accedere a un'istanza di SQL Server
Questo è il vantaggio principale. Poiché i servizi Web XML nativi sono basati su tecnologie note quali XML e HTTP, qualsiasi dispositivo in grado di analizzare XML e di inviare richieste HTTP può accedere a SQL Server. Ciò consente un livello di accesso più ampio a SQL Server in ambienti eterogenei all'interno dei quali sono presenti applicazioni eseguite in sistemi operativi diversi da Windows e che possono richiedere la connettività a SQL Server. In questi casi, l'unica soluzione disponibile fino a questo momento consisteva nell'utilizzare driver JDBC (Java Database Connectivity) o ODBC (Open Database Connectivity). I servizi Web XML nativi di SQL Server rappresentano un'alternativa efficiente e dai costi contenuti. Ad esempio, possono risultare molto utili a un amministratore di database che deve gestire una risorsa di SQL Server utilizzando uno script scritto con Perl ed eseguito in un sistema operativo diverso da Windows.
Migliore integrazione con i set di strumenti per lo sviluppo Web Microsoft e di terze parti
Con i servizi Web XML nativi, i risultati delle query SQL vengono restituiti in formato XML. Tramite schemi predefiniti, gli ambienti di sviluppo integrato (IDE) intelligenti con supporto SOAP/HTTP predefinito, ad esempio MicrosoftVisual Studio 2005 o JBuilder, possono utilizzare i servizi Web XML nativi per creare codice proxy che consente di evitare di gestire direttamente la comunicazione con un'istanza di SQL Server. Nella maggior parte dei casi, l'IDE crea e fornisce gli oggetti che vengono successivamente utilizzati dalle applicazioni client per l'accesso ai dati Web.
Migliore supporto dei client mobili che utilizzano connessioni occasionali
L'utilizzo dei servizi Web XML nativi consente inoltre di accedere a un'istanza di SQL Server in qualsiasi luogo e in qualsiasi momento e semplifica inoltre lo sviluppo di applicazioni per i dispositivi mobili o che utilizzano connessioni occasionali. Dopo che è stata stabilita una connessione e che il server ha iniziato a elaborare le richieste, è possibile monitorare il server tramite i meccanismi disponibili per i client di rete che utilizzano TDS e le librerie di rete SQL Server.
Minori necessità di implementare firewall aggiuntivi grazie alle misure di protezione predefinite del server
I servizi Web XML nativi forniscono un livello di protezione predefinito per l'accesso Web. A differenza di un normale server Web, gli endpoint HTTP creati per essere utilizzati da SQL Server non consentono l'accesso utente anonimo. Per creare gli endpoint, è necessario innanzitutto specificare nel server i privilegi amministrativi a livello di sistema e gli endpoint espongono solo i metodi archiviati che sono stati resi pubblici durante la configurazione degli endpoint.
Vedere anche