estrategias de desarrollo en sharepoint

49
Estrategias de Desarrollo en Sharepoint Guillermo Javier Hiroma Analista Programador SharePoint [email protected] Daniel Laco Director Ejecutivo [email protected]

Upload: daniel-laco

Post on 14-Jul-2015

508 views

Category:

Technology


0 download

TRANSCRIPT

Estrategias de Desarrolloen Sharepoint

Guillermo Javier HiromaAnalista Programador SharePoint

[email protected]

Daniel LacoDirector [email protected]

Que nos motivó a

preparar esta charla?

Agenda3 T

iers

o E

stra

teg

ias

Diferentes

estrategiasV

S –

Desi

gner

-JS

Herramientas

de cada

estrategia Fact

ore

s d

eci

sivo

s

SharePoint

APIs

Empezando por lo básico…

Web Part

Workflow

Job

Event Receiver

Listas

Fields

Search

Site Templates

BCS (Bussiness Connectivity

Service)

Y mucho mas…

Componentes de SharePoint Customizables

Tiers o estrategias de desarrollo

Tier I

Tier II

Tier III

R

e

s

t

r

i

c

c

i

ó

n

V

e

l

o

c

i

d

a

d

Tier I

La más simple de las estrategias, la

cual caracteriza a SharePoint

¿En qué se basa?

• Todo se realiza desde la UI de SharePoint.

• Desde crear un sitio, agregar una lista, un

campo personalizado hasta configurar el

servicio de búsqueda.

• Buen nivel de personalización debido a la gran

cantidad de Features y Servicios.

Tier II

El equilibrio entre los tres,

el Middle Tier.

¿En qué se basa?

• La herramienta gratuita SharePoint Designer será

nuestro principal aliado en esta estrategia.

• La Web Part llamada “Content Editor Web Part”,

la cual permite el agregado de código HTML o

Javascript.

Tier III

Finalmente…

el más interesante para nosotros…

¿En qué se basa?

Código C#/VB ASP.NET/SilverLight

Javascript/Jquery

HTML/CSS

CAML Query/LINQ/SQL

XML/XLST

PowerShell

Herramientas del Tier III

• Visual Studio

• Microsoft Blend

• ULS Viewer

• SharePoint Manager

• CAML Query Builder

• PowerShell

• Napa

Conocimientos previos recomendados

C#/VB &

ASP.NET 3.5

(12 meses)

Visual Studio

2008 o más

actual

(12 meses)

Conocimiento

en desarrollo

Web (HTML,

CSS &

Javascript)

(12 meses)

Haber

interactuado

con la interfaz

SharePoint

(1 mes)

Técnicas de

resolución de

problemas de

desarrollo

software

SharePoint APIs

Available SharePoint Web Services

• Open Standards

• RPC Model

• Protocol Agnostic

• XML

• Microsoft Proprietary

• Batch RPC Model

• Client Runtime

• XML / JSON

• Open Standards

• REST Model

• HTTP Only

• ATOM / JSON

SOAP

Web Services

Client Side Object

Model (CSOM)

ODATA

Web Services

SharePoint 2010 Web Service Access

SOAP CSOM ODATA

Lists and Libraries

Site and List Settings

Site Security

Workflow

Search

Managed Metadata

User Profiles

Publishing

SharePoint 2010 Web Service Clients

SOAP CSOM ODATA

JavaScript

Silverlight

.NET

Windows Phone

Other Languages

InfoPath Receive

InfoPath Submit

BCS WCF Connector

SharePoint 2013 Web Service Access

SOAP CSOM ODATA

Lists and Libraries

Site and List Settings

Site Security

Workflow

Search

Managed Metadata

User Profiles

Publishing

Deprecated

SharePoint 2010 Web Service Clients

SOAP CSOM ODATA

JavaScript

Silverlight

.NET

Windows Phone

Other Languages

InfoPath Receive

InfoPath Submit

BCS WCF Connector

Deprecated

spservices.codeplex.com

Programming with SPServices

Create a Parameters Array

Anon Function forComplete

Invoke Library with Parameters

Qué es el CSOM?

SharePoint

Client API

Propietaria

de

Microsoft

.NET

Silverlight

WP7

ECMAScript

Similar a

Server-side

Object

Model

Formato de

Mensaje

Propietario

CSOM Architecture

CSOM Consideraciones

• Eficiente para operaciones Batch

• Familiar para SharePoint

Developers

• Soporta Queries LINQ

• Trabaja con Anómimo

• Menos eficiente para operaciones

simples

• Desconocido para Web

Developers

• Nro limitado de Client Runtimes

• Propietario de Microsoft

Context and Authentication (.NET)

Default isWindows

Authentication

CSOM (ECMAScript) o JSOM

Create a Context

Load the Context

Execute Async Query

Access Properties

CSOM (.NET)

Create a Context

Load the Context

Execute Query

Access Properties

Client Library Assemblies

.NET assemblies en

/15/ISAPI

Qué es REST?

Representational

State Transfer

Web

Addressable

Resources /

Hyperlink-able

Maps CRUD

operations with

HTTP Verbs

Commonly uses

JSON for Data

Messages

REST Considerations

• Efficient for Batch Operations

• Familiar for SharePoint Developers

• Supports LINQ Queries

• Works with Anonymous

• Less Efficient for Simple Operations

• Unfamiliar to Web Developers

• Limited # of Client Runtimes

• Microsoft Proprietary

ODATA Operations and Parameters

GET (Retrieve)

POST (Create)

PUT (Update All Fields)

DELETE (Delete)

MERGE (Update Specific)

$filter={simple predicate}

$expand={Entity}

$order by={property}

$skip={n}

$top={n}

$metadata

Operations Parameters

List Data Service (ECMA Script)

REST API

Area Access point

Site http://server/site/_api/site

Web http://server/site/_api/web

User Profile http:// server/site/_api/SP.UserProfiles.PeopleManager

Search http:// server/site/_api/search

Publishing http:// server/site/_api/publishing

• .NET CSOM• Silverlight CSOM• JavaScript CSOM• REST CSOM

REST vía HTTP

• Operaciones GET, PUT y POST sobre HTTP

• Operaciones de creación, lectura, modificación y borrado

• Acceso a servicios de SharePoint vía REST

– http:// server/site/_api/search

• Invocación de métodos a través de la URL

– _api/web/lists/getbytitle(‘Nombre de la Lista')

Novedades en los servicios REST

• Más fácil que usar los servicios web basados en SOAP

• Las resultados de las llamadas se pueden armar en JSON y

ATOM– Se mejora la productividad al usar JavaScript y/o Jquery.

– Creación de URL sencillas y naturales para los usuarios usando _api

• http://[servidor]/_vti_bin/client.svc/web se puede remplazar por

• http://[servidor]/_api/web

Mas información

Choose the Right API set with SharePoint 2013http://msdn.microsoft.com/en-us/library/jj164060.aspx

Complete Basic Operations with the SharePoint 2013 Client Libraryhttp://msdn.microsoft.com/en-us/library/fp179912.aspx

Programming using the SharePoint 2013 REST Servicehttp://msdn.microsoft.com/en-us/library/fp142385.aspx

SharePoint 2010 Web Serviceshttp://msdn.microsoft.com/en-us/library/ee705814(v=office.14).aspx

Accessing SharePoint 2010 Lists by Using WCF Data Serviceshttp://msdn.microsoft.com/en-us/library/hh134614(v=office.14).aspx

App Model

• Apps no “viven” mas en Sharepoint

• El código ejecuta en el Cliente, en la Nube o On-Premise

• Apps dan permisos a Sharepoint vía Oauth

• Apps, se comunican con Sharepoint via REST / CSOM

• Las Apps se adquieren en un Marketplace

– Corporativo

– Publico

– API para despliegue manual

– No es un reemplazo de las Soluciones, es una opción más

La elección de que API utilizar se basa en

los siguientes factores:

•El tipo de aplicación a desarrollar

•Conocimientos de cada API

•El dispositivo en el que correrá la

aplicación

¿Cuál es mejor?

NINGUNO DE ELLOS!

JAVASCRIPT FIRST

REST FIRST

JSOM FIRST

¿Que define un “buen

programador SharePoint”?

La capacidad

de decidir que

Tier utilizar

para cada

momento.

Conocer

cuales son las

limitaciones de

SharePoint.

Saber reconocer

que se puede

utilizar out of

the box y que

debe ser

desarrollado.

3 Cosas que van a aprender los

desarrolladores Sharepoint

1. Javascript

2. Javascript

3. Javascript

Menor Curva de

Aprendizaje

Recomendaciones

+

Referencias

• SharePoint Development Technology Decision Chart

– http://www.fiechter.eu/blog/Lists/Posts/Post.aspx?ID=39&mobile=0

• SharePoint 2013: What to Do? Farm Solution vs Sandbox vs

App

– http://social.technet.microsoft.com/wiki/contents/articles/13373.sha

repoint-2013-what-to-do-farm-solution-vs-sandbox-vs-app.aspx

• Modelo de Apps en Detalle

– http://spblogedin.blogspot.com.ar/search/label/apps#.VBneqPl5Mi

4

Resumen3 T

iers

o E

stra

teg

ias

Diferentes

estrategiasV

S –

Desi

gner

-JS

Herramientas

de cada

estrategia Fact

ore

s d

eci

sivo

s

SharePoint

APIs

Preguntas ?

Muchas Gracias !!

Guillermo Javier HiromaAnalista Programador SharePoint

[email protected]

Daniel LacoDirector [email protected]

TE +54 11 4623-2582 (rot.) email [email protected] web http://www.vemn.com.ar