Estrategias de Desarrolloen Sharepoint
Guillermo Javier HiromaAnalista Programador SharePoint
Daniel LacoDirector [email protected]
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
¿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.
¿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.
¿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
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
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 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
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
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!
¿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
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
Muchas Gracias !!
Guillermo Javier HiromaAnalista Programador SharePoint
Daniel LacoDirector [email protected]
TE +54 11 4623-2582 (rot.) email [email protected] web http://www.vemn.com.ar