5. Introducción al MO en Cliente
• Proporciona un mecanismo de trabajo remoto con Sitios
de SharePoint 2010:
– El acceso es vía API
– No hay necesidad de recurrir a los servicios web que expone la
plataforma
– No tengo que implementar mis servicios web personalizados
• Es una capa de abstracción que permite trabajar con
objetos de SharePoint
6. Introducción al MO en Cliente
• Es un subconjunto del MO definido en
Microsoft.SharePoint.dll
• Objetivo: minimizar el número de roundtrips al servidor:
– Simplifica Añadir / Devolver / Actualizar y gestionar datos de
SharePoint de forma remota
– Los comandos se envían en modo batch al servidor
• SharePoint Designer 2010 lo usa
7. Introducción al MO en Cliente
• ¿En qué niveles permite desarrollar?
– Colecciones de sitios y sitios
– Listas, elementos de lista, vistas y esquemas
– Archivos y carpetas
– Property Bags
– WebParts
– Seguridad
– Tipos de contenido
– Plantillas de Sitio y operaciones con Colecciones de sitios
10. Los tres sabores
• .NET ejecutándose en modo SandBox:
– Se encuentra localizado en /ISAPI en los ensamblados:
• Microsoft.SharePoint.Client .dll: MO en sí mismo
• Microsoft.SharePoint.Client.Runtime.dll: lógica de transporte necesaria
para procesar las peticiones al servidor
– Las comunicaciones con el servidor son síncronas
11. Los tres sabores
• Silverlight (3.0 o superior), ejecutándose en modo
SandBox:
– Se encuentra localizado en LAYOUTSClientBin en los
ensamblados:
• Microsoft.SharePoint.Client.Silverlight.dll: MO en sí mismo
• Microsoft.SharePoint.Client.Silverlight.Runtime.dll: lógica de
transporte necesaria para procesar las peticiones al servidor
– Las comunicaciones con el servidor son asíncronas
12. Los tres sabores
• ECMAScript, script que se ejecuta en el navegador:
– Se encuentra localizado en /LAYOUTS en los archivos:
• SP.js: MO en sí mismo
• SP.Runtime.js: lógica de transporte necesaria para procesar las
peticiones al servidor
– Las comunicaciones con el servidor son asíncronas
13. • Sintaxis:
Servidor Client OM
SPContext ClientContext
SPSite Site
SPWeb Web
SPList List
SPListItem ListItem
SPField Field
15. JavaScript Controls and Logic
Navegador
Respuesta JSON
MO ECMAScript MO en
Petición XML Servidor
Proxy
Petición XML
Client.svc
Proxy
Respuesta JSON BD de
MO Manejado
Contenidos
Cliente Manejado
Lógica y Controles Manejados SharePoint 2010
16. Arquitectura
• Silverlight WebPart:
– De serie en SharePoint 2010, es el hoster natural de aplicaciones
Silverlight:
• Basta con desarrollar la aplicación XAP y desplegarla en el servidor
• La aplicación Silverlight desplegada es una parte + de la página
27. API REST
• Integración nativa de WCF Data Services:
– Todas las Lista y Bibliotecas de SharePoint 2010 están expuestas a
través de un servicio REST
– http://<servidor>/_vti_bin/ListData.svc
28. API REST
• Se facilita el acceso a los datos de SharePoint:
– Mediante el uso de LINQ para operaciones CRUD
– El trabajo con objetos es fuertemente tipado
29. API REST
• //Listado de los elementos de una Lista de Anuncios
• IntranetDataContext ctx =
• new IntranetDataContext(
• new Uri(
• "http://win-ij3avreuif5/_vti_bin/ListData.svc",
• UriKind.Absolute));
• ctx.Credentials =
• CredentialCache.DefaultCredentials;
• grdDatos.DataSource = ctx.Anuncios.ToList();
30. API REST
• //Creación de un nuevo anuncio
• IntranetDataContext ctx =
• new IntranetDataContext(
• new Uri(
• "http://win-ij3avreuif5/_vti_bin/ListData.svc",
• UriKind.Absolute));
• ctx.Credentials =
• CredentialCache.DefaultCredentials;
• AnunciosItem anItem =
• new AnunciosItem();
• anItem.Título=txtTitulo.Text;
• anItem.Cuerpo=txtTitulo.Text;
• ctx.AddToAnuncios(anItem);
• ctx.SaveChanges();