Verteilte Anwendungen mit SharePoint 2010 können nun innerhalb kürzester Zeit dank dem neuen SharePoint 2010 Client Object Model (nachfolgend Client OM) erstellt werden. Das Client OM stellt Entwicklern sehr viele Funktionen bereit mit deren Hilfe komplexe, verteilte SharePoint 2010 Anwendungen erstellt werden können.
Aus technischer Sicht ist das Client OM ein Proxy der vor die eigentliche SharePoint Lib geschaltet wird und mit dem neuen Client-WebService von SharePoint 2010 kommuniziert. (siehe Abbildung 1)
Abbildung 1 – SharePoint 2010 Client OM Lifecycle
Alt bewehrtes (Klassennamen)
Das SharePoint Team hat beim Erstellen des Client OM penibel darauf geachtet, dass SharePoint Entwicklern der Umstieg auf das Client OM einfach fällt. Ein Indiz hierfür sind die Klassennamen die im Client OM zur Verfügung stehen
| Server | .NET managed Client | Silverlight | JavaScript |
| Silverlight | JavaScript | ClientContext | ClientContext |
| SPSite | Site | Site | Site |
| SPWeb | Web | Web | Web |
| SPList | List | List | List |
| SPListItem | ListItem | ListItem | ListItem |
| SPField | Field | Field | Field |
Wie man der Tabelle entnehmen kann, muss lediglich das “SP” Prefix weggelassen werden wenn man mit dem Client OM von SharePoint 2010 arbeitet.
Der ClientContext, das Zentrum
Unabhängig davon ob ein Silverlight, ein CLR oder ein JavaScript Client erstellt wird bildet die Klasse ClientContext das Zentrum der Entwicklung mit dem SharePoint 2010 Client OM. Alle Abfragen die zum SharePoint Server gehen werden über den ClientContext realisiert. Ein kleines Beispiel sollte das ganze verständlich darstellen
1: ClientContext ctx =
2: new ClientContext(“http://mySharePoint2010Server”);
3:
4: ctx.Load(ctx.Web);
5: ctx.Load(ctx.Web.Lists);
6:
7: var allVisibleListsQuery = from list in context.Web.Lists
8: where list.Hidden = false
9: select list;
10:
11: var results =
12: context.LoadQuery(allVisibleListsQuery);
Wie man sieht läuft alles über den ClientContext, was die Sache sehr einfach macht, weil man nur wenige Typen benötigt um komplexe Anforderungen zu realisieren.
Fazit
Das neue SharePoint 2010 Client OM wird für viele SharePoint Entwickler eine nette und komfortreiche Sache werden. Hierdurch können schnell verteilte Anwendungen die auf SharePoint basieren entwickelt werden, ohne auf die veralteten asmx WebServices zugreifen zu müssen, wie es noch bei SharePoint 2007 der Fall ist.