Acceso a datos con Sharepoint Rubén Toribio es.linkedin.com/in/rubentg/...

32
Acceso a datos con Sharepoint Rubén Toribio https://twitter.com/Rtoribiog es.linkedin.com/in/ rubentg / [email protected]

Transcript of Acceso a datos con Sharepoint Rubén Toribio es.linkedin.com/in/rubentg/...

Page 1: Acceso a datos con Sharepoint Rubén Toribio  es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com.

Acceso a datos con SharepointRubén Toribio

https://twitter.com/Rtoribiog

es.linkedin.com/in/rubentg/

[email protected]

Page 2: Acceso a datos con Sharepoint Rubén Toribio  es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com.

Indice• Modelo Servidor vs Modelo Cliente

• Modelo Cliente : CSOM , JSOM , REST , ODATA

• Customizaciones por defecto

• Herramientas de desarrollo

• Preguntas

Page 3: Acceso a datos con Sharepoint Rubén Toribio  es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com.

Sharepoint y su Modelo de desarrollo

• Acceso a datos modelo Servidor

• Acceso a datos modelo Cliente

Cual escogemos ?

Page 4: Acceso a datos con Sharepoint Rubén Toribio  es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com.

Modelo Servidor

Pros La representación se realiza en

el servidor garantiza los mismos resultados en todos los navegadores

Rendimiento de la representación se puede controlar como organización gestiona la infraestructura de servidor

Todas las funcionalidades del modelo de Objetos

Contras Requiere recopilación y

redistribución de paquetes de soluciones (WSP), cuando los cambios de código que puede retrasar los resultados que se suban en la Producción.

Exceso de carga en la pagina al ir a buscar los datos a servidor

Page 5: Acceso a datos con Sharepoint Rubén Toribio  es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com.

Modelo Cliente

Pros

Se puede agregar un script a la página como contenido y ejecutado sin compilación

Se puede modificar el DOM por defecto de Sharepoint

Reduce la carga del servidor llevando la carga al cliente

Se pueden realizar modificaciones rapidas en entornos empresariales

Se pueden enriquecer la interfaz usuario con Jquery u otras librerias

Contras Confiar en el navegador del usuario sera

compatible o permitido usar codigo cliente

Complicado reproducir bugs , porque cada navegador puede producir diferentes resultados

Hay limitaciones de funcionalidades comparadas con el modelo servidor

Perdida de soporte cuando se migra a una nueva versión

Page 6: Acceso a datos con Sharepoint Rubén Toribio  es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com.

CSOM : Client Side object Model .Net Client Object Model

Silverlight Client Object Model

Javascript Object Model

Rest/Odata endpoints

Ejemplos

Page 7: Acceso a datos con Sharepoint Rubén Toribio  es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com.

CSOM : Client Side object Model

Page 8: Acceso a datos con Sharepoint Rubén Toribio  es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com.

CSOM – Client Side Object Model

Nuevas mejoras

Agregando acceso a todas estas características:

Business DataSearchUser ProfilePublishingTaxonomyWorkflow

Page 9: Acceso a datos con Sharepoint Rubén Toribio  es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com.

.Net Client Object Model

Se programa en C#

Usamos las librerias Microsoft.SharePoint.Client.Runtime.dll y Microsoft.SharePoint.Client.dll

Page 11: Acceso a datos con Sharepoint Rubén Toribio  es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com.

.Net Client Object Model

Funcionamiento

Metodos

Load()

ExecuteQuery()

ExecuteQueryAsync()

Page 12: Acceso a datos con Sharepoint Rubén Toribio  es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com.

.Net Client Object Model

Ejemplo

Page 13: Acceso a datos con Sharepoint Rubén Toribio  es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com.

.Net Client Object Model

Aplicación de consola ejemplo

Page 14: Acceso a datos con Sharepoint Rubén Toribio  es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com.

Silverlight Client Object Model

Modelo de objetos muy similar a .Net

Orientado a Silverlight

Publicaciones del archivo .xap

Visualizador de Silverlight incorporado

Page 15: Acceso a datos con Sharepoint Rubén Toribio  es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com.

Javascript Object Model

Se programa en Javascript

Librerias necesarias SP.js , SP.Core.js , SP.Runtime.js

<script type="text/ecmascript" src="/_layouts/15/SP.core.debug.js" />

<script type="text/ecmascript" src="/_layouts/15/SP.runtime.debug.js" />

<script type="text/ecmascript" src="/_layouts/15/SP.debug.js" />

SP.SOD.RegisterSod("SP.js", "\_layouts\SP.js");

Page 16: Acceso a datos con Sharepoint Rubén Toribio  es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com.

Javascript object Model

Nomenclaturas

Habilitar Intellisense

/// <reference name="MicrosoftAjax.js" />

/// <reference path="~/_layouts/15/init.js" />

/// <reference path="~/_layouts/15/SP.Core.js" />

/// <reference path="~/_layouts/15/SP.Runtime.js" />

/// <reference path="~/_layouts/15/SP.UI.Dialog.js" />

/// <reference path="~/_layouts/15/SP.js" />

Page 17: Acceso a datos con Sharepoint Rubén Toribio  es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com.

Javascript Object Model

Ejemplo

Page 18: Acceso a datos con Sharepoint Rubén Toribio  es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com.

Rest/Odata

Representational State Transfer

Open Data Protocol

Ejemplo

Page 19: Acceso a datos con Sharepoint Rubén Toribio  es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com.

Rest/Odata endpoints

Servicio Web se puede accede desde Javascript y C#

Operaciones : Get / Post / Merge , Put / Delete

Page 20: Acceso a datos con Sharepoint Rubén Toribio  es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com.

Rest/Odata endpoints

C#

JavaScript

Page 21: Acceso a datos con Sharepoint Rubén Toribio  es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com.

Rest/Odata endpoints

Estructura

Page 22: Acceso a datos con Sharepoint Rubén Toribio  es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com.

Rest/Odata endpoints

Puntos de Acceso

Page 23: Acceso a datos con Sharepoint Rubén Toribio  es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com.

Rest/Odata Endpoints

Especificar valores en query string

Algunas columnas no soportadas

Page 24: Acceso a datos con Sharepoint Rubén Toribio  es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com.

Operaciones:

SeleccionarOrdenarPaginarOmitirFiltrarComienza porContieneDia/Mes/Año/Hora/Minuto/SegundosExpandir

Page 25: Acceso a datos con Sharepoint Rubén Toribio  es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com.

Rest/Odata Endpoints

Ejemplo

Page 26: Acceso a datos con Sharepoint Rubén Toribio  es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com.

Rest/Odata Endpoint

JSON XML

Page 27: Acceso a datos con Sharepoint Rubén Toribio  es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com.

Elección de Framework

JSOM : Operaciones CRUD

Rest : Operaciones Get

Page 31: Acceso a datos con Sharepoint Rubén Toribio  es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com.

Herramientas de desarrollo

Google Chrome Debug

Fiddler

Postman

Visual studio Addons

Javascript Parser /Jslint

JsonViewer

SPRemoteAPIExplorer 2.0

Page 32: Acceso a datos con Sharepoint Rubén Toribio  es.linkedin.com/in/rubentg/ rtoribiogallardo@gmail.com.