4. Agenda
• SharePoint dans l’Entreprise
• SharePoint au centre de l’intranet
• Le nouveau modèle de développement Sharepoint
• Intégration des autres solution SI avec SharePoint
• Développement applications pour SharePoint
avec Azure
• Conclusion
• Q&A
6. SharePoint dans l’entreprise
• Intégration avec les autres produits Microsoft
(Office, Exchange, Lync )
• Application centralisée accessible de partout
• (intranet-extranet)
• Briques entreprise
• Recherche
• Réseau social entreprise
• Taxonomie
• Moteur de Workflow
• Possibilité d’apporter des customisations
• L’outil du quotidien
• Collaboration
• Stockage des documents
• Recherche
• Applications métier intégrées dans le produit.
7. Les autres applications dans
l’intranet
• Applications existantes ou en cours de mise en place.
• Applications hétérogènes
• Technologies différentes (PHP, Java, MVC …)
• Modes d’authentification différents
• fonctionnement différent
• Pourquoi interagir avec SharePoint?
• Centraliser les données & l’administration
• Ne pas redévelopper des fonctionnalités
existantes
• Gestion du changement
8. SharePoint au centre de
l’intranet
Profiter des possibilités offertes par SharePoint :
• Stocker les documents
• Gérer la sécurité des autres applications
• Exploiter les briques de SharePoint
• Service de Recherche
• Réseau social
• Service de taxonomie
• Système de WorkFlow
Comment ça marche ?
9. Evolution du Développement
SharePoint2007
SharePoint
IIS
Code runs from GAC on
same w3wp.exe as
SharePoint web
application
2010
SharePoint
IIS
Sandb
ox
Code runs on
SPUCWorkerProcess.ex
e or calls client.svc
(CSOM)
2013
SharePoint
IIS with _api App
Code runs outside of
SharePoint but has trust to
leverage capabilities exposed
in _api
14. Hight Trusted VS Low Trusted
Hight-Trusted
(Authentification par certificat)
Low-Trusted
(Authentification par jeton)
• SharePoint fait confiance à toutes les
requêtes en provenance de l’application.
• L’application agit au nom de l’utilisateur.
Lors de l’envoi des requêtes vers
SharePoint, les données d’identification
sont signées avec un certificat
préenregistré dans SharePoint.
• Pour chaque application, une
configuration manuelle est nécessaire
pour la mise en place des éléments de
l’authentification (Client ID, certificat,
Issuer ID).
http://msdn.microsoft.com/en-us/library/fp179901.aspx
• SharePoint valide le jeton d’accès de
l’application lors de la communication.
• L’application est authentifiée via ce jeton
d’accès qu’elle obtient d’un fournisseur
d’authentification (par exemple Azure
Access Control Services) à partir d’un jeton
de contexte créé et signé par ACS à la
demande de SharePoint pour l’utilisateur
connecté.
• Une configuration est nécessaire pour
configurer le fournisseur d’authentification
au niveau de SharePoint (automatique sur
Office365). Lors de sa publication dans
SharePoint, l’application reçoit la clé «
client secret » utilisée par ACS pour signer
le jeton de contexte délivré à l’utilisateur.
http://msdn.microsoft.com/en-us/library/fp142382.aspx
16. Cas pratiques
Accéder aux ressources SharePoint à partir d’une autre application
Portail SharePoint
Application dans l’intranet
(MVC)
Authentification Windows
(Active directory)
Authentification par formulaire
(utilisateurs dans une base de données)
• Manipuler les fichiers
• La recherche
• Profile utilisateur
19. Le modèle de développement
d’application pour SharePoint
• Fondé sur les standards du Web
• HTML5, CSS 3.0, JavaScript, REST, JSON, OData,
etc…
• Développement indépendant de la cible de
déploiement
• Une application peut s’exécuter dans le Cloud ou
derrière le firewall dans le Datacenter
• Réutilisation de composants et services au sein
de l’application
• Les applications hébergées à l’extérieur
doivent interagir avec SharePoint
• Accès aux données
• Opérations propres à SharePoint (création de
listes, édition de permissions, etc.)
• Communication de l’application avec SharePoint
communication via CSOM (Client Side Object
Models) & REST
• Possibilité de recevoir des notifications
d’évènement SharePoint
20. Hébergement d’applications
dans le Cloud
• Deux modes :
• Auto Hosted (déployé automatiquement dans
Azure)
• Provider Hosted (peut-être hébergé dans
Azure) pour offrir le maximum de flexibilité
• Indépendance vis-à-vis de la Plateforme
• Windows Azure, IIS/ASP.NET, LAMP, AWS, etc…
• Haute disponibilité
• Les Apps sont sécurisées et isolées de
SharePoint.
• Elles sont scalables indépendamment de
SharePoint : Réduction du TCO
• Gouvernance et contrôle
• Contrôle d’accès aux applications
• Supervision de la santé et de l’utilisation des
applications
21. Authentification dans SharePoint
2013
• Authentification de l’utilisateur fondée sur les claims :
• Mode par défaut
• Trois types de claims : Windows, FBA, SAML
• Contraintes pour établir l’identité de l’application
• L’application doit également supporter les Claims (cf « High Trusted –
Low trusted »)
• Les appels entrants doivent cibler des endpoints CSOM/REST
Client
Partie de confiance :
SharePoint
Service de
jetons de
sécurité
(STS)
1
2
Jeton
signature
revendications
nom: stephgou,
rôles: …
…
SAML
token
OAuth
token
Appel par un
utilisateur
Appel par une
application
22. Windows Azure
Socle
de base
Apps Web externes
web sites
Nouvelles apps
cloud services
Apps Existantes
virtual services
Autres
Services
Enterprise ClassOuvertSimple
23. Windows Azure Active Directory
(identité et sécurité)
Active
Directory
sur site
ADFS 2.0
Apps
tierces
Windows Azure
Active Directory
Apps Microsoft
Vos
apps
Un service Cloud qui assure la gestion des identités
et le contrôle des accès aux applications
24. Windows Azure ACS V2.0
• Identité fédérée et autorisation pour tout type
d’Application
• Identity Providers (Facebook, Google, Yahoo, Live ID)
• Protocoles (OAuth 2, OAuth WRAP, WS-Trust 1.3)
• Formats de jeton (OAuth WRAP SWT, SAML 1.1, SAML 2.0)
• Pré-requis pour utiliser OAuth avec SharePoint 2013
• ACS joue le rôle d’un serveur d’authentification auquel le
serveur SharePoint et l’application doivent faire confiance
• http://msdn.microsoft.com/en-us/library/fp142382.aspx
• Configuration d’ACS
• Automatique pour
Office 365
• SharePoint Server
2013 :
http://msdn.microsoft.com/en-us/library/dn155905.aspx
25. SharePoint Provider Hosted app
App Document
(ASP.NET)
Infrastructure à demeure
Service de contrôle d’accès
(ACS)
SharePoint
Online
Cloud
Service
App MetroEyes
(ASP.NET
HTML 5 – SVG)
1
5
2
6
9
3
7
8 9
4 8
10
SharePoint
Server
Infrastructure à demeure
26. Démo
App Document
(ASP.NET)
Infrastructure à demeure
Service de contrôle d’accès
(ACS)
SharePoint
Online
Cloud
Service
App MetroEyes
(ASP.NET
HTML 5 – SVG)
1
5
2
6
9
3
7
8 9
4 8
10
SharePoint
Server
Infrastructure à demeure
SharePoint Provider Hosted app
27. Autres services Azure
permettant d’étendre SharePoint
Stockage de vidéos & images
dans le Cloud
Cloud Services Exposition de données du Cloud
ou à demeure
Intégration cross-devices
Multimédia et services de
streaming
Business Intelligence
29. Conclusion
Nouveau modèle de
développement d’application
SharePoint
Plusieurs modèles de déploiement
Respect des standards du Web
Extension via le Cloud
Gestion d’identité
30. References
SharePoint Apps: http://dev.office.com
http://blogs.msdn.com/b/officeapps
SharePoint Development : http://msdn.microsoft.com/en-
US/sharepoint
Get Started Developing Apps for SharePoint:
http://msdn.microsoft.com/library/office/apps/jj163980(v
=office.15)
JavaScript API Reference for SharePoint 2013:
http://msdn.microsoft.com/en-us/library/jj193034.aspx
.NET Client API Reference for SharePoint 2013:
http://msdn.microsoft.com/en-us/library/jj193041.aspx
.NET Server API Reference for SharePoint 2013 (Farm
Solutions):
http://msdn.microsoft.com/en-us/library/jj193058.aspx
Getting Started with SharePoint 2013 REST Service:
http://msdn.microsoft.com/en-us/library/fp142380.aspx