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

 

Aktion Browser BDC Model Methoden



Read List ReadList.aspx ReadList



View Item DispForm.aspx ReadList


ReadList


ReadItem



Edit Item EditForm.aspx ReadList


ReadList


ReadItem



Edit Item (Save) EditForm.aspx ReadList


ReadList


ReadItem


ReadItem


ReadItem


Update


ReadList



New Item NewForm.aspx ReadList



New Item (Save) NewForm.aspx ReadList


Create


ReadList



Delete Item
ReadItem


Delete


ReadList

 

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)

 

Aktion BDC Model Methoden
   
ReadList ReadList
   
Update ReadItem
  ReadItem
  ReadItem
  Update
  ReadItem
   
Create Create
  ReadItem
   
Delete ReadItem
  ReadItem
  Delete

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.