Beim Debuggen von eigenen BDC Modellen in Visual Studio 2010 ist mir aufgefallen, dass die Business Connectivity Services (BCS) von SharePoint 2010 nicht sehr effizient implementiert sind.
Das Anzeigen eines einzelnen ListItems im Browser (DispForm.aspx Seite) resultiert beispielsweise in zwei Aufrufen der Finder Methode (Read List) und zusätzlich in einem Aufruf der Specific Finder Methode (Read Item).
Komplettes Beispiel: (anhand der Customer Tabelle der Northwind Datenbank)
Zugriff auf die Daten über den Browser
Bemerkung: Bei "Edit Item" werden die Daten zuerst im Browser geladen. Nach der Daten-Eingabe des Benutzers werden die Daten gespeichert (Save).
Zugriff auf die Daten über das Client Object Model (Silverlight)
Bemerkung: Nachdem die Finder Methode ausgeführt wurde und alle resultierenden ListItems lokal in der SilverlightApplikation zwischengespeichert worden sind, ist es nicht nötig erneut die Specific Finder Methode auszuführen, um ein einzelnes ListItem zu lesen.
Zusammenfassend kann man festhalten, dass die Methode "Browser" nicht sehr effizient ist. Über Silverlight und das Client Object Model gelingt es dem Entwickler effizienter auf die Daten zuzugreifen und diese zu verwalten.
Randnotiz: Die hier gezeigten Ergebnisse basieren auf Beta-Produkten von Microsoft. Nach der Veröffentlichung von SharePoint 2010 werde ich die Aussagen überprüfen und nötigenfalls korrigieren. Auf jeden Fall hat Brad Stevenson von Microsoft angekündigt, dass die Release Version von SharePoint 2010 optimiert sein werde und die externen Daten effizienter verwaltet.