All'interno di SharePoint Estendere le applicazioni di Office con servizi Web

Pav Cherny

Contenuto

Servizi Web di SharePoint e del modello a oggetti
Outlook 2007 e il protocollo StsSync
Excel 2007 ed Excel Web Access
Access 2007 e il controllo di foglio dati di accesso Web
Word 2007 e MetaWeblog API
PowerPoint 2007 e MOSS 2007
InfoPath 2007 e InfoPath Forms Services
Conclusione

I servizi Web standard 21 nei servizi Web di Microsoft Windows SharePoint Services (WSS) 3.0 e 19 standard in Microsoft Office SharePoint Server (MOSS) 2007 consentono di creare soluzioni molto flessibile per recuperare i dati dalle risorse locali e remote, estendere le funzionalità di suite di Microsoft Office standard e l'integrazione di applicazioni aziendali. Naturalmente, è necessario anche più di 40 servizi Web. Se si installa soluzioni di server aggiuntivi che si integrano con SharePoint, ad esempio Microsoft Office Project Server 2007 può risultare che il conteggio nel server SharePoint facilmente supera 60 o più servizi Web. E che non contare anche uno dei servizi Web di SharePoint personalizzati che si desidera implementare. Servizi Web sono fondamentali blocchi predefiniti di applicazioni aziendali distribuite e nell'era di software più servizi, servizi Web ancora più significativi perché forniscono i mezzi per organizzazioni di integrare soluzioni in locale con ambienti host.

In questo articolo, è possibile discutere i vantaggi di servizi Web in un ambiente di SharePoint, in particolare loro utilizzo in e attorno a applicazioni di Office standard. Sebbene Office applicazioni in genere dipendono Microsoft Office FrontPage e WSS chiamate di procedure remote (RPC, remote procedure call) e Web Distributed Authoring and Versioning (WebDAV) per accedere basato su file a elenchi e raccolte di SharePoint, utilizzano anche servizi Web. I servizi Web base inclusi in WSS 3.0 sono sufficienti per la maggior parte delle applicazioni di Office, ad esempio Microsoft Word 2007, Outlook 2007 e Access 2007, mentre altri utenti, ad esempio PowerPoint 2007 e InfoPath 2007 possono utilizzare servizi Web aggiuntivi sono disponibili solo con MOSS 2007 o con i prodotti separati. È possibile segnalare le dipendenze di prodotto ove necessario. Se si desidera eseguire la spiegazione in un ambiente di prova, puoi trovare nel materiale di accompagnamento per questo articolo, disponibile nella sezione download di codice in fogli di lavoro con istruzioni dettagliate technet.microsoft.com/Magazine/bb978519.

Le discussioni completo per gli sviluppatori e gli argomenti di integrazione dei dati business sono descritte in questo articolo. È possibile si supponga che si ha familiarità con servizi Web e relativo utilizzo nelle applicazioni aziendali. Per una panoramica generale riguardanti i servizi Web incorporati di WSS 3.0 e MOSS 2007, si consiglia l'articolo "Web Services accesso" in SharePoint Server 2007 SDK come punto di partenza (vedere la msdn.microsoft.com/library/bb862916.aspx) .

Servizi Web di SharePoint e del modello a oggetti

Una domanda classica nello sviluppo di soluzioni di SharePoint è se utilizzare servizi Web o il modello a oggetti. Il modello a oggetti è più facile da utilizzare, espone più interfacce e ha meno sovraccarico rispetto ai servizi Web ancora il modello a oggetti solo è disponibile nel server SharePoint a causa di dipendenze COM. Servizi Web sono più accessibili e pertanto la scelta giusta per client applicazioni e componenti lato server, ad esempio parti Web di dati business, che devono aggregare i dati da origini remote. Quando si sposta i dati da sistemi locali, sull'presupposto in ambienti host remoti, soluzioni di SharePoint devono sempre accogliere un'architettura orientata ai servizi (SOA, Service Oriented ARCHITECTURE) per poter gestire ambienti distribuiti di SharePoint, come illustrato il diagramma nella Figura 1 .

fig01.gif

Nella figura 1 servizi Web in un ambiente distribuito di SharePoint fare clic su Immagine per una visualizzazione ingrandita

Eliminando L'accoppiamento stretta tra i sottosistemi del server front-end e back-end, servizi Web offrono flessibilità estesa. Come suggerisce figura 1 , termina front-end consente interagire con qualsiasi piattaforma sottostante, purché il servizio Web intermedio espone l'interfaccia prevista. Questo È illustrato nel mio (colonna di settembre 2008 technet.microsoft.com/Magazine/cc742803), sostituendo l'incorporato 3.0 posta Integration Servizio Web WSS (Sharepoint­EmailWS.asmx) con una versione personalizzata che espone la stessa interfaccia.

Naturalmente, lo stesso principio vale anche per le applicazioni client, ad esempio applicazioni di Office che utilizzano servizi Web di SharePoint. Stephen Toub illustrato questo estremamente intuitivo nel suo articolo MSDN "provider calendario personalizzato per Outlook 2003" creando un servizio Web personalizzato che rispecchia l'interfaccia di servizio elenchi SharePoint Lists.asmx per restituire dati personalizzati invece degli elementi di elenco di SharePoint a Outlook (vedere la msdn.microsoft.com/aa168130). È mostrato il modo in cui un calendario di Outlook può visualizzare tali dati diversi come movimenti dal log eventi, gli elementi di feed RSS, le registrazioni da un newsgroup, le conversazioni in Windows Live Messenger, e il sistema punti in un computer di ripristino e successivamente espanso la soluzione a supporto di elenchi di contatti.

Nell'2006, Patrick Creehan aggiornati l'implementazione in modo che funziona ora con Outlook 2007. (Vedere blog voce del Patrick "provider Calen­dar personalizzato per Outlook 2007" disponibile in blogs.msdn.com/pcreehan/archive/2006/11/21/Custom-Calendar-providers-for-Outlook-2007.aspx.)

Outlook 2007 e il protocollo StsSync

Ora che si è certi che i provider dell'elenco personalizzato possono sfruttare l'integrazione di Outlook con SharePoint, si esaminiamo più da vicino l'interazione di Outlook e SharePoint. Per accedere al contenuto di una raccolta di elenchi o documenti SharePoint, Outlook comunica con SharePoint tramite il servizio Web elenchi e vengono visualizzati gli elenchi e i relativi elementi affiancata, con le cartelle di Outlook standard. È inoltre possibile creare nuove o aggiornare gli elementi esistenti direttamente in Outlook, in cui Outlook case utilizza il servizio elenchi per aggiornare archivi di SharePoint. L'interazione e l'architettura della soluzione sono relativamente semplice, come illustrato nella Figura 2 .

fig02.gif

Nella figura 2 Architettura StsSync Outlook fare clic su Immagine per una visualizzazione ingrandita

Per collegare gli elenchi desiderati, Outlook supporta un formato speciale di URL basato sull'identificatore di protocollo StsSync che è stato registrato con Outlook come il gestore di protocollo. È possibile trovare registrazione corrispondente sulla workstation nella seguente chiave del Registro di sistema: HKEY_CLASSES_ROOT\StsSync\Shell\Open\Command. Outlook riceve l'URL StsSync come parametro della riga di comando, interruzioni nelle rispettive parti singole e quindi utilizza i parametri per collegare l'elenco di SharePoint specificato.

Fortunatamente non è necessario specificare tali URL direttamente se si collega Outlook all'elenco desiderato nell'interfaccia utente di SharePoint. Solo aprire l'elenco di SharePoint in Internet Explorer e quindi su Connetti a Outlook dal menu Azioni dell'elenco. Questo comando chiama una funzione JavaScript denominata ExportHailStorm (situato sul server in \%PROGRAMFILES%\Common Files\Microsoft Shared\Web Extensions\12\TEMPLATE\LAYOUTS\1033\Init.js server, che crea l'URL StsSync in base ai parametri di elenco e quindi passa l'URL risultante in Internet Explorer, che a sua volta passa l'URL al gestore di protocollo registrati, ovvero Outlook. Per un esempio modalità di utilizzo degli elenchi di SharePoint in Outlook, vedere il foglio di lavoro correlata lavoro con Outlook di WSS.

Uno dei parametri StsSync più importanti è base url, che punta al sito di SharePoint, ad esempio sharepoint, risorse UMANE e amministrazione. Outlook aggiunge un riferimento al servizio Web elenchi auto­matically questo URL (ad esempio sharepoint/HR/Administration/_vti_bin/Lists.asmx. La strada sarà deselezionata per comunicare con SharePoint. Le singole parti DELL'URL StsSync vengono illustrate nella specifica della struttura StsSync in msdn.microsoft.com/cc313101.

Excel 2007 ed Excel Web Access

Nella Figura 2 , si potrebbe notare l'esportazione in opzione di foglio di calcolo sotto Connetti a Outlook dal menu Azioni di SharePoint Esporta il contenuto di un elenco in un foglio di calcolo di Excel. Excel 2007 non utilizza il protocollo StsSync. Esportazione in un foglio di lavoro invece chiama una funzione denominata ExportList (situato sul server SharePoint in \%PROGRAMFILES%\Common Files\Microsoft Shared\Web Extensions\12\TEMPLATE\LAYOUTS\1033\Core.js server), che avvia un'interessante sequenza dei passaggi per esportare gli elementi dell'elenco. Questa funzionalità non viene utilizzati servizi Web.

Il ExportList chiamare i risultati in una richiesta HTTP indirizzata a un'estensione ISAPI Owssvr.dll per generare e restituire un file di query (iqy) Web. Questo file iqy contiene un'istruzione di query Web che fa riferimento a Owssvr.dll per recuperare i dati effettivi dall'elenco di SharePoint sotto forma di un documento XML. È possibile prendere in considerazione Owssvr.dll una versione prehistoric di un servizio Web, ma relativa interfaccia non rispetta standard del settore per i servizi Web, è possibile pronunciare che Excel non utilizzare servizi Web all'esterno della finestra di.

Una soluzione di Excel che utilizzano servizi Web è Excel Web Access, in cui è incluso in MOSS 2007 ed è illustrata nella Figura 3 . Infatti, Excel Web Access Excel Services viene utilizzato ExcelService.asmx, che a sua volta si basa su Excel Calculation Services (ECS), un motore di calcolo che fornisce le stesse funzioni calcolo l'applicazione sul desktop di Excel 2007. Excel Web Access consente di operare come visualizzazione dati e lo strumento di analisi con parametri. Assegnazione celle specifiche come parametri, l'attivazione di parti specifiche solo del foglio di lavoro visualizzabili in linea e impostando SharePoint autorizzazioni di accesso della cartella di lavoro, gli amministratori possono ottenere un livello molto granulare di controllare ciò che gli utenti possono accedere in una cartella di lavoro di Excel. Per motivi di sicurezza, Excel Web Access ed Excel Services non supportano alcune delle funzionalità di Excel 2007, ad esempio codice di Visual Basic in linea, i controlli modulo e i riferimenti esterni. Tuttavia, gli sviluppatori di soluzioni possono creare codice gestito che è possibile accedere da all'interno di una cartella di lavoro su SharePoint. Per ulteriori informazioni sui servizi di Excel, incluse guide procedure dettagliate, vedere la carta white­ "Excel Services Step-by-Step Guide" in technet.microsoft.com/cc263430.

fig03.gif

Nella figura 3 Architettura di Excel ed Excel Web Access fare clic su Immagine per una visualizzazione ingrandita

Access 2007 e il controllo di foglio dati di accesso Web

Come per l'esportazione di un elenco di SharePoint in un foglio di calcolo, è possibile esportare un elenco in un database utilizzando Apri con opzione di Access dal menu Azioni. Apri con Access si basa anche sull'estensione ISAPI Owssvr.dll per ottenere i dati da SharePoint. Se fa clic su Apri con Access, chiamare la funzione JavaScript ExportToDatabase (situato sul server SharePoint in %\PROGRAMFILES%\Common comuni\Microsoft Shared\Web Server Extensions\12\TEMPLATE\LAYOUTS\1033\Core.js, che crea un'istanza di un controllo ActiveX SharePoint.ExportDatabase. Questo controllo comunica con Owssvr.dll e crea il database di Access con tabelle, visualizzazioni, relazioni e altri oggetti collegati a SharePoint elenco oggetti o copiato nel database da SharePoint in base alle tue scelte di esportazione. Visualizzare elenchi di foglio di lavoro complementare "lavoro con accesso in WSS" per iniziare con SharePoint in Access 2007.

Mentre il controllo ActiveX SharePoint.ExportDatabase comunica con Owssvr.dll e non utilizza servizi Web, Access 2007 utilizza effettivamente i servizi Web di SharePoint tramite una DLL denominata Stslist.dll, come illustrato nella Figura 4 . Ad esempio, è possibile visualizzare la barra multifunzione dati esterni in Access 2007, fare clic su elenco SharePoint e quindi collegare l'elenco desiderato come origine dati di una tabella collegata. In questo scenario, Access chiama il servizio di elenchi Web (Lists.asmx) sul server. È quindi possibile utilizzare le istruzioni SQL per eseguire la ricerca o aggiornare dati in Access. Accesso chiama inoltre Lists.asmx ogni volta che si modificare un record in una tabella collegata per assicurare che i dati di SharePoint rimangono correnti.

fig04.gif

Nella figura 4 architettura di accesso e Access Web Datasheet fare clic su Immagine per una visualizzazione ingrandita

È possibile inoltre esportare singole tabelle di Access come elenchi SharePoint e anche spostare un intero database di Access in un sito di SharePoint, che crea un elenco di SharePoint per ogni tabella e sposta tutti i dati in SharePoint operazione di massa una. Sebbene SharePoint non Applica integrità referenziale in relativi elenchi (gli utenti spostano database con le voci referenziale in SharePoint riceverà che attiva un messaggio di avviso), consente riferimenti tra gli elenchi come se fossero tabelle. Quando si esportano tabelle da Access, accesso comunica con i siti Web (Webs.asmx) e i servizi Web visualizzazioni (Views.asmx) oltre a Lists.asmx per creare un elenco per ogni tabella, nonché una colonna del sito per ogni colonna della tabella e visualizzazioni elenco in base a tali colonne del sito.

Dopo un'esportazione completata potrebbe desideri visualizzare un elenco di SharePoint in una visualizzazione Foglio dati. Solo fare clic sulla Modifica opzione di foglio dati dal menu Azioni dell'elenco. Modifica nel foglio dati reindirizza il browser una pagina Web che fa riferimento al controllo Access Web Datasheet tramite il CLSID seguente: 65BCBEE4-7728-41A0-97BE-14E1CAE36AAE. Verrà quindi carica questo controllo ActiveX nella workstation locale in tale pagina. Se si esegue la ricerca mediante il Registro di sistema su una workstation che eseguono il sistema Office 2007, puoi trovare la voce di registrazione corrispondente per il controllo ActiveX (ListNet.ListNet ProgID) nell'hive HKEY_CLASSES_ROOT. Estrarre la chiave del Registro di sistema InprocServer32 e consente di verificare che il controllo di Access Web Datasheet viene implementato nel Stslist.dll. Il controllo di Access Web Datasheet utilizza i servizi Web stessi come Access 2007.

Risorse aggiuntive

SharePoint Products and Technologies sito

Microsoft.com/SharePoint

TechCenter di Windows SharePoint Services

technet.microsoft.com/windowsserver/SharePoint

Centro per sviluppatori Windows SharePoint Services

msdn.microsoft.com/SharePoint

Prodotti e Microsoft SharePoint blog del team di tecnologie

blogs.msdn.com/SharePoint

Word 2007 e MetaWeblog API

Word 2007 utilizza un servizio Web univoco implementato in un file denominato Metaweblog.aspx per sfruttare l'API MetaWeblog sui server di SharePoint. Questa API espone solo tre metodi (newPost, editPost e getPost), ma ancora comunica tramite HTTP utilizzando strutture XML. WSS 3.0 supporta blog all'esterno della casella con un modello di sito di blog e interfaccia di gestione Web. In base ALL'API MetaWebl­og, è possibile utilizzare Word 2007 come un programma di blog, che fornisce un'alternativa possibile all'interfaccia del browser.

Si noti che il servizio MetaWeblog non utilizza asmx estensione come altri servizi Web di SharePoint. L'API MetaWeblog sviluppata più di cinque anni fa da Winer Dave e prevede che gli strumenti di blog comuni per accedere a questa API tramite una pagina aspx (è possibile leggere la specifica all'xmlrpc.com/metaWeblog­api. Utilizzando aspx anziché la convenzione di denominazione normale asmx, SharePoint rimane compatibile con questi strumenti di blog.

PowerPoint 2007 e MOSS 2007

In un ambiente WSS 3.0, PowerPoint 2007 non utilizza servizi Web, ma comunica con SharePoint principalmente tramite RPC di FrontPage e WSS e WebDAV quando l'accesso ai file presentazione in una raccolta documenti. Ancora se si dispone di MOSS 2007, PowerPoint può richiedere sfruttano raccolte diapositive di SharePoint e il servizio Web di raccolta di diapositiva (SlideLibrary.asmx).

Le raccolte diapositive sono un tipo speciale di raccolta documenti. È possibile utilizzarli in combinazione con la funzionalità Pubblica diapositive di PowerPoint, che può suddividere un deck di presentazione in relativo singole diapositive e salvare come file separati in una cartella o la raccolta. Quando si pubblicano le diapositive in una raccolta diapositive, Power­Point comunica con Webs.asmx e Slidelibrary.asmx per verificare gli URL e cercare i conflitti tra diapositive. Se una diapositiva con lo stesso nome esiste già nella raccolta diapositive, PowerPoint chiesto di sostituire la diapositiva esistente o omettere quella corrente.

Una volta caricate diapositive in una raccolta diapositive, possono essere riutilizzati in altri deck presentazione mentre le diapositive originali rimangono nella raccolta diapositive sul server di SharePoint. SharePoint aggiunge un timestamp a ogni diapositiva e PowerPoint può archiviare il timestamp, nonché altri metadati, ad esempio il nome della presentazione PowerPoint da cui proviene la diapositiva, per rilevare gli aggiornamenti tramite il servizio Web raccolta diapositive. Se esistono gli aggiornamenti, è possibile sostituire la diapositiva nella presentazione corrente locale o accodare la diapositiva modificata alla presentazione. Per un'introduzione, leggere l'articolo "utilizza diapositiva raccolte per azione e riutilizzare PowerPoint 2007 diapositiva contenuto" in Office.Microsoft.com/en-us/PowerPoint/HA012261671033.aspx. Vedere anche del foglio di lavoro correlata denominato lavoro con raccolte diapositive.

In alcuni casi è possibile notare un messaggio di errore in PowerPoint 2007 quando si pubblica diapositive, nel quale viene indicato che "non n di n diapositive per cui sono state pubblicate per <library> riuscita. Riprovare a pubblicare nuovamente." Questo può essere il risultato di mis­sing autorizzazioni di accesso o problemi di comunicazione WebDAV. Come soluzione alternativa, è possibile pubblicare le diapositive in una cartella sul file system locale e quindi copiare manualmente i file nella raccolta diapositive utilizzo Windows Explorer e il percorso UNC per la raccolta diapositive, ad esempio \\sharepoint\SlideLib invece di sharepoint e SlideLib. Esplora risorse di Windows utilizza il redirector WebDAV stesso PowerPoint 2007, ma che non contattare SlideLibrary.asmx per rilevare conflitti di diapositiva. Invece utilizza WebDAV per rilevare se esiste già un file. Nella figura 5 è illustrata l'architettura raccolta di diapositiva per PowerPoint 2007.

fig05.gif

Nella figura 5 Architettura PowerPoint e SlideLibrary fare clic su Immagine per una visualizzazione ingrandita

InfoPath 2007 e InfoPath Forms Services

In questa colonna non essere completa senza accennando InfoPath 2007 e InfoPath Forms Services. Infatti, InfoPath 2007 è il consumer principale di servizi Web tra le applicazioni di Office trattate in questa colonna. Naturalmente, è possibile apportare ampio utilizzo dei servizi Web come origini dati nei moduli di InfoPath, ma anche se si esce da isolare lo sviluppo di moduli e si concentrarsi di pubblicazione di modelli di modulo semplice che non utilizzano origini dati esterne, InfoPath 2007 comunica con SharePoint tramite servizi Web oltre a FrontPage e WSS RPC e WebDAV, come illustrato nella Figura 6 . Per un esempio che illustra come pubblicare modelli di modulo in una raccolta moduli di SharePoint, vedere il foglio di lavoro "utilizzo con InfoPath Forms Services," disponibili nel download di codice.

fig06.gif

Nella figura 6 Architettura InfoPath e Forms Services fare clic su Immagine per una visualizzazione ingrandita

Servizi Web importanti che InfoPath 2007 si basa sulla sono Webs.asmx e Lists.asmx. Tra le altre cose, InfoPath recupera informazioni sulla definizione di colonne del sito e contenuto tipi dal servizio Web e utilizza queste informazioni per popolare l'elenco di colonne sito caselle nella finestra di seleziona una finestra di dialogo campo o gruppo, in che modo è possibile associare le colonne moduli colonne del sito di SharePoint esistenti quando si pubblica un modello di modulo. InfoPath crea le nuove colonne senza un'associazione nel sito di SharePoint mediante il servizio di elenchi. InfoPath interagisce anche con il servizio di elenchi per creare la libreria di moduli e una definizione di tipo di contenuto per il modello di modulo. Per il caricamento del modello effettivo InfoPath utilizza RPC di FrontPage e WSS e WebDAV, posizionare semplicemente il modello con template.xsn il nome di file in sottocartella form la nuova raccolta.

Per i modelli di modulo compatibile con browser, la pubblicazione guidata in InfoPath potrebbe offrire l'opzione per consentire un modulo per la compilazione tramite un browser, a seconda della seconda che sia MOSS 2007 o Microsoft Office Forms Server 2007 nel server SharePoint. InfoPath rileva se Services di form è installato e attivato per il sito di SharePoint corrente utilizzando la pagina Web FormServerDetector.aspx (ad esempio sharepoint/_layouts/FormServerDetector.aspx?IsFormServerEn­abled=check, che restituisce < server IsFormServerEnabled = 'true' / > quando Forms Services siano presenti e attivato. Se quindi si attiva il modulo per essere compilati tramite un browser, InfoPath 2007 chiama il servizio di form servizi Web (FormsServices.asmx) durante il processo pubblicazione al browser, attivare il modello di modulo di conseguenza. Per ulteriori informazioni sui moduli di InfoPath compatibile con browser, vedere Microsoft Office Forms Server 2007 generale riga disponibile in msdn.microsoft.com/aa701145.

Conclusione

Servizi Web sono un aspetto importante della piattaforma di SharePoint. Consentono di soluzioni aziendali che possono accedere alle risorse locali e remote, integrazione di applicazioni aziendali distribuito con loro e offrono funzionalità utili per le applicazioni di Office. I servizi Web più importanti per le applicazioni di Office sono Webs.asmx e Lists.asmx, incluso in WSS 3.0 per l'utilizzo di siti, elenchi e raccolte SharePoint. Un altro servizio di Web utilizzato in alcuni casi è Views.asmx, che fornisce metodi per l'utilizzo con le visualizzazioni elenco. La maggior parte delle applicazioni di Office non richiedono una distribuzione MOSS 2007, sebbene alcune applicazioni, ad esempio PowerPoint 2007 e InfoPath 2007 da funzionalità avanzate, ad esempio le raccolte diapositive e Forms Services disponibili solo con MOSS 2007 o come prodotti separati.

Nell'era di software più servizi, servizi Web rivestono un ruolo poiché separare ambienti server back-end host da applicazioni front-end sul presupposto. SharePoint è una tecnologia chiave che unità collaborazione in linea in avanti, le applicazioni di Office e componenti aggiuntivi di Office continuare a eseguire sulle workstation locale e servizi Web in combinazione con altre tecnologie Web consentono l'accesso trasparente alle funzionalità e i dati attraverso i firewall aziendali in ambienti distribuiti. Non si è tale host del server di SharePoint coincidenza 20, 40, 60 e altri servizi Web. Servizi Web sono la scelta giusta per soluzioni di business sottolineare la facilità d'uso, semplicità di accesso e flessibilità mentre il modello a oggetti è la scelta giusta per generare questi servizi Web.

Cherny Pav è un esperto IT e l'autore specializzato nelle tecnologie Microsoft per la collaborazione e comunicazione unificata. Sua pubblicazioni includono white paper, manuali del prodotto e libri con particolare attenzione su operazioni e amministrazione del sistema. Pav è presidente di Biblioso Corporation, una società specializzata in servizi di documentazione e la localizzazione gestiti.