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

Post on 22-Jan-2016

218 views 0 download

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

Acceso a datos con SharepointRubén Toribio

https://twitter.com/Rtoribiog

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

Sharepoint y su Modelo de desarrollo

• Acceso a datos modelo Servidor

• Acceso a datos modelo Cliente

Cual escogemos ?

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

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

CSOM : Client Side object Model .Net Client Object Model

Silverlight Client Object Model

Javascript Object Model

Rest/Odata endpoints

Ejemplos

CSOM : Client Side object Model

CSOM – Client Side Object Model

Nuevas mejoras

Agregando acceso a todas estas características:

Business DataSearchUser ProfilePublishingTaxonomyWorkflow

.Net Client Object Model

Se programa en C#

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

.Net Client Object Model

Funcionamiento

Metodos

Load()

ExecuteQuery()

ExecuteQueryAsync()

.Net Client Object Model

Ejemplo

.Net Client Object Model

Aplicación de consola ejemplo

Silverlight Client Object Model

Modelo de objetos muy similar a .Net

Orientado a Silverlight

Publicaciones del archivo .xap

Visualizador de Silverlight incorporado

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");

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" />

Javascript Object Model

Ejemplo

Rest/Odata

Representational State Transfer

Open Data Protocol

Ejemplo

Rest/Odata endpoints

Servicio Web se puede accede desde Javascript y C#

Operaciones : Get / Post / Merge , Put / Delete

Rest/Odata endpoints

C#

JavaScript

Rest/Odata endpoints

Estructura

Rest/Odata endpoints

Puntos de Acceso

Rest/Odata Endpoints

Especificar valores en query string

Algunas columnas no soportadas

Operaciones:

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

Rest/Odata Endpoints

Ejemplo

Rest/Odata Endpoint

JSON XML

Elección de Framework

JSOM : Operaciones CRUD

Rest : Operaciones Get

Herramientas de desarrollo

Google Chrome Debug

Fiddler

Postman

Visual studio Addons

Javascript Parser /Jslint

JsonViewer

SPRemoteAPIExplorer 2.0