SlideShare una empresa de Scribd logo
1 de 31
Desarrollo en SharePoint 2010: Modelo
  de Objetos en Cliente + API REST


                     Goretti Ortigosa
                     http://geeks.ms/blogs/gortigosa
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
MO en Cliente: Introducción
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
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
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
Los tres sabores
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
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
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
• Sintaxis:


              Servidor      Client OM

        SPContext        ClientContext
        SPSite           Site
        SPWeb            Web
        SPList           List
        SPListItem       ListItem
        SPField          Field
Arquitectura
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
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
Uso del MO en Cliente
Implementación .NET
Implementación de Silverlight
Implementación Webpart de Silverlight



               +
               +
               +
Implementación ECMA Javascript
API REST
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
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
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();
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();
SP2010 evolución vs evolución

Más contenido relacionado

La actualidad más candente

La actualidad más candente (8)

Desarrollo aplicaciones
Desarrollo aplicacionesDesarrollo aplicaciones
Desarrollo aplicaciones
 
Another View Web 2.0
Another View Web 2.0Another View Web 2.0
Another View Web 2.0
 
WORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API RESTWORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API REST
 
Rest
RestRest
Rest
 
Portales y Escritorios Web Lotusphere 2009
Portales y Escritorios Web Lotusphere 2009Portales y Escritorios Web Lotusphere 2009
Portales y Escritorios Web Lotusphere 2009
 
Portales con software IBM
Portales con software IBMPortales con software IBM
Portales con software IBM
 
Glosario
GlosarioGlosario
Glosario
 
Charla REST API
Charla REST APICharla REST API
Charla REST API
 

Destacado

Plazas y paseos de bogotá(colombia)
Plazas y paseos de bogotá(colombia)Plazas y paseos de bogotá(colombia)
Plazas y paseos de bogotá(colombia)Isabel Bohorquez
 
Inv. de calidad lulú
Inv. de calidad lulúInv. de calidad lulú
Inv. de calidad lulúlulu-lucerito
 
Fisica2 bach 5.7 el ojo humano y la visión
Fisica2 bach 5.7 el ojo humano y la visiónFisica2 bach 5.7 el ojo humano y la visión
Fisica2 bach 5.7 el ojo humano y la visiónTarpafar
 
Guia consulta recursos educativos
Guia consulta recursos educativosGuia consulta recursos educativos
Guia consulta recursos educativosObdulio Hoya
 
Jorge Estevez
Jorge EstevezJorge Estevez
Jorge Estevezglij
 
Three Rivers California
Three Rivers CaliforniaThree Rivers California
Three Rivers Californiadianajules
 
Comunicación interpersonal
Comunicación interpersonalComunicación interpersonal
Comunicación interpersonaleaglefuentes
 
Intl Iraq 本番
Intl Iraq 本番Intl Iraq 本番
Intl Iraq 本番tranceking
 
Honour Killing By Nazakat Ali Shaikh ( Adv)
Honour Killing By Nazakat Ali Shaikh ( Adv)Honour Killing By Nazakat Ali Shaikh ( Adv)
Honour Killing By Nazakat Ali Shaikh ( Adv)Nazakat887
 
transfer of property s.43
transfer of property s.43transfer of property s.43
transfer of property s.43Ashatresa Jose
 

Destacado (20)

Plazas y paseos de bogotá(colombia)
Plazas y paseos de bogotá(colombia)Plazas y paseos de bogotá(colombia)
Plazas y paseos de bogotá(colombia)
 
Inv. de calidad lulú
Inv. de calidad lulúInv. de calidad lulú
Inv. de calidad lulú
 
Fisica2 bach 5.7 el ojo humano y la visión
Fisica2 bach 5.7 el ojo humano y la visiónFisica2 bach 5.7 el ojo humano y la visión
Fisica2 bach 5.7 el ojo humano y la visión
 
La cruz de occitana
La cruz de occitanaLa cruz de occitana
La cruz de occitana
 
Guia consulta recursos educativos
Guia consulta recursos educativosGuia consulta recursos educativos
Guia consulta recursos educativos
 
Sena articulo
Sena articuloSena articulo
Sena articulo
 
Presentación1
Presentación1Presentación1
Presentación1
 
Innovación como impulsor de la competitividad en el Sector Agropecuario
Innovación como impulsor de la competitividad en el Sector AgropecuarioInnovación como impulsor de la competitividad en el Sector Agropecuario
Innovación como impulsor de la competitividad en el Sector Agropecuario
 
Jorge Estevez
Jorge EstevezJorge Estevez
Jorge Estevez
 
Capítulo iii
Capítulo iiiCapítulo iii
Capítulo iii
 
Norma ISO 3166
Norma ISO 3166Norma ISO 3166
Norma ISO 3166
 
Three Rivers California
Three Rivers CaliforniaThree Rivers California
Three Rivers California
 
Milieu
MilieuMilieu
Milieu
 
Giustizia penale adulti
Giustizia penale adultiGiustizia penale adulti
Giustizia penale adulti
 
Statement of Results
Statement of ResultsStatement of Results
Statement of Results
 
Comunicación interpersonal
Comunicación interpersonalComunicación interpersonal
Comunicación interpersonal
 
Intl Iraq 本番
Intl Iraq 本番Intl Iraq 本番
Intl Iraq 本番
 
Honour Killing By Nazakat Ali Shaikh ( Adv)
Honour Killing By Nazakat Ali Shaikh ( Adv)Honour Killing By Nazakat Ali Shaikh ( Adv)
Honour Killing By Nazakat Ali Shaikh ( Adv)
 
transfer of property s.43
transfer of property s.43transfer of property s.43
transfer of property s.43
 
Paludismo (malaria) - Parasitología
Paludismo (malaria) - ParasitologíaPaludismo (malaria) - Parasitología
Paludismo (malaria) - Parasitología
 

Similar a SP2010 evolución vs evolución

Novedades en Desarrollo en SharePoint 2013
Novedades en Desarrollo en SharePoint 2013Novedades en Desarrollo en SharePoint 2013
Novedades en Desarrollo en SharePoint 2013Juan Carlos Gonzalez
 
Aplicaciones de linea de negocio con silverlight y share point
Aplicaciones de linea de negocio con silverlight y share pointAplicaciones de linea de negocio con silverlight y share point
Aplicaciones de linea de negocio con silverlight y share pointRoberto Carlos
 
Exprimiendo SharePoint 2010
Exprimiendo SharePoint 2010Exprimiendo SharePoint 2010
Exprimiendo SharePoint 2010Juan Pablo
 
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint online
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint onlineAplicaciones Autohosted, el nuevo modelo para extender SharePoint online
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint onlineMario Cortés Flores
 
Introducción al desarrollo web moderno
Introducción al desarrollo web modernoIntroducción al desarrollo web moderno
Introducción al desarrollo web modernoSebastián Rocco
 
Presentación html5
Presentación html5Presentación html5
Presentación html5aydimdagam
 
SharePoint 2010 Introducción para Desarrolladores
SharePoint 2010 Introducción para DesarrolladoresSharePoint 2010 Introducción para Desarrolladores
SharePoint 2010 Introducción para DesarrolladoresAndrés Iturralde
 
Mejorando interfaz de SharePoint 2010 con Silverlight 4
Mejorando interfaz de SharePoint 2010 con Silverlight 4Mejorando interfaz de SharePoint 2010 con Silverlight 4
Mejorando interfaz de SharePoint 2010 con Silverlight 4SolidQ
 
Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010
Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010
Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010Andrés Iturralde
 
12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del Proyecto12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del ProyectoLuis Fernando Aguas Bucheli
 
Herramientas SharePoint para programadores .NET
Herramientas SharePoint para programadores .NETHerramientas SharePoint para programadores .NET
Herramientas SharePoint para programadores .NETHaaron Gonzalez
 
Extendiendo share point, project y office con el nuevo modelo de apps sps
Extendiendo share point, project y office con el nuevo modelo de apps spsExtendiendo share point, project y office con el nuevo modelo de apps sps
Extendiendo share point, project y office con el nuevo modelo de apps spsFabian Imaz
 
Como crear add ins hibridas para share point y office
Como crear add ins hibridas para share point y officeComo crear add ins hibridas para share point y office
Como crear add ins hibridas para share point y officeFabian Imaz
 

Similar a SP2010 evolución vs evolución (20)

Novedades en Desarrollo en SharePoint 2013
Novedades en Desarrollo en SharePoint 2013Novedades en Desarrollo en SharePoint 2013
Novedades en Desarrollo en SharePoint 2013
 
Aplicaciones de linea de negocio con silverlight y share point
Aplicaciones de linea de negocio con silverlight y share pointAplicaciones de linea de negocio con silverlight y share point
Aplicaciones de linea de negocio con silverlight y share point
 
Exprimiendo SharePoint 2010
Exprimiendo SharePoint 2010Exprimiendo SharePoint 2010
Exprimiendo SharePoint 2010
 
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint online
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint onlineAplicaciones Autohosted, el nuevo modelo para extender SharePoint online
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint online
 
Introducción al desarrollo web moderno
Introducción al desarrollo web modernoIntroducción al desarrollo web moderno
Introducción al desarrollo web moderno
 
Capitulo 2 servidores
Capitulo 2   servidoresCapitulo 2   servidores
Capitulo 2 servidores
 
Capitulo 2 servidores
Capitulo 2   servidoresCapitulo 2   servidores
Capitulo 2 servidores
 
Capitulo 2 servidores
Capitulo 2   servidoresCapitulo 2   servidores
Capitulo 2 servidores
 
Capitulo 2 servidores
Capitulo 2   servidoresCapitulo 2   servidores
Capitulo 2 servidores
 
Aplicaciones Web
Aplicaciones WebAplicaciones Web
Aplicaciones Web
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Presentación html5
Presentación html5Presentación html5
Presentación html5
 
SharePoint 2010 Introducción para Desarrolladores
SharePoint 2010 Introducción para DesarrolladoresSharePoint 2010 Introducción para Desarrolladores
SharePoint 2010 Introducción para Desarrolladores
 
Mejorando interfaz de SharePoint 2010 con Silverlight 4
Mejorando interfaz de SharePoint 2010 con Silverlight 4Mejorando interfaz de SharePoint 2010 con Silverlight 4
Mejorando interfaz de SharePoint 2010 con Silverlight 4
 
Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010
Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010
Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010
 
2018.sps madrid.spfx workshop
2018.sps madrid.spfx workshop2018.sps madrid.spfx workshop
2018.sps madrid.spfx workshop
 
12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del Proyecto12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del Proyecto
 
Herramientas SharePoint para programadores .NET
Herramientas SharePoint para programadores .NETHerramientas SharePoint para programadores .NET
Herramientas SharePoint para programadores .NET
 
Extendiendo share point, project y office con el nuevo modelo de apps sps
Extendiendo share point, project y office con el nuevo modelo de apps spsExtendiendo share point, project y office con el nuevo modelo de apps sps
Extendiendo share point, project y office con el nuevo modelo de apps sps
 
Como crear add ins hibridas para share point y office
Como crear add ins hibridas para share point y officeComo crear add ins hibridas para share point y office
Como crear add ins hibridas para share point y office
 

Último

How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 

Último (11)

How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 

SP2010 evolución vs evolución

  • 1. Desarrollo en SharePoint 2010: Modelo de Objetos en Cliente + API REST Goretti Ortigosa http://geeks.ms/blogs/gortigosa
  • 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. MO en Cliente: Introducción
  • 4.
  • 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
  • 9.
  • 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
  • 17. Uso del MO en Cliente
  • 19.
  • 21.
  • 22. Implementación Webpart de Silverlight + + +
  • 23.
  • 25.
  • 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();