You are on page 1of 32

Dvelopper pour

Sharepoint 2010
et au-del
(aka SP Online)
Stphanie HERTRICH Relation Technique Dveloppeurs Microsoft
Frdric Wickert Conseiller Technique Partenaires - Microsoft

Thme de la session
Les Bests Practices pour dvelopper avec
Sharepoint 2010 en restant compatible avec un
dploiement dans le Cloud : Sharepoint OnLine.

Dans cette session :


On ne verra pas
Nouveauts des listes
(contraintes dintgrit,
lookup,)
BCS, Listes externes
UI, ruban
Workflow

On verra
Modle dexcution
SandBox
Client Silverlight
3 modles daccs aux
donnes
SPLinq
le Client Object Model
lAPI REST

Agenda
Rappels Sharepoint Online
Ct Serveur
La sandbox Sharepoint
SPLinq (Linq To Sharepoint)

Ct Client
La sandbox Silverlight
Le CSOM (Client Side Object Model)
LAPI REST (OData)

Synthse pour Sharepoint OnLine

Conclusion

Rappels Sharepoint OnPremise/OnLine

Hberg dans vos propres


datacenters
Machines ddies
Administr par vous
Dev Partial et Full Trust
Pour socit de tte tailles

Hberg dans les data


centers de MSFT
Machines partages
Administr par MSFT
Dev Partial trust
Pour socit de tte taille

Hberg dans les data


centers de MSFT
Machines ddies
Administr par MSFT
Dev Partial et full trust
Pour + de 5000 postes

Agenda
Rappels Sharepoint Online
Ct Serveur
La sandbox Sharepoint
SPLinq (Linq To Sharepoint)

Ct Client
La sandbox Silverlight
Le CSOM (Client Side Object Model)
LAPI REST (OData)

Synthse pour Sharepoint OnLine

Conclusion

Sandbox Le contexte

SandBox :
Solution isole, limite et surveille
Solution (.wsp) dploye par un owner de
collection de sites
Contrl par des quotas/jour dans ladministration
centralise (%CPU, Mmoire, nb requtes)
Excution dans un processus isol
Accs limit SPSite et <

SandBox : Les possibilits


(Visual) Web Parts

Event/Feature Receivers

Feature Activation
Events

Custom Workflow
Actions

InfoPath Forms Services

List Definitions

Custom Actions

Site Pages

Site Columns

Content Types

Sandbox: Les limites


Accs externes SP: http, web services
ADO.net
Search, BCS
Threading
IO
Accs > SPSites
-> Utilisez les listes externes (OnPremise)
-> Accs possible des proxy Full-Trust (OnPremise)

Dmo SandBox Hello World


Rappels Visual Studio 2010
Templates pour Sharepoint 2010
Dploiement, Debug Facilit (F5)
Sharepoint Power Tools (Extension Manager)
Compilation/Intellisense contrls suivant
option Sandbox

Agenda
Rappels Sharepoint Online
Ct Serveur
La sandbox Sharepoint
SPLinq (Linq To Sharepoint)

Ct Client
La sandbox Silverlight
Le CSOM (Client Side Object Model)
LAPI REST (OData)

Synthse pour Sharepoint OnLine

Conclusion

Accs aux Donnes

Server
Object
Model

Content
DB
Sharepoint
(serveur)

Web
Services
(asmx)

Linq To SP

LINQ to SharePoint

Modle daccs aux listes Sharepoint, ct Serveur (sauf


listes externes)
Typage fort
3 Etapes :
1. Gnrer les classes correspondant aux listes avec
SPMetal, partir de lURL du site
2. Ajoutez ces classes dans votre solution et utilisez-les
dans votre application
3. A lexcution, les requtes Linq appliques sur ces
classes sont traduites en CAML

http://stephe-msft/Demos/CaveAVins/Lists/Wines

Exemple : Rcuprer le nom des vins dont le nombre


de bouteilles est < 20
from w in _dc.Wines
where w.Count < 20
select w.Title;

OU
_dc.Wines
.Where(w => w.Count <= 20)
.Select(w => w.Title);

Exemple : Rcuprer le nom des vins dont le


nombre de bouteilles est < 20
<View>
<Query>
<Where>
<And>
<BeginsWith>
<FieldRef Name="ContentTypeId"/>
<Value
Type="ContentTypeId">0x0100
</Value>
</BeginsWith>
<Leq>
<FieldRef Name="Count" />
<Value
Type="Number">20</Value>
</Leq>

</And>
</Where>
</Query>
<ViewFields>
<FieldRef Name="Title" />
</ViewFields>
</View>

Dmo SPLinq
On complte lexemple sandbox avec
notre liste des vins
http://stephe-msft/Demos/CaveAVins/Lists/Wines

Agenda
Loffre Sharepoint Online
Ct Serveur
La sandbox Sharepoint
SPLinq (Linq To Sharepoint)

Ct Client
La sandbox Silverlight
Le CSOM (Client Side Object Model)
LAPI REST (OData)

Conclusion

Silverlight

Dveloppement en .Net, multi-thread


Exprience utilisateur riche, utilisation de Blend
Accs Services Web tiers, WCF RIA Services,
Hberg dans SP (WebPart) ou dans IIS
Mode OutOfBrowser pour fonctionner hors
navigateur
Accs aux donnes SP travers le Client OM (CSOM)
ou lAPI Rest

Client Object Model (CSOM)


API permettant daccder aux objets SP ct
client
Plus simple dutilisation que les Web Services
Disponible pour .Net, Silverlight et JavaScript
Approche familire du server object model

Accs aux Donnes

Client .Net,
Silverlight,
JavaScript

Client
Object
Model

Client.svc

Sharepoint

Server
Object
Model API

Web
Services
(asmx)

Content
DB

Linq To SP

CSOM permet laccs

Sites, Site Collections


Lists, List Items, Views, List Schemas
Files and Folders
Web, List, List Item Property Bags
Web Parts
Security
Content Types
Site Templates and Site Collection Operations

Dmo Silverlight et CSOM

Liste Silverlight

Liste Sharepoint

Client Silverlight affichant la liste Wines

API REST
Fonctions de requtage, ajout, suppression de listes
accessibles par une URL http
Ex pour rcuprer les vins dont le nb de bouteilles est > 50:
[url_site]/_vti_bin/listdata.svc/Wines?$filter=Count gt 50

Implment via WCF Data Services (anciennement


Astoria)

Standard OData
SDK pour clients OData :
http://www.odata.org/developers/odata-sdk

Accs aux Donnes

Client .Net,
Silverlight,
JavaScript

http Browse,
Odata Client SDK

Client
Object
Model

API Rest
(OData)

Client.svc

Listdata
.svc

Web
Services
(asmx)

Sharepoint

Server
Object
Model API

Content
DB

Linq To SP

Dmo Silverlight, CSOM et OData

Liste Silverlight

Liste Sharepoint

Client Silverlight affichant la liste Wines

Accs aux Donnes:


Matrice dcisionnelle
Nom
SPLinq

Classes Proxy
Typage fort
Supporte les relations et projections

Ct serveur uniquement
Pr-traitement ncessaire
chaque modification du modle
Restreint aux listes et
bibliothques

Server Object
Model

API Familire
Ne se limite pas aux listes

Ct serveur uniquement
Typage faible
Syntaxe CAML

Client Object
Model

Plus simple que les Web Services


Ne se limite pas aux listes
Pour clients Silverlight, JavaScript, .Net

Typage faible

REST

Standard Odata, SDKs client


Typage fort
Classes proxy
Fonctionne avec diffrents clients

Restreint aux listes et


bibliothques
Pr-traitement ncessaire
chaque modification du modle
(si classes proxy)

Agenda

Rappels Sharepoint Online


Ct Serveur

La sandbox Sharepoint
SPLinq (Linq To Sharepoint)

Ct Client
La sandbox Silverlight
Le CSOM (Client Side Object Model)
LAPI REST (OData)

Synthse pour Sharepoint OnLine


Conclusion

Synthse Sharepoint Online (1/2)


Sandbox: plutt deux fois quune !
Ct serveur:
Modle dexcution SandBox de SP
Isolation du processus, accs restreint et contrl
aux objets et ressources du serveur
Ct client :
Silverlight et le Client Side Object Model
Pas de restriction en terme de ressources serveur
car sexcute ct client

Synthse Sharepoint Online (2/2)


Codage, debuggage et tests

Le codage/debuggage nest pas recommand


directement sur la plateforme OnLine
Plus lent dployer
Moins de facilit de debuggage (pas daccs disque, )

Le codage et dbuggage est effectu sur la


machine de dveloppement. Une fois le
dveloppement valid, on dploie sur la version
OnLine pour une qualification de plus haut niveau.

Conclusion
Les bonnes habitudes prendre

OnPremise ET OnLine:

Pour coder ct serveur, utilisez le modle


dexcution sandbox
Ce que vous ne pouvez pas faire ct serveur
(appel de services WCF, RIA .Net services, ),
faites-le ct client avec Silverlight, le CSOM,

Liens
Nos Blogs :
http://blogs.msdn.com/stephe
http://blogs.msdn.com/fwickert

You might also like