Freigeben über


Entwickeln von Clientanwendungen mit Office 2010 und Business Connectivity Services für SharePoint Server 2010

Zusammenfassung:  Lernen Sie die clientseitigen Features von Microsoft Business Connectivity Services (BCS) kennen, und erfahren Sie, wie Sie diese Features in verschiedenen Szenarien nutzen können.

Letzte Änderung: Donnerstag, 5. Mai 2011

Gilt für: Business Connectivity Services | Office 2010 | Open XML | SharePoint Designer 2010 | SharePoint Foundation 2010 | SharePoint Online | SharePoint Server 2010 | Visual Studio

Inhalt dieses Artikels
Einführung in Business Connectivity Services in SharePoint 2010
Erläuterung der Architekturkomponenten von BCS (Client und Server)
Verfügbarmachen von Daten für Offlineclients
Grundlegendes zur Sicherheit in BCS
Beschreibung dreier clientseitiger Szenarien
Schlussbemerkung
Weitere Ressourcen

Bereitgestellt von:  Michael Case, iSoftStone | John Peltonen, 3Sharp | Verfassern des SharePoint 2010 SDK

Inhalt

  • Einführung in Business Connectivity Services in SharePoint 2010

  • Erläuterung der Architekturkomponenten von BCS (Client und Server)

  • Verfügbarmachen von Daten für Offlineclients

  • Grundlegendes zur Sicherheit in BCS

  • Beschreibung dreier clientseitiger Szenarien

    • Einfache Lösungen

    • Anspruchsvollere deklarative Lösungen

    • Erweiterte codebasierte Lösungen

  • Schlussbemerkung

  • Weitere Ressourcen

Einführung in Business Connectivity Services in SharePoint 2010

Häufig werden Benutzer beim Versuch, externe Geschäftsdaten zu organisieren und zu zentralisieren, von Systemen wie CRM (Customer Relationship Management, Kundenbeziehungsmanagement) oder ERP (Enterprise Resource Planning) enttäuscht, die anscheinend keine Kommunikation mit Produktivitätssoftware unterstützen. Allzu oft sind die wichtigen Systeme, mit denen die Benutzer den ganzen Tag umgehen, nicht integriert. Um diese Schwierigkeiten zu beheben, können Entwickler die erweiterbare Funktionsstärke von Microsoft Office 2010 und verwandter Produkte nutzen, um Branchensysteme in Microsoft Office zu integrieren. Auf diese Weise können die Benutzer mit Daten in den bekannten Office-Anwendungen und mit anderen gewohnten Anwendungen arbeiten. Nehmen Sie zum Beispiel an, eine Organisation verwendet eine Veranstaltungsplanungslösung mit einer proprietären Back-End-Datenbank. Statt die Benutzer zu zwingen, eine weitere spezielle Kalenderanwendung zu erlernen, könnte eine Office-Lösung erstellt werden, die Kalender in Microsoft Outlook 2010 verwendet, wo die Benutzer bereits den größten Teil ihrer Planung erledigen.

Microsoft Business Connectivity Services (BCS) ist ein neues Feature in Microsoft SharePoint 2010, mit dem Entwickler Daten einheitlich in SharePoint 2010 und den Office 2010-Clientanwendungen anzeigen können. Benutzer können mit den Daten interagieren, Änderungen vornehmen und über einen clientseitigen Cache sogar offline mit den Daten arbeiten. Die Business-Konnektivitätsdienste (Business Connectivity Services) können mit nahezu jedem externen System eine Verbindung herstellen, sei es ein Branchensystem (wie Microsoft Dynamics, Oracle oder Siebel), ein Web 2.0-Dienst oder eine benutzerdefinierte Anwendung.

HinweisHinweis

Eine vollständige Einführung in die Business-Konnektivitätsdienste (Business Connectivity Services) finden Sie in Business Connectivity Services (Übersicht) im TechNet.

Kurze Zusammenfassung von BCS in fünf Minuten

Wie zu erwarten, können Sie mithilfe der Business-Konnektivitätsdienste (Business Connectivity Services) Entitäten aus externen Systemen in Microsoft SharePoint Server 2010 darstellen. Tatsächlich stellen Sie Daten dar, die von einem Webdienst, einer Microsoft .NET Framework-Assembly, einem Endpunkt von Windows Communication Foundation (WCF) oder einer Datenbank bereitgestellt werden. Externe Inhaltstypen können an verschiedenen Stellen vorhanden sein, z. B. in einem speziellen, als externe Liste bezeichneten Listentyp, auf Profilseiten, in bestimmten Webparts für die Business-Konnektivitätsdienste (Business Connectivity Services), wie Spalten in anderen Listen oder Dokumentbibliotheken, und in der Suche. In SharePoint können Benutzer diese Daten wie alle anderen SharePoint-Daten erster Klasse suchen und anzeigen. Mit den entsprechenden Berechtigungen können Benutzer externe Inhaltstypen bearbeiten, die wiederum an den Webdienst, die Datenbank, die Microsoft .NET Framework-Assembly oder den WCF-Endpunkt gesendet werden. Die Architektur ermöglicht nicht nur die Darstellung von Entitäten aus einem einzelnen externen System, sie ermöglicht auch, dass Ihr Webdienst oder Ihre .NET Framework-Assembly als Miniaturimplementierung einer dienstorientierten Architektur fungiert, die einen externen Inhaltstyp zugänglich macht, der aus unterschiedlichen externen Systemen erstellt wird. Von diesem Konnektor können auch Entitäten in den externen Systemen entsprechend den Benutzeraktionen in SharePoint erstellt oder aktualisiert werden.

Der Vorteil der Darstellung dieser Daten in SharePoint 2010 statt ihrer direkten Darstellung in einer benutzerdefinierten Anwendung besteht darin, dass diese Entitäten dann für andere SharePoint 2010-Anpassungen verfügbar sind. Entwickler oder erfahrene Benutzer, die Anwendungen erstellen, können diese Entitäten beispielsweise in ihren Workflows, Microsoft InfoPath-Formularen, Webparts usw. verwenden.

Zudem können externe Inhaltstypen in Office 2010-Clientanwendungen dargestellt und offline verwendet werden. Outlook 2010, Microsoft SharePoint Workspace 2010, Access 2010, Word 2010 und InfoPath 2010 verfügen über integrierte Funktionen zur Darstellung von lokal zwischengespeicherten Daten. So können externe Inhaltstypen, die Personen beschreiben, beispielsweise als Outlook-Inhalte angezeigt werden und datumsgesteuerte externe Inhaltstypen im Outlook-Kalender angezeigt werden.

In diesem Artikel wird beschrieben, wie Sie mithilfe der Business-Konnektivitätsdienste (Business Connectivity Services) Integrationsszenarien von Branchensystemen für Benutzer von Office-Clients unterstützen und leistungsstarke Produktivitätslösungen erstellen.

Erläuterung der Architekturkomponenten von BCS (Client und Server)

In diesem Abschnitt werden die wichtigsten Architekturkomponenten der Business-Konnektivitätsdienste (Business Connectivity Services) erläutert. Ein besonderer Schwerpunkt liegt dabei auf ihrer Integration in Office mithilfe von clientseitigen Features.

Wie erwähnt ermöglichen die Business-Konnektivitätsdienste (Business Connectivity Services) Benutzern das Lesen und Schreiben von Daten aus externen Systemen über Webdienste, Datenbanken und .NET Framework-Assemblys in SharePoint 2010- und Office 2010-Anwendungen. SharePoint 2010- und Office 2010-Anwendungen verfügen über Features, die externe Daten sowohl online als auch offline direkt verwenden können. Entwickler erhalten Zugriff auf einen reichhaltigen Satz von Features und können mithilfe bekannter Tools wie Microsoft Visual Studio 2010 und Microsoft SharePoint Designer 2010 rasch Lösungen erstellen.

Die Business-Konnektivitätsdienste (Business Connectivity Services) sind nicht für Anwendungen gedacht, die Transaktionen verarbeiten. Wenn Sie mehrere externe Systeme aktualisieren oder Transaktionskontrolle benötigen, sollten Sie einen Webdienst erstellen, der die Transaktionen unterstützt, mit denen die Business-Konnektivitätsdienste (Business Connectivity Services) eine Verbindung herstellen können.

Abbildung 1 zeigt ein allgemeines Architekturdiagramm der Business-Konnektivitätsdienste (Business Connectivity Services).

Abbildung 1. High-Level-Architektur von BCS

High-Level-Architektur von BCS

Verwenden des BDC-Modells in SharePoint 2010

TippTipp

Der folgende Abschnitt basiert auf Infrastruktur des BDC-Modells im SharePoint 2010 SDK.

Ein wesentliches Entwurfsziel für den Business Data Connectivity-Dienst (BDC) war die Möglichkeit der Bereitstellung von Daten aus verschiedenen externen Systemen (wie z. B. CRM, ERP sowie Datenbanken in Office 2010-Anwendungen und SharePoint Server 2010) mit geringem Codierungsaufwand. Entsprechend ermöglicht BDC den homogenen Zugriff auf die zugrunde liegenden Datenquellen mithilfe eines deklarativen BDC-Metadatenmodells (BDC-Modell), mit dem ein einheitliches und vereinfachtes Clientobjektmodell bereitgestellt wird.

Das BDC-Modell enthält Daten über die APIs des externen Systems sowie Informationen über das externe System, die Geschäftsentitäten, die verfügbaren Methoden und die Beziehungen zwischen den Geschäftsentitäten. Die Datenstrukturen wie Entity (externer Inhaltstyp) und Method, in denen komplexe Details über ein externes System abstrahiert werden, werden insgesamt als MetadataObjects bezeichnet und bilden das BDC-Modell. Das BDC-Modell für ein externes System besteht im Wesentlichen aus einer XML-Datei. Sie wird automatisch generiert, wenn Sie einen externen Inhaltstyp in SharePoint Designer erstellen. Sie können sie jedoch auch manuell in einem XML-Editor generieren.

Das BDC-Modell enthält Daten über das externe System, nicht die externen Daten selbst. Externe Daten sind nur im externen System vorhanden, obwohl eine zwischengespeicherte Kopie im Clientcache der Business-Konnektivitätsdienste (Business Connectivity Services) vorhanden ist, falls externe Listen offline geschaltet wurden.

Business Data Connectivity-Dienst

TippTipp

Der folgende Abschnitt basiert auf Business Data Connectivity-Dienst (BDC) (Übersicht) im SharePoint 2010 SDK.

Der BDC-Dienst ist die neue Version des Geschäftsdatenkatalogs aus Microsoft Office SharePoint Server 2007. Der BDC-Dienst ist als gemeinsamer Dienst in Microsoft SharePoint Foundation 2010 implementiert und basiert auch weiterhin auf dem Metadatenspeicher. Mit dem BDC-Dienst können Sie externe Systeme deklarativ mithilfe eines BDC-Modells modellieren, um externe Daten in SharePoint Server 2010 und mit Microsoft SharePoint Server 2010 mit Lizenz für den Zugriff auf den Enterprise-Client auch in Microsoft Office 2010-Anwendungen verfügbar zu machen. Der BDC-Dienst schließt die Lücke zwischen SharePoint-Websites und Ihren Geschäftsanwendungen und ermöglicht Ihnen das Einfügen von Schlüsseldaten aus verschiedenen externen Systemen in SharePoint-Listen (über das neue Feature für externe Listen und externe Datenspalten), Webparts, Suchvorgängen, Benutzerprofilen und benutzerdefinierten Anwendungen.

Der BDC-Dienst soll in erster Linie Verbindungen mit verschiedenen Arten von externen Systemen ermöglichen. Er weist deshalb integrierte Unterstützung für Verbindungen mit den folgenden Datenquellen auf:

  • Datenbanken

  • WCF- und Webdienste

  • .NET Framework-Assemblys

  • Benutzerdefinierte Datenquellen

    HinweisHinweis

    Der BDC-Dienst enthält ein austauschbares Konnektorframework, mit dem Entwickler Konnektoren für neue Arten von externen Systemen anschließen und so den Zugriff auf diese neuen Datenquellentypen über den BDC-Dienst ermöglichen können.

Die BDC-Dienstmodelle sind im Metadatenspeicher abgelegt. Nachdem ein BDC-Dienstmodell verfügbar gemacht wurde, kann jede Lösung über das Objektmodell der BDC-Laufzeit auf diesen Speicher zugreifen.

Vom Objektmodell der BDC-Laufzeit werden Programmierschnittstellen bereitgestellt, mit denen das Programmieren für verschiedene externe Systeme vereinheitlicht wird. Insbesondere kann der Entwickler damit stereotype, normalisierte Vorgänge aufrufen, wie Create-An-Entity-Instance, Read-Entity-Instances und Delete-Entity-Instance, die dann vom BDC-Modell in die für das externe System spezifischen Aufrufe konvertiert werden.

Im folgenden Diagramm ist dargestellt, wie die stereotypen Vorgänge aufgerufen werden können, um mehrere externe Systeme zu aktualisieren.

Abbildung 2. BDC-Programmiermodell

BDC-Programmmodell

BCS-Clientlaufzeit

TippTipp

Der folgende Abschnitt basiert auf Business Connectivity Services-Clientlaufzeit im SharePoint 2010 SDK.

Die Business Connectivity Services-Clientlaufzeit ist Teil der Office Professional Plus 2010-Clientanwendungen und der Rich Client-Komponenten für Office-Anwendungen. Sie erfüllt im Wesentlichen folgende Funktionen:

  • Bereitstellung einer Möglichkeit, die vom Metadatenmodell beschriebenen Geschäftsdaten den unterschiedlichen Benutzeroberflächenelementen der Office-Anwendungen zuzuordnen

  • Laden und Ausführen von Lösungen für die Business-Konnektivitätsdienste (Business Connectivity Services) in Microsoft Office-Anwendungen

  • Kontextbezogene Anzeige der Benutzeroberflächenelemente, wenn diese benötigt werden

Die BCS-Clientlaufzeit fungiert als Konnektor zwischen den Business-Konnektivitätsdiensten (Business Connectivity Services), den Lösungen und den -Hostanwendungen. Die BCS-Clientlaufzeit wird jedes Mal geladen, wenn eine Office-Hostanwendung geladen wird, und löst dann bestimmte Ereignisse in der Hostanwendung aus, überwacht diese und reagiert auf diese. Die BCS-Clientlaufzeit interpretiert die deklarativen Lösungen für -Anwendungen und integriert Geschäftsdaten in -Anwendungen.

Die BCS-Clientlaufzeit erfordert bestimmte Anwendungsartefakte, die festlegen, wie Geschäftsdaten in der Office 2010-Anwendung angezeigt werden sollen. Diese Artefakte sind Teil des Lösungspakets für die Business-Konnektivitätsdienste (Business Connectivity Services).

In einer speicherresidenten Microsoft SQL Server Compact Edition-Datenbank auf dem Client sind die Metadaten und die zwischengespeicherten Entitäten gespeichert, die für den Benutzer von Interesse sind. Dank dieser Architektur können sich Entwickler auf Geschäftsprobleme konzentrieren, anstatt sich mit der komplexen Interaktion mit unterschiedlichen -Anwendungs-APIs zum Ausführen von Routineaufgaben aufhalten zu müssen.

Abbildung 3 zeigt, wie die BCS-Clientlaufzeit mit BDC in die Business-Konnektivitätsdienste (Business Connectivity Services) integriert ist.

Abbildung 3. Integration der BCS-Clientlaufzeit in BDC

Integration von BCS Client Runtime in BDC

Verfügbarmachen von Daten für Offlineclients

Nachdem Sie das BDC-Modell entworfen und die Daten durch externe Listen auf dem SharePoint-Server verfügbar gemacht haben, können Sie die Daten offline schalten und in den Office 2010-Clientanwendungen anzeigen. Dies wird durch die BCS-Clientlaufzeit ermöglicht. Die BCS-Laufzeit verwaltet den clientseitigen Cache, ruft die externen Datenquellen auf und macht externe Daten in den Office 2010-Clientanwendungen verfügbar.

Auch wenn die Client- und die Serverlaufzeit der Business-Konnektivitätsdienste (Business Connectivity Services) sehr ähnlich entworfen wurden und in der Regel symmetrisch zueinander sind, sind sie nicht direkt verbunden. Sie müssen beide gesondert konfigurieren. Wie Sie später sehen werden, wird in den meisten Fällen der clientseitige Cache, einschließlich des Metadatenspeichers, automatisch konfiguriert, wenn Benutzer externe Listen mit Outlook 2010 oder SharePoint Workspace 2010 synchronisieren möchten. Zu dieser Konfiguration gehört auch das Hochladen einer lokalen Kopie des Metadatenmodells. Falls das Metadatenmodell auf eine .NET Framework-Assembly als externen Konnektor verweist, wird zusätzlich die .NET Framework-Assembly auf den Clientcomputer kopiert und lokal ausgeführt.

HinweisHinweis

In diesem Fall sollten Sie unbedingt sicherstellen, dass Ihre .NET Framework-Assembly nicht auf Assemblys verweist, die nur auf dem SharePoint-Server gehostet werden und auf Clientcomputern nicht verfügbar sind.

Clientcache von Business Connectivity Services (BCS)

TippTipp

Der folgende Abschnitt basiert auf Grundlegendes zum Optimieren Ihrer Lösungen mit dem Business Connectivity Services-Clientcache im SharePoint 2010 SDK.

In einem Cache der Business-Konnektivitätsdienste (Business Connectivity Services) wird eine Kopie der externen Daten gespeichert, die für die in Microsoft Office 2010-Clientanwendungen bereitgestellten Lösungen für die Business-Konnektivitätsdienste (Business Connectivity Services) erforderlich sind. Der Cache ermöglicht das automatische Kopieren externer Daten auf den Client und das Verwalten dieser Daten für den Echtzeitzugriff mit automatischer Datensynchronisierung zwischen dem Cache und der externen Anwendung. Das lokale Speichern von Daten aus der externen Anwendung in einem Cache auf dem Client hat die folgenden wesentlichen Vorteile:

  • Höherer Anwendungsdurchsatz  Wenn die Daten im Cache gespeichert wurden, können diese verwendet werden, indem auf die zwischengespeicherte Kopie zugegriffen wird, anstatt dass die Originaldaten erneut aus der externen Geschäftsanwendung abgerufen werden.

  • Unterstützung für Szenarien ohne Verbindung  Benutzer können auch dann weiter mit Office 2010-Geschäftsanwendungen arbeiten und externe Daten nahtlos und effizient bearbeiten, wenn die Verbindung mit dem externen System langsam, zeitweise unterbrochen oder nicht verfügbar ist.

Der Clientcache ist als benutzerspezifische Microsoft SQL Server 2005 Compact Edition-Datenbank implementiert. Bearbeiten Sie die Datenbank keinesfalls direkt, dies wird von Microsoft nicht unterstützt. Verwenden Sie stattdessen das Cacheobjektmodell, um auf den Cache zuzugreifen.

In einem Cacheabonnement wird definiert, mit welchen Daten der Cache aufgefüllt wird und welche Daten bei der Bereitstellung einer Lösung für die Business-Konnektivitätsdienste (Business Connectivity Services) automatisch generiert werden. Cacheabonnements werden als XML-Datei (subscription.xml) dargestellt und befinden sich im Bereitstellungsordner. Obwohl ein Abonnement bei der Bereitstellung automatisch generiert wird, können Sie ein Abonnement mithilfe des Objektmodells programmgesteuert ändern. Das Bearbeiten der XML-Datei hat keine Auswirkung. Abonnements können nicht gelöscht werden.

Ein Abonnement enthält folgende Elemente:

  • Abfragen  Die Abfragen, die ausgeführt werden müssen, um die erforderlichen externen Elemente im Cache zu speichern.

  • Explizite Identitäten  Alle zusätzlichen externen Elemente, die Sie aus der externen Datenquelle übernehmen möchten, indem Sie deren Identitäten explizit angeben.

  • Zuordnungen  Zugehörige externe Elemente aus der externen Datenquelle, an denen Sie interessiert sind.

Die Speichereinheit im Clientcache der Business-Konnektivitätsdienste (Business Connectivity Services) ist ein externes Element. Die Bezeichner und die Instanzdaten werden an separaten Orten gespeichert. Die Bezeichner für alle externen Elemente, die zu allen auf dem Client für den Benutzer installierten Abonnements gehören, werden an einem zentralen Ort gespeichert. Die Daten externer Elemente für jeden externen Inhaltstyp in einem Abonnement wie ID, Name, Adresse usw. werden an einem separaten Ort gespeichert. Wenn der Benutzer beispielsweise zwei Abonnements "Kunde" und "Konten" besitzt, von denen jedes 10 externe Elemente umfasst, werden alle 20 Bezeichner an einem Ort im Cache zentral gespeichert. Die zu dem Abonnement gehörenden Kundendaten wie ID, Name und Adresse werden an einem separaten Ort gespeichert. Die Kontodaten werden wiederum an einem anderen Ort im Cache gespeichert. Wenn der Benutzer das Abonnement ändert und eine Abfrage hinzufügt, die fünf der 10 externen Elemente für Kunden zurückgibt, die von der ersten Abfrage in dem Abonnement verwendet wurden, werden die Daten für die externen Elemente nicht nochmals im Cache dupliziert.

Immer wenn in der Clientanwendung ein Vorgang wie Read, Create, Update oder Delete für ein externes Element ausgeführt wird, werden die Aufrufe nicht direkt an die externe Anwendung (LobSystemInstance) geleitet. Stattdessen werden die Vorgänge in der Vorgangswarteschlange (einem Speicherort im Cache) gestapelt und dann abhängig von der Verfügbarkeit der externen Anwendung nacheinander ausgeführt.

Auf dem Client wird der BCS-Synchronisierungsprozess BCSSync.exe ausgeführt, von dem der Cache automatisch aktualisiert und die Daten der externen Elemente synchronisiert werden. Um den Cache für ein Abonnement zu füllen, führt der BCS-Synchronisierungsprozess über die stereotypen Vorgänge Finder und SpecificFinder mehrere Aufrufe der externen Anwendung aus. Der stereotype Vorgang Finder gibt eine Auflistung externer Elemente zurück, die eine Filterbedingung erfüllen. Der stereotype Vorgang SpecificFinder gibt einen speziellen externen Inhaltstyp für einen bestimmten Bezeichner zurück. Für jede Abfrage in einem Abonnement ruft der BCS-Synchronisierungsprozess den stereotypen Vorgang Finder auf, um alle externen Elemente abzurufen, welche die Abfragebedingung erfüllen. Gegebenenfalls wird auch der stereotype Vorgang SpecificFinder aufgerufen, um die Details für jeden zurückgegebenen externen Inhaltstyp abzurufen.

Wenn aktivierte Abonnementzuordnungen vorhanden sind, ruft der BCS-Synchronisierungsprozess dann den stereotypen Vorgang AssociationNavigator auf, um den Cache mit zugehörigen externen Elementen aufzufüllen. Der stereotype Vorgang AssociationNavigator gibt die Bezeichner der externen Elemente zurück, die einem externen Inhaltstyp zugeordnet sind. Der BCS-Synchronisierungsprozess ruft den stereotypen Vorgang AssociationNavigator für jedes externe Element im Cache für das Abonnement auf und ruft gegebenenfalls den stereotypen Vorgang SpecificFinder auf, um die Details für jeden zurückgegebenen zugehörigen Bezeichner eines externen Elements abzurufen. Aufgrund der Anzahl der erforderlichen zusätzlichen Aufrufe wird die Verwendung von Abonnementzuordnungen nicht empfohlen. Stattdessen sollten Sie zwei Abonnements erstellen – eines für jeden zugehörigen externen Inhaltstyp.

Beim Synchronisierungsprozess wird versucht, den Cache in bestimmten Intervallen aus der externen Anwendung zu aktualisieren. Der genaue Aktualisierungszeitpunkt kann jedoch nicht vorhergesagt werden und hängt von mehreren Faktoren wie z. B. dem vom Benutzer festgelegten Aktualisierungsintervall (ExpireAfter) und der Verfügbarkeit der externen Anwendung ab.

TippTipp

Weitere Informationen zum Cache der Business-Konnektivitätsdienste (Business Connectivity Services) finden Sie unter Grundlegendes zum Optimieren Ihrer Lösungen mit dem Business Connectivity Services-Clientcache.

Grundlegendes zur Sicherheit in BCS

Microsoft Business Connectivity Services (BCS) verfügt über drei Sicherheitsstufen.

Erstens kann jeder externe Inhaltstyp unabhängig von Rechten für externe Systeme geschützt werden. Diese Sicherheitsstufe wird direkt im BDC-Modell behandelt und kann zur Laufzeit in SharePoint Designer und auf der SharePoint-Administrationswebsite verwaltet werden.

Zweitens muss der clientseitige Cache selbst auf dem Clientcomputer geschützt werden, besonders auf gemeinsam genutzten Computern. Er wird vom verschlüsselnden Dateisystem von Windows verschlüsselt und benutzerspezifisch in einem isolierten Speicher abgelegt, um Manipulationen zu verhindern.

Drittens muss der Zugriff auf das externe System verwaltet und den Benutzern zur Verfügung gestellt werden.

Verwenden von Secure Store Service zur Vereinfachung der Authentifizierung

TippTipp

Der folgende Abschnitt basiert auf Vorgehensweise: Herstellen einer Verbindung mit einem externen System mithilfe des Diensts für Einmaliges Anmelden im SharePoint 2010 SDK.

Häufig wird in Lösungen für Microsoft Business Connectivity Services (BCS) die Authentifizierung bei einem externen System versucht, in dem der aktuelle Benutzer eine andere ID oder ein anderes Authentifizierungskonto besitzt. In diesen Fällen können Sie Einmaliges Anmelden verwenden, um die vom externen System benötigten Anmeldeinformationen zu speichern und zuzuordnen. Einmaliges Anmelden ermöglicht außerdem mehreren Benutzern den Zugriff auf ein externes System über einen einzigen Satz von Anmeldeinformationen.

Angenommen, der Benutzer Fred verfügt über ein Konto auf dem Server mit SharePoint Server 2010 und ein anderes Konto für eine CRM-Anwendung. Durch den Dienst für Einmaliges Anmelden können seine CRM-Anmeldeinformationen zusammen mit seinem Benutzerprofil in SharePoint Server 2010 gespeichert werden. Wenn Fred dann mithilfe einer Lösung für die Business-Konnektivitätsdienste (Business Connectivity Services) in SharePoint Server Daten aus der CRM-Anwendung abruft, überprüft SharePoint Server seine Anmeldeinformationen in der Datenbank für Einmaliges Anmelden und stellt CRM seine Anmeldeinformationen bereit. Auf diese Weise wird Fred automatisch bei der CRM-Anwendung angemeldet, ohne sich separat bei der CRM-Anwendung anmelden zu müssen.

Zum Ermöglichen ähnlicher Funktionalität auf Microsoft Office-Clients stellen die Business-Konnektivitätsdienste (Business Connectivity Services) einen Anbieter für Einmaliges Anmelden bereit, der den Windows-Anmeldeinformationsspeicher verwendet.

Beschreibung dreier clientseitiger Szenarien

Es gibt im Wesentlichen drei Möglichkeiten, clientseitige Lösungen zu erstellen, bei denen externe Daten in Office 2010-Clientanwendungen gehostet werden. Sie reichen von sehr einfachen Lösungen bis hin zu Lösungen, die fast vollständig mit Code ausgeführt werden.

Einfache Lösungen

Eine gängige Verwendung der Business-Konnektivitätsdienste (Business Connectivity Services), wie von SharePoint im Allgemeinen, besteht in einer Verbundanwendung. Dabei handelt es sich um eine Anwendung, die aus mehreren Komponenten erstellt wird, Daten aus verschiedenen Quellen verwendet und für spezielle Geschäftsanforderungen von Geschäftskunden entwickelt wird. Microsoft Business Connectivity Services (BCS) bietet Geschäftskunden, erfahrenen Benutzern und Entwicklern die Möglichkeit, anspruchsvolle Anwendungen zu erstellen, ohne Code oder komplexe XML-Dateien schreiben zu müssen.

In diesem Abschnitt werden einige Optionen und Szenarien beschrieben, die jedermann zur Verfügung stehen.

Outlook und SharePoint Workspace

Die einfachste Art einer clientseitigen Lösung, die Benutzern zur Verfügung steht, ist das Offlineschalten einer externen Liste in SharePoint Workspace oder Outlook. In beiden Fällen werden sämtliche Setupaspekte von SharePoint Server für den Benutzer erledigt, indem ein Abonnement im clientseitigen Cache erstellt und Outlook bzw. SharePoint Workspace so konfiguriert wird, dass diese Liste aus dem Cache gelesen wird.

Dies stellt ein vollwertiges Lese-/Schreibszenario dar, in dem Benutzer externe Daten auf den Client übertragen, diese offline schalten, ändern und die Änderungen beim nächsten Wiederherstellen der Verbindung automatisch auf das externe System anwenden können.

Im Wesentlichen synchronisieren Benutzer die externe Liste nicht wirklich direkt mit Outlook oder SharePoint Workspace. Im Hintergrund wird ein Cacheabonnement für den externen Inhaltstyp erstellt. Dann wird SharePoint Workspace oder Outlook so konfiguriert, dass die Instanzen des externen Inhaltstyps im Cache über ihre jeweiligen Benutzeroberflächen verfügbar gemacht werden. Aus der Sicht des Benutzers ist der Vorgang vollständig transparent. Er klickt auf das VSTO-Paket, um es zu installieren, und der Inhalt wird in einer der beiden Anwendungen angezeigt. Somit lautet die nächste Frage, wann diese Daten in SharePoint Workspace angezeigt werden und wann in Outlook.

Es scheint so, als ob Daten bevorzugt in Outlook eingegeben würden, aber in diesem Fall wurde vom Office-Team eine Unterscheidung getroffen. Externe Inhaltstypen, die Sie mit einem Outlook-Datentyp (Kontakt, Termin, Aufgabe oder Öffentliche Nachricht) definiert haben, können von Outlook gehostet werden. Da SharePoint Workspace für das Offlineschalten von SharePoint-Websites entworfen wurde, ist es unabhängig von der Datentypdefinition mit jedem externen Inhaltstyp funktionsfähig.

Präsentation von Daten gegenüber Benutzern in den beiden Anwendungen

In SharePoint Workspace werden die externen Daten auf dieselbe Weise angezeigt wie alle Inhalte vom betreffenden Datentyp. Kontakte werden als Kontakte, Termine als Kalenderelemente angezeigt usw. Im Hintergrund wird von SharePoint Workspace eine spezielle PST-Datei (Personal Store, privater Speicher), die für die Liste erstellt wird, mit dem Cache synchronisiert. Dies kann den Benutzer unter Umständen verwirren, da die Elemente statt im primären Offlinespeicher (OST) von Outlook in einer separaten PST-Datei gespeichert sind und somit nicht mit Elementen zusammengeführt werden, die der Benutzer direkt in Outlook verwaltet.

Abbildung 4. Anzeige von Kontakten aus einer externen Datenbank in Outlook

In Outlook angezeigte Kontakte aus externen Datenbanken

In SharePoint Workspace kann der Benutzer beim Herstellen der Verbindung entscheiden, in welcher Ansicht die Daten in Arbeitsbereichen angezeigt werden sollen. Ist auf dem Clientcomputer InfoPath installiert, werden benutzerdefinierte InfoPath-Formulare, die in SharePoint zum Erstellen und Aktualisieren gehostet werden, ebenfalls abgerufen und lokal in SharePoint Workspace gehostet.

In jedem Fall machen diese beiden Anwendungen die Daten aus demselben Abonnement im Cache verfügbar. Tatsächlich kann dieselbe Liste an beiden Orten angezeigt werden.Dann werden von beiden Anwendungen genau dieselben Daten im Cache abgerufen.

Weitere Informationen zum Anzeigen externer Daten in Outlook und SharePoint Workspace finden Sie in den folgenden SDK-Artikeln:

Verfügbarmachen externer Daten in Word 2010

In Microsoft Word können Aufzählungen und Tabellen angezeigt werden. Diese verfügen jedoch nicht über inhärente Verbindungen mit externen Inhaltstypen. Stattdessen wird in Word eine einzelne, gesonderte Instanz eines externen Inhaltstyps über Inhaltssteuerelemente dargestellt.

Wenn Sie nicht mit Inhaltssteuerelementen vertraut sind, sollten Sie sich ein paar Minuten Zeit nehmen, um sich darüber zu informieren. Inhaltssteuerelemente sind ein sehr leistungsstarkes Feature von Word, mit dem Sie Abschnitte des Dokuments (von Wörtern und Absätzen bis hin zu Tabellenzeilen und Zellen) beschreiben können. Sie wurden ursprünglich entworfen, um bestimmte Datenpunkte im Dokument zu markieren und können an in die DOCX-Datei eingebettete benutzerdefinierte XML-Dateien gebunden werden.

Weitere Informationen zu Inhaltssteuerelementen finden Sie in den folgenden Artikeln auf MSDN:

Ein leistungsstarkes Feature für Benutzer in Office SharePoint Server 2007 war die Möglichkeit, Dokumenbibliotheksspalten (und andere Dokumenteigenschaften) mithilfe dieser Inhaltssteuerelemente direkt auf der Benutzeroberfläche des Dokuments darzustellen. In SharePoint 2010 wird diese Möglichkeit um Dokumentbibliotheksspalten erweitert, in denen Daten aus externen Listen angezeigt werden. Tatsächlich stellt Word 2010 ein spezielles BCS-Auswahl-Inhaltssteuerelement bereit, das Benutzern die direkte Auswahl des externen Elements auf der Oberfläche des Dokuments ermöglichen soll.

Im Gegensatz zu Outlook und SharePoint Workspace, die den Cache direkt abfragen, sucht die BCS-Auswahl in Word zuerst in der SharePoint-Liste nach externen Inhaltsdaten. Im Offlinemodus überprüft das Auswahl-Steuerelement anhand des Caches, ob der Benutzer über Outlook oder SharePoint Workspace ein Abonnement für diesen externen Inhaltstyp initiiert hat. Hat der Benutzer die externe Liste nicht in Outlook oder SharePoint Workspace explizit offline geschaltet, werden in der Auswahl keinerlei Alternativen angezeigt. Wenn der externe Inhaltstyp bereits ausgewählt wurde, während eine Verbindung mit SharePoint bestand, wird er natürlich weiterhin im Dokument angezeigt.

Weitere Informationen zum Anzeigen externer Daten in Word 2010-Dokumenten finden Sie unter Gewusst wie: Anzeigen externer Daten in Word mithilfe von Inhaltssteuerelementen.

Synchronisieren von Kopien externer Listen mit lokalen Datenbanken mithilfe von Access 2010

In Microsoft Access 2010 können Kopien externer Listen mit lokalen Datenbanken synchronisiert werden. Dies kann ein sehr leistungsstarkes Feature sein, wenn Daten aus externen Systemen zum Steuern lokaler Access 2010-Anwendungen verwendet werden. Access 2010 verfügt über integrierte Funktionen zum Synchronisieren von SharePoint-Listen, die um die Unterstützung schreibgeschützter externer Listen erweitert wurden. In Access 2010 wird zur Synchronisierung mit Listen nicht die lokale BCS-Laufzeit oder der Cache verwendet. Sie können jedoch ein BDC-Modell in Access 2010 importieren, um schreibgeschützte Tabellen zu erstellen.

Anspruchsvollere deklarative Lösungen

Anspruchsvollere deklarative Lösungen erfordern Code, beinhalten jedoch auch einige Benutzeranpassungen. Häufig kann für deklarative Lösungen auf vorhandene erweiterte codebasierte Lösungen zurückgegriffen werden. Sie können jedoch auch als äußerst leistungsstarke Anpassungen systemeigener Anwendungsfunktionen eigenständig verwendet werden. Tatsächlich gibt es auch Situationen, in denen für erweiterte codebasierte Lösungen bereits vorhandene deklarative Lösungen genutzt werden können. Als Entwickler sollten Sie mit dem Erstellen deklarativer Lösungen und einfacher Lösungen vertraut sein.

Auf der untersten Ebene stellt eine deklarative Lösung eine Erweiterung einer einfachen Lösung dar. Sie könnten beispielsweise eine Word 2010-Vorlage mit in einer SharePoint-Dokumentbibliothek gehosteten BCS-Auswahl-Steuerelementen erweitern oder die standardmäßigen SharePoint-Listenformulare durch angepasste InfoPath-Formulare ersetzen.

Weitere Informationen zum Upsizing systemeigener SharePoint-Formulare zu InfoPath-Formularen finden Sie unter Gewusst wie: Anpassen externer Listenformulare mithilfe von Microsoft InfoPath.

Es gibt eine deklarative Lösung für Outlook 2010, die wesentlich komplexer ist als eine einfache Anpassung an vorhandene Funktionen. Sie ermöglicht Entwicklern das Anzeigen verwandter Daten der Business-Konnektivitätsdienste (Business Connectivity Services) in Aufgabenbereichen neben externen Inhaltstypen, die als systemeigene Outlook-Datentypen angezeigt werden. Die Lösung stellt einen Mittelweg zwischen einer einfachen codelosen Lösung und einer komplexen, in Visual Studio geschriebenen Lösung mit verwaltetem Code dar. Sie können derartige Lösungen zwar erstellen, ohne Code zu schreiben, allerdings stellen sie erhöhte Anforderungen an Anwendungsentwurf, Datenstruktur und XML-Bearbeitung.

Mit deklarativen Outlook-Lösungen können Entwickler Lösungen entwerfen und erstellen, mit denen Outlook-Benutzer mit kontextbezogenen externen Daten in Outlook als Kontakt, Termin, öffentliche Nachricht oder Aufgabe interagieren können. Bedenken Sie, dass bereits eine einfache Lösung erfahrenen Benutzern und Entwicklern ermöglicht, externe Datentypen als systemeigene Kontakte, Termine, öffentliche Nachrichten oder Aufgaben in Outlook anzuzeigen. Entwickler können diesen Lösungstyp durch eine deklarative Outlook-Lösung erweitern. Das heißt, sie können benutzerdefinierte Menübänder und Aufgabenbereiche in Outlook deklarativ definieren, um Benutzern die Interaktion mit verwandten externen Inhaltstypen zu ermöglichen.

Weitere Informationen zum Erstellen einer deklarativen Outlook-Lösung finden Sie unter Exemplarische Vorgehensweise: Erstellen einer anspruchsvolleren deklarativen Outlook-Lösung

Erweiterte codebasierte Lösungen

Dass die BCS-Clientlaufzeit die Anzeige von Daten in Outlook, SharePoint Workspace, Word 2010 und Access 2010 unterstützt, bedeutet nicht, dass dies die einzigen Anwendungen sind, in denen externe Inhaltstypen angezeigt werden können. Sie können mit Microsoft Visual Studio 2010 Lösungen erstellen, die von umfassenden Komplettlösungen mit Codekomponenten, die auf dem Client und auf dem Server ausgeführt werden, bis hin zu wiederverwendbaren Komponenten der Business-Konnektivitätsdienste (Business Connectivity Services) reichen.

In einem Tool wie Visual Studio erstellte codebasierte .NET Framework-Lösungen können alle Elemente des öffentlichen Objektmodells der Business-Konnektivitätsdienste (Business Connectivity Services) verwenden und Benutzern die Interaktion mit externen Daten ermöglichen. Die wesentlichen Komponenten, die Sie erstellen können, sind Microsoft Silverlight-Anwendungen, benutzerdefinierte Serverkomponenten (z. B. Webparts) und Microsoft Office-Add-Ins. Codebasierte Lösungen können mithilfe des BDC-Objektmodells beim BDC-Dienst registriert werden, um Daten in SharePoint, in einer Office 2010-Anwendung wie Excel 2010 oder in einer benutzerdefinierten Anwendung anzuzeigen. Sie können codebasierte Lösungen so entwerfen, dass sie nur im Onlinebetrieb zum Abrufen von externen Daten aus dem externen System dienen, oder Sie können sie so entwerfen, dass sie online wie auch offline durch Abrufen von Daten aus dem BCS-Clientcache funktionsfähig sind. In Visual Studio 2010 ist ein BDC-Projekttyp verfügbar, um das Erstellen von .NET Framework-Verbindungsassemblys zu ermöglichen. Anwendungsspezifische Office-Add-In-Projektvorlagen sind verfügbar, um schnell Office-Add-Ins zu erstellen.

Zusätzlich zu BCS-Komplettlösungen können Sie wiederverwendbare BCS-Komponenten erstellen, mit denen erfahrene Benutzer anspruchsvollere deklarative Lösungen implementieren können. Die folgende Liste enthält einige Beispiele:

  • Externe Inhaltstypen und BDC-Modelle

  • Webdienste und .NET Framework-Verbindungsassemblys zum Aggregieren oder Transformieren von Daten aus externen Systemen

  • Benutzerdefinierte Webparts

  • Benutzerdefinierte Workflowaktivitäten

  • CodeBehind für InfoPath-Formulare

  • Benutzerdefinierte Feldtypen zum Anzeigen von Datenstrukturen, die nicht flach sind

  • Benutzerdefinierte Parts für externe Daten für deklarative Outlook-Lösungen

Weitere Informationen zum Erstellen einer erweiterten codebasierten Lösung finden Sie unter Erstellen erweiterter codebasierter Lösungen mithilfe von Business Connectivity Services.

Schlussbemerkung

Mithilfe von Microsoft Business Connectivity Services (BCS) zusammen mit Office 2010 und SharePoint 2010 können Daten aus externen Systemen direkt in den Anwendungen zur Verfügung gestellt werden, die Benutzer bereits kennen. Die Methoden zum Anzeigen der Daten reichen von sehr einfachen codelosen clientseitigen Szenarien bis hin zu reichhaltigen programmgesteuerten Angeboten. Ihre benutzerdefinierte Office 2010-Lösung verwendet Daten aus einem Branchensystem und ermöglicht durch die clientseitige Programmierbarkeit von Microsoft Office 2010 weitere Produktivitätsverbesserungen. Darüber hinaus verwendet die Lösung die clientseitige Laufzeit und den clientseitigen Cache, sodass die Benutzer online oder offline mit den Daten arbeiten können.

Weitere Informationen zum Entwickeln eigener Clientanwendungen mithilfe der Business-Konnektivitätsdienste (Business Connectivity Services) finden Sie unter Microsoft Business Connectivity Services.

Weitere Ressourcen

Weitere Informationen finden Sie in den folgenden Ressourcen: