1. Estrategiasde Desarrollo
enSharepoint
Guillermo Javier Hiroma
Analista Programador SharePoint
ghiroma@vemn.com.ar
Daniel Laco
Director Ejecutivo
dlaco@vemn.com.ar
3. Agenda
3 Tierso Estrategias
Diferentes estrategias
VS –Designer-JS
Herramientas de cada estrategia
Factores decisivos
SharePoint APIs
4. Empezando por lo básico…
Web Part
Workflow
Job
EventReceiver
Listas
Fields
Search
SiteTemplates
BCS (BussinessConnectivityService)
Y mucho mas…
Componentes de SharePoint Customizables
7. Tier I
La más simple de las estrategias, la cual caracteriza a SharePoint
8. ¿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 Featuresy Servicios.
9. Tier II
El equilibrioentre los tres,
el Middle Tier.
10. ¿En qué se basa?
•La herramienta gratuitaSharePoint Designerserá nuestro principal aliadoen esta estrategia.
•La Web Partllamada “Content Editor Web Part”, la cual permite el agregado de código HTML o Javascript.
12. ¿En qué se basa? Código C#/VB ASP.NET/SilverLightJavascript/JqueryHTML/CSSCAML Query/LINQ/SQLXML/XLSTPowerShell
13. Herramientas del Tier III
•Visual Studio
•Microsoft Blend
•ULS Viewer
•SharePoint Manager
•CAML QueryBuilder
•PowerShell
•Napa
14. Conocimientosprevios 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
16. 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
SOAPWeb Services
Client Side ObjectModel (CSOM)
ODATAWeb Services
17. SharePoint 2010 Web Service Access
SOAP
CSOM
ODATA
Lists and Libraries
Site and List Settings
Site Security
Workflow
Search
Managed Metadata
User Profiles
Publishing
18. SharePoint 2010 Web Service Clients
SOAP
CSOM
ODATA
JavaScript
Silverlight
.NET
WindowsPhone
Other Languages
InfoPath Receive
InfoPath Submit
BCS WCFConnector
19. 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
20. SharePoint 2010 Web Service Clients
SOAP
CSOM
ODATA
JavaScript
Silverlight
.NET
WindowsPhone
Other Languages
InfoPath Receive
InfoPath Submit
BCS WCFConnector
Deprecated
23. Quéesel CSOM?
SharePoint Client API Propietariade Microsoft
.NET Silverlight WP7 ECMAScript
Similar a Server-side Object Model
Formatode MensajePropietario
30. QuéesREST?
Representational State Transfer
Web Addressable Resources / Hyperlink-able
Maps CRUD operations with HTTP Verbs
Commonly uses JSON for Data Messages
31. 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
32. 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
34. 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
35. 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')
36. 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
37. 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
38. App Model
•Apps no “viven” mas en Sharepoint
•El códigoejecutaen el Cliente, en la Nubeo On-Premise
•Apps danpermisosa Sharepoint víaOauth
•Apps, se comunicancon Sharepoint via REST / CSOM
•Las Apps se adquierenen un Marketplace
–Corporativo
–Publico
–API para desplieguemanual
–Noesun reemplazode lasSoluciones, esunaopciónmás
39. La elección de que API utilizar se basa en los siguientes factores:
•El tipode aplicación a desarrollar
•Conocimientosde cada API
•El dispositivoen el que correrá la aplicación
¿Cuál es mejor?
NINGUNO DE ELLOS!
42. ¿Quedefine un “buenprogramadorSharePoint”?
La capacidad de decidir que Tierutilizar para cada momento.
Conocer cuales son las limitaciones de SharePoint.
Saber reconocer que se puede utilizar outof theboxy que debe ser desarrollado.
45. 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.sharepoint-2013-what-to-do-farm-solution-vs-sandbox-vs-app.aspx
•Modelode Apps enDetalle
–http://spblogedin.blogspot.com.ar/search/label/apps#.VBneqPl5Mi4
46. Resumen
3 Tierso Estrategias
Diferentes estrategias
VS –Designer-JS
Herramientas de cada estrategia
Factores decisivos
SharePoint APIs