1 Séptimo Simposio LatinoamericanoPlatino Oro Patrocinadores Plata
2 ¡Desarrollo para SharePoint 2013: si lo controla, no es una pesadilla!Gustavo Vélez, Juan Carlos González & Fabián Imaz MVPs de SharePoint Server
3 Agenda de Sesiones Tres conferencias relacionadas:“Desarrollo para SharePoint 2013: si lo controla, no es una pesadilla” – Juan Carlos Gonzalez, Fabián Imaz, Gustavo Velez (esta presentación) “Es posible extender a SharePoint 2013?: probablemente en más de una forma” – Fabián Imaz, Juan Carlos Gonzalez “Son las Apps de SharePoint 2013 el remedio para todos los males?” – Gustavo Velez
4 Agenda Preparación: ¿Qué necesito para desarrollar?Antes de comenzar, comience correctamente (Gustavo Velez) Ciclo de vida, equipos, planeación Desarrollo: Posibilidades en SharePoint 2013 Si va a desarrollar, identifique primero como hacerlo (Juan Carlos Gonzalez) Modelos de Objetos, herramientas Finalización: ¿Cómo acaba todo? Acabó de desarrollar? Ahora comienza el proyecto... (Fabián Imaz) Testeo, Despliegue, Monitorización, Solución de problemas
5 ¿Qué necesito para desarrollar?Preparación ¿Qué necesito para desarrollar? Gustavo Vélez
6 Preparación El ciclo de vida de un proyecto:
7 Preparación Team Foundation Server (TFS): Source Code Control WorkVersionamiento Archivo Chequeo reglas SharePoint Portal Comp. nocturna Tareas Bugs Requerimientos Tests Work Items Build Autom Source Code Control Project Portal
8 Soluciones de SharePointPreparación Hardware: Desarrollo Virtual (Local) Windows SQL SharePoint Visual Studio Office Herramientas Topologia: Diferente Contenido: Pruebas Virtual (Farm) No Visual Studio No Office Similar Contenido Integración Windows (==) SQL (==) SharePoint (==) No Herramientas Igual Aceptación Farm (vir./hard.) Windows (==) SQL (==) SharePoint (==) No Visual Studio No Office No Herramientas Topologia: Exacta Contenido: Muy similiar Producción Windows SQL (Cluster) SharePoint Soluciones de SharePoint Contenido (DBs) TFS
9 Posibilidades en SharePoint 2013Desarrollo Posibilidades en SharePoint 2013 Juan Carlos González
10 Modelo de objetos en servidor- Farm (SPFarm) - Web Application (SPWebApplication) - Site Collection (SPSite) - Site (SPWeb) - List (SPList) - Item (SPListItem) - Document Library (SPDocumentLibrary) - File (SPFile) - Folder (SPFolder) El disposado de objetos SPSite / SPWeb es importante
11 Modelo de objetos en servidor¿Dónde lo puedo usar? En muchos elementos conocidos : Aplicaciones de consola, para hacer pruebas WebParts Páginas de aplicación Controles (delegados o no) Tipos de campo Manejadores de eventos / Manejadores de características Flujos de Trabajo Timer Jobs …
12 Modelo de Objetos en ClienteArquitectura:
13 Modelo de Objetos en ClienteProporciona un mecanismo de trabajo remoto con Sitios y servicios de SharePoint 2013: El acceso es vía API (_api) No hay necesidad de recurrir a los servicios web que expone la plataforma (se consideran deprecados) No tengo que implementar mis servicios web personalizados Es una capa de abstracción que permite trabajar con objetos de SharePoint Se amplia notablemente con respecto a SharePoint 2010: Acceso a información + Acceso a servicios clave (Búsquedas, BCS, Traducciones, Metatados,
14 Modelo de Objetos en ClienteAcceso consistente a datos y servicios API REST URL Script Client Namespace Web SP Microsoft.SharePoint.Client Search SP.Search Microsoft.SharePoint.Client.Search Taxonomy SP.Taxonomy Microsoft.SharePoint.Client.Taxonomy Translation SP.Translation Microsoft.Office.TranslationServices.Client
15 ¿Qué puedo desarrollar?Servicios: Calculation, Rendering, Data Access, Migration, etc… Browser: HTTP GET Schema: Site Definitions Web Templates Feature Definitions List Definitions Content Types/Fields Document Templates …y Aplicaciones Manipulación Datos: (via Object Model) Ensamblados: Web Parts Event Receivers Policies Workflow Activities Workflow Assemblies Timer Jobs … IIS / ASP.NET Recursos ASP.NET: Site Pages Application Pages Images Style Sheets User Controls Master Pages Navigation Controls … Modelos: SharePoint – Hosted Auto-Hosted Provider Hosted Posibilidades: Artefactos clásicos: Listas, Custom Actions, … Manejadores remotos Aplicaciones Web de Servidor Cliente all work and no play makes Jack a dull boy all work and no play makes Jack a dull boy SharePoint Database /bin o GAC WebPart1.dll WebPart2.dll Site Definition & Web Templates onet.xml Default.aspx List Definition schema.xml allitems.aspx API REST & Client OM (llamando al modelo de objetos) Clientes Remotos
16 ¿Qué puedo desarrollar?Soluciones de tipo granja Elemento de extensibilidad “clásico” de SharePoint desde la versión 2007 Únicamente válidas para SharePoint OnPremise A excepción de las aplicaciones, cualquier artefacto propio de SharePoint se puede empaquetar y desplegar como solución de tipo granja Residen en el contendor global de soluciones: Si hay problemas en la solución desplegada, puede afectar a la granja Su despliegue suele ser “un tanto pesado” ya qué implica como mínimo hacer un reciclaje del pool de aplicaciones Desde el punto de vista de sistemas, pueden ser las soluciones “más problemáticas”
17 ¿Qué puedo desarrollar?Soluciones de tipo Sandbox: Válidas para SharePoint On-Premise y Online Particularización de las soluciones de tipo granja. Su ámbito de ejecución es el de Colección de Sitios (marca el tope de acceso al MO de Servidor) Son cargadas en la galería de soluciones Sólo se pueden crear algunos de los artefactos posibles: Web Parts Listas y Bibliotecas Plantillas de Listas Custom Actions Workflows (Acciones & Condiciones) Event Receivers Content Types Site Columns WebTemplates Aplicaciones Silverlight CSSs Páginas maestras … No es posible crear y desplegar elementos como: Flujos de Trabajo “Code behind” Páginas de aplicación Timer Jobs Definiciones de Sitios … y en general cualquier elemento qué implique llevar algo a los directorios \14 y \15 o qué tenga que usar clases del MO de ámbito superior a SPSite
18 ¿Qué puedo desarrollar?Aplicaciones: Nuevo modelo en SharePoint 2013, válido para On-Premises & Online Todavía menos intrusivo: Las aplicaciones residen y se ejecutan en un dominio aislado Uso de OAuth como protocolo de autorización Una aplicación pude ser “cualquier cosa”: Una Lista / Biblioteca clásica Un gadget para visualizar información de negocio Una solución empresarial más o menos compleja como un puede ser una utilidad de gestión o un CRM
19 Desarrollo OnPremise vs OnlineSoluciones Full-Trust Soluciones Sandbox Aplicaciones SharePoint-Hosted Autohosted Provider Hosted Modelo de Objetos en Servidor Modelo de Objetos en cliente + API REST
20 Finalización ¿Cómo acaba todo? Fabián Imaz
21 Finalización Teste, Testeo y más testeo:Las pruebas de software son las investigaciones empíricas y técnicas cuyo objetivo es proporcionar información objetiva e independiente sobre la calidad del producto. (Fuente: Wikipedia ) Manuales UI Negocio Registrar Analizar Corregir Testear Equipo Especializado Automáticas Carga Stress Visual Studio
22 Nuevas FuncionalidadesFinalización Despliegue: WSP DLL Aspx Nuevas Funcionalidades ¿Por qué no manual? APP Recursos Configuraciones Actualizaciones Automático
23 Finalización Monitorización: Visor de Sucesos SharePoint SCOM SpdiagContadores de Rendimiento Archivo de Log Personalizado Health Analyzer Developer Dashboard Proactivo Reactivo
24 Finalización Solución de problemas Aislar el Error BackUp ClonarAmbiente Instalar una Actualización Documentar Reproducir el Error Crear Ambiente Versionar Código Fuente Desarrollar un Parche Testear
25 Aprende de los expertosDescárgate CompartiMOSS:
26 Descuento CampusMVP 20% de descuento en todos nuestros cursos y libros hasta el 13 de Marzo Introduce el cupón PECRSA8C al realizar tu compra en nuestra tienda online.
27 Prueba SharePoint a topeCloudShare: Disponen de varias plantillas de SharePoint 2013 listas para probar
28 Para preguntas de todo tipo …Foro de desarrollo: Foro de IT Foro de Office 365: Nos pueden contactar: Gustavo Vélez: Fabián Juan Carlos
29
30 Muchas gracias Platino Oro Patrocinadores Plata