Einblicke in SharePointErweitern von Office-Anwendungen mit Webdiensten

Pav Cherny

Inhalt

SharePoint-Webdienste und das Objektmodell
Outlook 2007 und das StsSync-Protokoll
Excel 2007 und Excel Web Access
Access 2007 und das Access Web Datasheet-Steuerelement
Word 2007 und die MetaWeblog-API
PowerPoint 2007 und MOSS 2007
InfoPath 2007 und InfoPath Forms Services
Zusammenfassung

Die 21 Standardwebdienste in Microsoft Windows SharePoint Services (WSS) 3.0 und die 19 Standardwebdienste in Microsoft Office SharePoint Server (MOSS) 2007 ermöglichen Ihnen das Entwickeln bemerkenswert flexibler Lösungen für das Abrufen von Daten von lokalen Ressourcen und Remoteressourcen. Dadurch werden die Standardfeatures der Microsoft Office-Suite erweitert und Geschäftsanwendungen integriert. Selbstverständlich können Sie auch über mehr als 40 Webdienste verfügen. Wenn Sie zusätzliche Serverlösungen installieren, die in SharePoint integriert werden, wie z. B. Microsoft Office Project Server 2007, kann es sein, dass sich mehr als 60 Webdienste auf Ihrem SharePoint-Server befinden. Hierbei sind noch nicht einmal die benutzerdefinierten SharePoint-Webdienste berücksichtigt, die Sie möglicherweise implementieren möchten. Webdienste sind grundlegende Bausteine verteilter Geschäftsanwendungen. Im Zeitalter von Software-plus-Services werden Webdienste immer wichtiger, da sie Organisationen die Möglichkeit bieten, interne Lösungen in gehostete Umgebungen zu integrieren.

In diesem Artikel werde ich die Vorteile der Webdienste in einer SharePoint-Umgebung diskutieren, speziell deren Verwendung in und um standardmäßige Office-Anwendungen. Obwohl Office-Anwendungen in der Regel auf Microsoft Office Frontpage und WSS-Remoteprozeduraufrufen (Remote Procedure Calls, RPCs) sowie Web Distributed Authoring and Versioning (WebDAV) für dateibasierten Zugriff auf SharePoint-Listen und -Bibliotheken basieren, verwenden sie auch Webdienste. Die grundlegenden Webdienste in WSS 3.0 sind für die meisten Office-Anwendungen wie Microsoft Word 2007, Outlook 2007 und Access 2007 ausreichend, während andere Anwendungen wie PowerPoint 2007 und InfoPath 2007 zusätzliche Webdienste verwenden können, die nur mit MOSS 2007 oder separaten Produkten verfügbar sind. Produktabhängigkeiten werden erwähnt, wo dies erforderlich ist. Wenn Sie meinen Erklärungen in einer Testumgebung folgen möchten, finden Sie Arbeitsblätter mit schrittweisen Anleitungen im Begleitmaterial für diesen Artikel, das im Codedownloadbereich unter technet.microsoft.com/magazine/bb978519 zur Verfügung steht.

Ausführliche Entwicklerdiskussionen und Aspekte der Geschäftsdatenintegration gehen über das Thema dieses Artikels hinaus. Ich gehe davon aus, dass Sie mit Webdiensten und deren Verwendung in Geschäftsanwendungen vertraut sind. Eine allgemeine Übersicht über die integrierten Webdienste von WSS 3.0 und MOSS 2007, die sich als Anfangspunkt eignet, finden Sie im Artikel „Web Services Access“ im SharePoint Server 2007 SDK (siehe msdn.microsoft.com/library/bb862916.aspx).

SharePoint-Webdienste und das Objektmodell

Eine klassische Frage bei der SharePoint-Lösungsentwicklung ist, ob Webdienste oder das Objektmodell verwendet werden sollen. Das Objektmodell ist einfacher zu verwenden, stellt mehrere Schnittstellen zur Verfügung und ist weniger aufwändig als Webdienste. Es ist aufgrund von COM-Abhängigkeiten jedoch nur auf dem SharePoint-Server verfügbar. Webdienste sind einfacher zugänglich und stellen daher die richtige Wahl für Clientanwendungen und serverseitige Komponenten wie z. B. Geschäftsdaten-Webparts dar, die Daten von Remotequellen aggregieren müssen. Bei der Datenverschiebung von lokalen, internen Systemen zu gehosteten Remoteumgebungen müssen SharePoint-Lösungen zunehmend über eine serviceorientierte Architektur (SOA) verfügen, um mit verteilten SharePoint-Umgebungen arbeiten zu können, wie das Diagramm in Abbildung 1 zeigt.

fig01.gif

Abbildung 1 Webdienste in einer verteilten SharePoint-Umgebung (zum Vergrößern auf das Bild klicken)

Durch Entfernen der engen Bindung zwischen Front-End- und Back-End-Subsystemen bieten Webdienste umfassende Flexibilität. Wie in Abbildung 1 vorgeschlagen, können Front-Ends mit beliebigen zugrunde liegenden Plattformen interagieren, solange die vermittelnden Webdienste die erwartete Schnittstelle verfügbar machen. Ich habe dies in meinem Artikel vom September 2008 (technet.microsoft.com/magazine/cc742803) durch Ersetzen des integrierten WSS 3.0-E-Mail-Integrationswebdiensts (SharepointEmailWS.asmx) durch eine benutzerdefinierte Version gezeigt, die die gleiche Schnittstelle zur Verfügung stellt.

Das gleiche Prinzip gilt natürlich auch für Clientanwendungen wie z. B. Office-Anwendungen, die SharePoint-Webdienste nutzen. Stephen Toub hat dies sehr intuitiv in seinem MSDN-Artikel „Benutzerdefinierte Kalenderanbieter für Outlook 2003“ vorgeführt, indem er einen benutzerdefinierten Webdienst erstellt hat, der die Schnittstelle des SharePoint-Lists-Diensts (Lists.asmx) spiegelt, um benutzerdefinierte Daten statt der SharePoint-Listenelemente an Outlook zurückzugeben (siehe msdn.microsoft.com/aa168130). Er hat gezeigt, wie ein Outlook-Kalender unterschiedliche Daten wie Einträge des Ereignisprotokolls, Elemente in einem RSS-Feed, Beiträge einer Newsgroup, Unterhaltungen in Windows Live Messenger und Systemwiederherstellungspunkte auf einem Computer anzeigen kann. Später hat er diese Liste um Unterstützung für Kontaktlisten erweitert.

Im Jahr 2006 hat Patrick Creehan die Implementierung aktualisiert, sodass diese jetzt mit Outlook 2007 kompatibel ist. (Informationen finden Sie in Patrick Creehans Blogeintrag „Benutzerdefinierte Kalenderanbieter für Outlook 2007“ unter blogs.msdn.com/pcreehan/archive/2006/11/21/custom-calendar-providers-for-outlook-2007.aspx.)

Outlook 2007 und das StsSync-Protokoll

Da Ihnen nun bekannt ist, dass benutzerdefinierte Listenanbieter die Vorteile der Integration von Outlook und SharePoint nutzen können, sehen wir uns die Interaktion zwischen Outlook und SharePoint etwas genauer an. Um auf die Inhalte einer SharePoint-Liste oder Dokumentbibliothek zuzugreifen, kommuniziert Outlook mit SharePoint über den Lists-Webdienst und zeigt die Listen und ihre Elemente neben den Standard-Outlook-Ordnern an. Sie können auch neue Elemente erstellen oder vorhandene Elemente direkt in Outlook aktualisieren. In diesem Fall verwendet Outlook den Lists-Dienst zum Aktualisieren der SharePoint-Repositorys. Interaktion und Lösungsarchitektur sind relativ einfach, wie in Abbildung 2 dargestellt.

fig02.gif

Abbildung 2 Outlook-StsSync-Architektur (zum Vergrößern auf das Bild klicken)

Um eine Verknüpfung mit den gewünschten Listen zu erstellen, unterstützt Outlook ein besonderes URL-Format, das auf dem StsSync-Protokollbezeichner basiert, der bei Outlook als Protokollhandler registriert ist. Sie können die entsprechende Registrierung auf Ihrer Arbeitsstation im folgenden Registrierungsschlüssel finden: HKEY_CLASSES_ROOT\StsSync\Shell\Open\Command. Outlook erhält die StsSync-URL als Befehlszeilenparameter, teilt diesen in einzelne Abschnitte auf und verwendet die Parameter dann dafür, eine Verknüpfung mit der entsprechenden SharePoint-Liste herzustellen.

StsSync-URLs sind lang und verschlüsselt, da sie mehrere Abfragezeichenfolgenparameter im typischen zeichencodierten Format für URLs enthalten:

stssync://sts/?ver=1.0&type=calendar&cmd=add-­folder&base-url=http%3A%2F%2Fsharepoint%2FHR%2FAdministration&list-url=%2FLists%2FCalendar%2FAllItems%2Easpx&guid=%7B4DF13090%2DDE1C%2D43EA%2D8B44%2D904869FEABC4%7D&site-name=HR%20Site&list-name=Admin%20Events

Glücklicherweise müssen Sie diese URLs nicht direkt eingeben, wenn Sie Outlook mit der gewünschten Liste von innerhalb der SharePoint-Benutzeroberfläche verknüpfen. Öffnen Sie einfach nur die SharePoint-Liste in Internet Explorer, und klicken Sie dann im Listenmenü „Aktionen“ auf die Option zum Herstellen einer Verbindung mit Outlook. Durch diesen Befehl wird eine Javascript-Funktion namens „ExportHailStorm“ aufgerufen (befindet sich auf dem Server unter \%PROGRAMFILES%\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\LAYOUTS\1033\Init.js), mit der die StsSync-URL basierend auf Listenparametern erstellt wird. Die erstellte URL wird dann an Internet Explorer weitergegeben, von wo aus sie an den registrierten Protokollhandler weitergegeben wird, bei dem es sich um Outlook handelt. Ein Beispiel für das Arbeiten mit SharePoint-Listen in Outlook finden Sie im Begleitarbeitsblatt „Working with Outlook in WSS“ (Arbeiten mit Outlook in WSS).

Einer der wichtigsten StsSynch-Parameter ist base-url, der auf die SharePoint-Website zeigt, z. B. sharepoint/HR/Administration. Outlook fügt dieser URL automatisch einen Verweis auf den Lists-Webdienst hinzu (z. B. sharepoint/HR/Administration/_vti_bin/Lists.asmx). Dann ist Weg für eine Kommunikation mit SharePoint frei. Die einzelnen Abschnitte der StsSync-URL werden in der StsSync-Strukturspezifikation unter msdn.microsoft.com/cc313101 erklärt.

Excel 2007 und Excel Web Access

In Abbildung 2 sehen Sie die Option „In eine Kalkulationstabelle exportieren“ unterhalb der Option zum Verbinden mit Outlook im Menü „SharePoint-Aktionen“, über die der Inhalt einer Liste in eine Excel-Tabelle exportiert wird. Excel 2007 verwendet nicht das StsSync-Protokoll. Stattdessen wird über die Option „In eine Kalkulationstabelle exportieren“ eine Funktion namens „ExportList“ aufgerufen (die sich auf dem SharePoint-Server unter \%PROGRAMFILES%\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\LAYOUTS\1033\Core.js befindet), die eine interessante Schrittabfolge zum Exportieren von Listenelementen initiiert. Dieses Feature verwendet keine Webdienste.

Der ExportList-Aufruf führt zu einer HTTP-Anforderung, die an eine ISAPI-Erweiterung (Owssvr.dll) geleitet wird, um eine Webabfragedatei (.iqy) zu generieren und zurückzugeben. Diese .iqy-Datei enthält eine Webabfrageanweisung, die auf Owssvr.dll verweist, um die eigentlichen Daten der SharePoint-Liste in Form eines XML-Dokuments abzurufen. Owssvr.dll kann als urtümliche Version eines Webdiensts betrachtet werden, obwohl die Schnittstelle nicht den Branchenstandards für Webdienste entspricht. Daher ist es richtig zu sagen, dass Excel keine standardmäßigen Webdienste verwendet.

Eine Excel-Lösung, die Webdienste verwendet, ist Excel Web Access, das in MOSS 2007 enthalten und in Abbildung 3 dargestellt ist. Excel Web Access verwendet Excel Services (ExcelService.asmx), die wiederum auf Excel Calculation Services (ECS) beruhen, einem Berechnungsmodul, das die gleichen Berechnungsfunktionen wie die Excel 2007-Desktopanwendung bereitstellt. Excel Web Access wurde als Tool zur Datenansicht und Parameteranalyse entwickelt. Durch Zuweisen bestimmter Zellen als Parameter, wodurch nur bestimmte Abschnitte des Arbeitsblatts online angezeigt werden können, sowie durch Festlegen von SharePoint-Zugriffsberechtigungen für die Arbeitsmappe können Administratoren detailliert steuern, auf welche Daten Benutzer in einer Excel-Arbeitsmappe zugreifen können. Aus Sicherheitsgründen unterstützen Excel Web Access und Excel Services einige Features von Excel 2007 nicht, wie z. B. Visual Basic-Inlinecode, Formularsteuerelemente und externe Verweise. Lösungsentwickler können jedoch verwalteten Code erstellen, auf den von innerhalb einer Arbeitsmappe auf SharePoint zugegriffen werden kann. Weitere Informationen zu Excel Services, einschließlich schrittweiser Anleitungen, finden Sie im Whitepaper „Schritt-für-Schritt-Anleitungen zu Excel Services“ unter technet.microsoft.com/cc263430.

fig03.gif

Abbildung 3 Excel- und Excel Web Access-Architektur (zum Vergrößern auf das Bild klicken)

Access 2007 und das Access Web Datasheet-Steuerelement

Ähnlich dem Exportieren einer SharePoint-Liste in eine Tabelle können Sie eine Liste in eine Datenbank exportieren. Dies erfolgt über die Option zum Öffnen in Access im Menü „Aktionen“. Die Option verwendet die Owssvr.dll-ISAPI-Erweiterung zum Abrufen von Daten aus SharePoint. Wenn Sie auf die Option zum Öffnen mit Access klicken, wird die Javascript-Funktion „ExportToDatabase“ (die sich unter %\PROGRAMFILES%\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\LAYOUTS\1033\Core.js befindet) aufgerufen, die ein SharePoint.ExportDatabase-ActiveX-Steuerelement instanziiert. Dieses Steuerelement kommuniziert mit Owssvr.dll und erstellt eine Access-Datenbank mit Tabellen, Ansichten, Berichten und anderen Objekten, die mit den SharePoint-Listenobjekten verknüpft sind oder von SharePoint entsprechend Ihrer Exportauswahl in die Datenbank kopiert wurden. Informationen zu den ersten Schritten mit SharePoint-Listen in Access 2007 finden Sie im Begleitarbeitsblatt „Working with Access in WSS“ (Arbeiten mit Access in WSS).

Während das SharePoint.ExportDatabase-ActiveX-Steuerelement mit Owssvr.dll kommuniziert und keine Webdienste verwendet, verwendet Access 2007 tatsächlich SharePoint-Webdienste über die DLL „Stslist.dll“, wie in Abbildung 4 gezeigt wird. So können Sie z. B. die Multifunktionsleiste „Externe Daten“ in Access 2007 anzeigen, auf die SharePoint-Liste klicken und dann eine Verknüpfung mit der gewünschten Liste als Datenquelle für eine verknüpfte Tabelle erstellen. In diesem Beispiel ruft Access den Lists-Webdienst (Lists.asmx) auf dem Server auf. Sie können dann SQL-Anweisungen verwenden, um die Daten in Access zu suchen oder zu aktualisieren. Access ruft Lists.asmx auch jedes Mal auf, wenn Sie einen Datensatz in einer verknüpften Tabelle ändern, um sicherzustellen, dass SharePoint-Daten stets aktuell sind.

fig04.gif

Abbildung 4 Access- und Access Web Datasheet-Architektur (zum Vergrößern auf das Bild klicken)

Sie können auch einzelne Access-Tabellen als Listen in SharePoint exportieren und eine gesamte Access-Datenbank auf eine SharePoint-Website verschieben. Hierbei wird eine SharePoint-Liste für jede Tabelle erstellt, und alle Daten werden in einem Vorgang zu SharePoint verschoben. Obwohl SharePoint keine referenzielle Integrität in den Listen erzwingen kann (Benutzer, die Datenbanken mit referenziellen Einträgen in SharePoint verschieben, erhalten eine entsprechende Warnmeldung), sind Verweise zwischen Listen zugelassen, als ob es sich um Tabellen handeln würde. Beim Exportieren von Tabellen aus Access kommuniziert Access neben Lists.asmx auch mit den Webdiensten „Webs“ (Webs.asmx) und „Views“ (Views.asmx), um eine Liste für die einzelnen Tabellen sowie eine Websitespalte für jede Tabellenspalte zu erstellen und Ansichten basierend auf diesen Websitespalten anzuzeigen.

Nach einem erfolgreichen Export möchten Sie möglicherweise eine SharePoint-Liste in der Datenblattansicht anzeigen. Klicken Sie im Menü „Aktionen“ der Liste auf die Option „In Datenblatt bearbeiten“. Mit dieser Option wird der Browser zu einer Webseite umgeleitet, die über folgende CLSID auf das Access Web Datasheet-Steuerelement verweist: 65BCBEE4-7728-41A0-97BE-14E1CAE36AAE. Internet Explorer lädt dann dieses ActiveX-Steuerelement auf der lokalen Arbeitsstation in die Webseite. Wenn Sie die Registrierung auf einer Arbeitsstation durchsuchen, auf der 2007 Office System ausgeführt wird, finden Sie den entsprechenden Registrierungseintrag für das ActiveX-Steuerelement (ProgID ListNet.ListNet) in der Struktur HKEY_CLASSES_ROOT. Überprüfen Sie den InprocServer32-Registrierungsschlüssel, und Sie können sehen, dass das Access Web Datasheet-Steuerelement in Stslist.dll implementiert ist. Es verwendet die gleichen Webdienste wie Access 2007.

Zusätzliche Ressourcen

Website zu SharePoint-Produkten und -Technologien

Microsoft.com/sharePoint

Windows SharePoint Services-TechCenter

technet.microsoft.com/windowsserver/sharepoint

Windows SharePoint Services-Entwicklercenter

msdn.microsoft.com/sharepoint

Teamblog zu Microsoft SharePoint-Produkten und -Technologien

blogs.msdn.com/sharepoint

Word 2007 und die MetaWeblog-API

Word 2007 verwendet einen eindeutigen Webdienst, der in einer Datei namens „Metaweblog.aspx“ implementiert ist, um die MetaWeblog-API auf den SharePoint-Servern zu nutzen. Diese API stellt lediglich drei Methoden (newPost, editPost und getPost) zur Verfügung, kommuniziert aber weiterhin über HTTP mithilfe von XML-Strukturen. WSS 3.0 unterstützt standardmäßige Blogfunktionen mit einer Vorlage für eine Blogwebsite und einer Webverwaltungsschnittstelle. Basierend auf der MetaWeblog-API können Sie Word 2007 als Blogprogramm verwenden, eine nützliche Alternative zur Browserschnittstelle.

Beachten Sie, dass der MetaWeblog-Dienst keine .asmx-Dateinamenerweiterung verwendet, wie dies bei anderen SharePoint-Webdiensten der Fall ist. Die MetaWeblog-API wurde vor mehr als fünf Jahren von Dave Winer entwickelt, und beliebte Blogtools greifen auf diese API über eine .aspx-Seite zu. (Sie finden die Spezifikation unter xmlrpc.com/metaWeblogApi.) Durch Verwenden von .aspx statt der üblichen .asmx-Benennungskonvention bleibt SharePoint weiterhin mit diesen Blogtools kompatibel.

PowerPoint 2007 und MOSS 2007

In einer WSS 3.0-Umgebung verwendet PowerPoint 2007 keine Webdienste, kommuniziert aber mit SharePoint hauptsächlich über Frontpage/WSS-RPCs und WebDAV, wenn auf Präsentationsdateien in einer Dokumentbibliothek zugegriffen wird. Wenn Sie jedoch über MOSS 2007 verfügen, kann PowerPoint SharePoint-Folienbibliotheken und den Webdienst „Slide Library“ (SlideLibrary.asmx) nutzen.

Bei Folienbibliotheken handelt es sich um eine besondere Art von Dokumentbibliothek. Sie können diese in Verbindung mit dem Feature zum Veröffentlichen von Folien in PowerPoint verwenden, mit dem eine gesamte Präsentation in die einzelnen Folien aufgeteilt werden kann, die wiederum als separate Dateien in einem Ordner oder einer Bibliothek gespeichert werden können. Beim Veröffentlichen von Folien in einer Folienbibliothek kommuniziert PowerPoint mit Webs.asmx und Slidelibrary.asmx, um URLs zu überprüfen und eventuelle Folienkonflikte zu erkennen. Wenn bereits eine Folie mit dem gleichen Namen vorhanden ist, fordert PowerPoint Sie zum Ersetzen der vorhandenen Folie bzw. zum Überspringen der aktuellen Folie auf.

Nachdem die Folien in die Folienbibliothek hochgeladen wurden, können sie in anderen Präsentationen verwendet werden, während die ursprünglichen Folien in der Folienbibliothek auf dem SharePoint-Server bleiben. SharePoint fügt jeder Folie einen Zeitstempel hinzu, der von PowerPoint neben anderen Metadaten wie dem Namen der PowerPoint-Präsentation, aus der die Folie stammt, geprüft werden kann, um Aktualisierungen über den Slide Library-Webdienst zu erkennen. Wenn Aktualisierungen vorhanden sind, können Sie die lokale Folie in der aktuellen Präsentation ersetzen oder die geänderte Folie Ihrer Präsentation hinzufügen. Eine Einführung finden Sie im Artikel „Verwenden von Folienbibliotheken zum Freigeben und Wiederverwenden von PowerPoint 2007-Folieninhalten“ unter office.microsoft.com/en-us/powerpoint/HA012261671033.aspx. Informationen finden Sie auch im Begleitarbeitsblatt „Working with Slide Libraries“ (Arbeiten mit Folienbibliotheken).

Gelegentlich wird beim Veröffentlichen von Folien eine Fehlermeldung in PowerPoint 2007 angezeigt: „n der n Folien, die in <Bibliothek> veröffentlicht wurden, sind fehlerhaft. Versuchen Sie erneut, diese zu veröffentlichen.“ Hierbei kann es sich um fehlende Zugriffsberechtigungen handeln oder um WebDAV-Kommunikationsprobleme. Als Problemumgehung können Sie die Folien in einem Ordner auf einem lokalen Dateisystem veröffentlichen und dann die Dateien manuell mittels Windows-Explorer und mithilfe des UNC-Pfads zur Folienbibliothek (z. B. \\sharepoint\SlideLib statt SharePoint/SlideLib) in die Folienbibliothek kopieren. Windows Explorer verwendet den gleichen WebDAV-Redirector wie PowerPoint 2007, kontaktiert aber nicht SlideLibrary.asmx, um Folienkonflikte zu erkennen. Stattdessen wird WebDAV verwendet, um zu ermitteln, ob eine Datei bereits vorhanden ist. Abbildung 5 zeigt die Folienbibliotheksarchitektur für PowerPoint 2007.

fig05.gif

Abbildung 5 PowerPoint- und SlideLibrary-Architektur (zum Vergrößern auf das Bild klicken)

InfoPath 2007 und InfoPath Forms Services

Dieser Artikel wäre ohne InfoPath 2007 und InfoPath Forms Services nicht vollständig. InfoPath 2007 ist unter den Office-Anwendungen, die in diesem Artikel behandelt werden, der häufigste Nutzer von Webdiensten. Sie können Webdienste natürlich ausgiebig als Datenquellen in InfoPath-Formularen verwenden. Aber auch wenn wir von der Formularentwicklung absehen und uns auf die Veröffentlichung einfacher Formularvorlagen konzentrieren, die keine externen Datenquellen verwenden, kommuniziert InfoPath 2007 mit SharePoint über Webdienste zusätzlich zu FrontPage/WSS-RPCs und WebDAV (siehe Abbildung 6). Ein Beispiel zur Veröffentlichung von Formularvorlagen in einer SharePoint-Formularbibliothek finden Sie im Arbeitsblatt „Working with InfoPath Forms Services“ (Arbeiten mit InfoPath Forms Services), das im Codedownloadbereich verfügbar ist.

fig06.gif

Abbildung 6 InfoPath- und Forms Services-Architektur (zum Vergrößern auf das Bild klicken)

Zu den wichtigen Webdiensten, auf die sich InfoPath 2007 verlässt, gehören Webs.asmx und Lists.asmx. InfoPath ruft unter anderem Informationen zur Definition von Websitespalten und Inhaltstypen vom Webdienst ab und verwendet diese Informationen, um Daten in die Listenfelder der Websitespalte im Dialogfeld „Feld oder Gruppe auswählen“ einzutragen. Dies ermöglicht die Zuordnung von Formularspalten zu vorhandenen SharePoint-Websitespalten beim Veröffentlichen einer Formularvorlage. InfoPath erstellt neue Spalten ohne Zuordnung auf der SharePoint-Website mithilfe des Lists-Diensts. InfoPath interagiert auch mit dem Lists-Dienst, um die Formularbibliothek und eine Inhaltstypdefinition für die Formularvorlage zu erstellen. Für das eigentliche Hochladen von Vorlagen verwendet InfoPath Frontpage/WSS-RPCs und WebDAV, wobei die Vorlage einfach mit dem Dateinamen template.xsn im Formularunterordner der neuen Bibliothek gespeichert wird.

Für browserkompatible Formularvorlagen bietet der Veröffentlichungsassistent in InfoPath möglicherweise die Option zum Aktivieren eines Formulars, das mit einem Browser ausgefüllt werden kann. Dies hängt davon ab, ob auf dem SharePoint-Server MOSS 2007 oder Microsoft Office Forms Server 2007 vorhanden ist. InfoPath erkennt, ob Forms Services installiert und für die aktuelle SharePoint-Website aktiviert ist, indem die Webseite „FormServerDetector.aspx“ (wie z. B. sharepoint/_layouts/FormServerDetector.aspx?IsFormServerEnabled=check) verwendet wird, die <server IsFormServerEnabled = 'true' /> zurückgibt, wenn Forms Services vorhanden und aktiviert ist. Wenn Sie das Formular dann für das Eintragen von Daten über einen Browser aktivieren, ruft InfoPath 2007 während des Veröffentlichungsvorgangs den Webdienst „Forms Services“ (FormsServices.asmx) auf, um die Formularvorlage entsprechend für den Browser zu aktivieren. Weitere Informationen zu browseraktivierten InfoPath-Formularen finden Sie in „Allgemeine Referenz zu Microsoft Office Forms Server“ unter msdn.microsoft.com/aa 701145.

Schlussbemerkung

Bei Webdiensten handelt es sich um einen wichtigen Teil der SharePoint-Plattform. Mit ihnen sind Geschäftslösungen möglich, die auf lokale Ressourcen und auf Remoteressourcen zugreifen, verteilte Geschäftsanwendungen ineinander integrieren können und Office-Anwendungen mit nützlichen zusätzlichen Features ausstatten. Bei den wichtigsten Webdiensten für Office-Anwendungen handelt es sich um Webs.asmx und Lists.asmx, die in WSS 3.0 integriert sind und zum Arbeiten mit SharePoint-Websites, -Listen und -Bibliotheken dienen. Bei einem anderen Webdienst, der gelegentlich verwendet wird, handelt es sich um Views.asmx, der Methoden zum Arbeiten mit Listenansichten bietet. Die meisten Office-Anwendungen erfordern keine MOSS 2007-Bereitstellung. Einige Anwendungen, wie z. B. PowerPoint 2007 und InfoPath 2007, können jedoch von den erweiterten Features wie Folienbibliotheken und Forms Services profitieren, die mit MOSS 2007 oder separat erhältlich sind.

Im Zeitalter von Software-plus-Services spielen Webdienste eine wichtige Rolle, da sie gehostete Back-End-Umgebungen von internen Front-End-Anwendungen entkoppeln. Bei SharePoint handelt es sich um eine der wichtigsten Technologien für die Onlinezusammenarbeit. Office-Anwendungen und Office-Add-Ins werden weiterhin auf lokalen Arbeitsstationen ausgeführt, und Webdienste bieten zusammen mit anderen Webtechnologien einen nahtlosen Zugriff auf Features und Daten über Unternehmensfirewalls in verteilten Umgebungen hinweg. Es ist daher kein Zufall, dass SharePoint-Server 20, 40, 60 oder mehr Webdienste hostet. Webdienste sind die richtige Wahl für Geschäftslösungen, die sich auf einfache Verwendung, leichten Zugriff und Flexibilität konzentrieren, und beim Objektmodell handelt es sich um die richtige Wahl für die Erstellung dieser Webdienste.

Pav Cherny ist IT-Experte und Autor und ist auf Microsoft-Technologien für Zusammenarbeit und einheitliche Kommunikation spezialisiert. Seine Veröffentlichungen enthalten Whitepaper, Produkthandbücher sowie Bücher mit dem Schwerpunkt IT-Vorgänge und Systemverwaltung. Pav Cherny ist Präsident der Biblioso Corporation. Dieses Unternehmen ist auf verwaltete Dokumentations- und Lokalisierungsdienste spezialisiert.