SP2010 evolución vs evolución

492 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
492
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

SP2010 evolución vs evolución

  1. 1. Desarrollo en SharePoint 2010: Modelo de Objetos en Cliente + API REST Goretti Ortigosa http://geeks.ms/blogs/gortigosa
  2. 2. Qué vamos a ver• Introducción al MO en Cliente• Los «tres sabores» del MO en Cliente• Arquitectura• Uso del MO en cliente• API REST
  3. 3. MO en Cliente: Introducción
  4. 4. 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
  5. 5. 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
  6. 6. 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
  7. 7. Los tres sabores
  8. 8. 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
  9. 9. 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
  10. 10. 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
  11. 11. • Sintaxis: Servidor Client OM SPContext ClientContext SPSite Site SPWeb Web SPList List SPListItem ListItem SPField Field
  12. 12. Arquitectura
  13. 13. JavaScript Controls and LogicNavegador Respuesta JSON MO ECMAScript MO en Petición XML Servidor Proxy Petición XML Client.svc Proxy Respuesta JSON BD de MO Manejado ContenidosCliente Manejado Lógica y Controles Manejados SharePoint 2010
  14. 14. 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
  15. 15. Uso del MO en Cliente
  16. 16. Implementación .NET
  17. 17. Implementación de Silverlight
  18. 18. Implementación Webpart de Silverlight + + +
  19. 19. Implementación ECMA Javascript
  20. 20. API REST
  21. 21. 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
  22. 22. 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
  23. 23. 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();
  24. 24. 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();

×