De laatste dag van de PDC (Professional Developer Conference) van Microsoft waren er vooral veel sessies over services. De SharePoint 2010 services, Excel Services 2010 en de veranderingen binnen Windows Communication Foundation (WCF) in Visual Studio 2010. In deze blog een samenvatting van mijn laatste dag PDC.

De laatste dag van de PDC (Professional Developer Conference) van Microsoft waren er vooral veel sessies over services. De SharePoint 2010 services, Excel Services 2010 en de veranderingen binnen Windows Communication Foundation (WCF) in Visual Studio 2010. In deze blog een samenvatting van mijn laatste dag PDC.
Sharepoint 2010 development
Even kort over SharePoint 2010 development. Ik ben niet echt thuis in hoe dit nu in z’n gang gaat, maar blijkbaar is het nogal lastig. Het deployment en debug gebeuren in ieder geval zeker. Nu hebben ze het zo ingericht dat je vanuit Visual Studio gewoon een breakpoint kunt plaatsen, F5 kunt drukken. Vervolgens wordt het gedeployd en de debugger wordt gekoppeld aan SharePoint zodat het breakpoint ook op de juiste plaats zal stoppen. Klonk mij vrij voor de hand liggend, maar blijkbaar was dat to nu toe niet of nauwelijks mogelijk.
Het andere interessante zijn de services die ze beschikbaar hebben gesteld. SharePoint 2010 is ontworpen om deel te nemen in Service Oriented Applications. Via Rest, Webservices en Windows Communication Foundation (WCF) is SharePoint te benaderen.
All about the services
Vooral de REST calls vond ik erg leuk om te zien. Gewoon via een URL een SharePoint list uitlezen en filteren. Nice.
listdata.svc/Employees?
       $filter=JobTitle eq 'SDE'
       $orderby=Fullname
Maar ook de WCF implementatie is het bekijken waard. Er zijn dus heel wat mogelijkheden om de informatie die in SharePoint staat te gebruiken in je eigen applicaties. Overigens niet alleen de SharePoint data gebruiken, ook aanpassen is mogelijk.
Excel services
Een andere sessie die ik heb bijgewoond ging over Excel Services. Opvallend hier waren de overeenkomsten met de SharePoint services wat betreft mogelijkheid om via REST Excel uit te lezen via het internet. Door een URL aanroep kun je data uit Excel inlezen, maar ook onderdelen zoals grafieken en dergelijke. Hiermee kun je allerlei situaties bedenken. Zo kun je dus in een website een grafiekje plaatsen die rechtstreeks uit een Excel werkmap komt. De data die de grafiek gebruikt is ook te filteren. Een beetje Ajax erbij en je hebt een dynamische grafiek in je website geplaatst met een paar regeltjes code en alle intelligentie over de data en de grafiek zit gewoon in Excel.
All about the services
Daarnaast is de samenwerking met Visual Studio ook interessant; automatische proxy classes bijvoorbeeld. Voor een developer misschien niet zo spectaculair,  aangezien hier niets meer te programmeren valt, maar toch leuk: De online Excel Web Application (EWA). Hiermee kun je via de browser Excel bestanden, gebruiken, aanpassen, creëren, enz. En omdat het online is, is het mogelijk om met meerdere gebruikers, any-time-any-where samen te werken aan een bepaalde werkmap. Door het gebruik van het Javascript Oject Model (JSOM) zoals onder andere Ajax werkt het allemaal erg natuurlijk en soepel.
Windows Communication Foundation
Over Windows Comminucation Foundation in het .Net Framework 4.0 zijn eigenlijk 4 belangrijke dingen te vertellen. Laten we beginnen met de configuratie. In WCF 3.0 schrijf je in de config files allerlei informatie over de services. Als je meerdere services had, dan kon het betekenen dat je regelmatig dezelfde settings aan het kopiëren was van de ene config file naar de andere. In WCF 4.0 hebben ze het zodanig aangepast dat het meer lijkt op de web.config structuur zoals we die kennen bij ASP.NET. Ofwel; de hiërarchische mappenstructuur.
Als een binding niet is ingesteld in de config file in dezelfde map als de service, dan gaat hij in de bovenliggende map(pen) op zoek naar een binding. Zo kun je op 1 plaats (in de root) aangeven welke binding er gebruikt wordt waarna alle services in submappen deze binding zullen gebruiken (tenzij deze binding in de config file in de submap overschreven wordt door een andere waarde natuurlijk).
Ten tweede de monitoring van WCF. De werking van je services kun je voortaan erg overzichtelijk monitoren via IIS Manager. Met rood, geel en groene signaal kleuren kun je snel terugvinden hoeveel messages 'failed', 'faulted' en 'succeded' zijn.
Het derde item is WCF als Routing Service.
All about the services
Je maakt een service aan die het bericht doorstuurt naar een andere service. Dit kun o.a. je gebruiken voor:
  • Protocol bridging (client ondersteunt andere binding dan de server).
  • Security (client heeft geen directe rechten op de service).
  • Versioning.
  • Error handling (bij wegvallen van de service, routeren naar een back-up service).
All about the services
En last but not least: Discovery. Hierbij kan een service die zijn Metadata gepubliceerd heeft gevonden worden door clients of andere services. Als voorbeeld een chatsysteem: de deelnemende gebruikers kunnen elkaar dan automatisch vinden.
All about the services
Of een ander voorbeeld: een Self-healing systeem. Als een bepaalde service instantie niet meer beschikbaar is, kan de client zelf op zoek (discover) naar een andere vervangende service.
Kortom weer een aantal functionaliteiten die in bepaalde situaties erg handig kunnen zijn!
Bron vermelding: de afbeeldingen in deze blog zijn afkomstig uit de verschillende presentaties op de PDC09, te vinden op de website van de Microsoft PDC.