IT Camps Apps Office 365 Valencia 2014

494 views

Published on

Slides del IT camps de la Comunidad de Office 365 sobe el desarrollo de Apps para la Office Store, sus ventajas e inconvenites sobre la versión on premise. Los tipos de Apps que existen y como podemos sacarle partid

Published in: Software
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
494
On SlideShare
0
From Embeds
0
Number of Embeds
15
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

IT Camps Apps Office 365 Valencia 2014

  1. 1. ServerVirtualization http://geeks.ms/blogs/adiazmartin adiaz@comunidadoffice365.com adiazcan@hotmail.com AlbertoDíaz
  2. 2. ServerVirtualization http://geeks.ms/blogs/jcgonzalez jc.gonzalez@lks.es jcgonzalezmartin1978@hotmail.com J.C.Gonzalez
  3. 3. ServerVirtualization http://blogs.encamina.com/desarrollandosobresharepoint http://geeks.ms/blogs/adiazcervera adiaz.cervera@comunidadoffice365.com addiacer@gmail.com AdriánDíaz
  4. 4. ServerVirtualization http://geeks.ms/blogs/santypr/ santypr@gmail.com SantiagoPorras
  5. 5. Introducción al Modelo de Aplicaciones
  6. 6. Sites Sitio s Temas Personas Apps
  7. 7. Utilizan OAuth para autenticación
  8. 8. Están enfocadas a solucionar un problema puntual
  9. 9. También es posible crear Sistemas “híbridos”... Alojado por Proveedor Alojado por SharePoint Any SP
  10. 10. http://tenant-AppId.dominio.com/NombreApp/...?Parametros
  11. 11. Configuración del DNS Configuración en SharePoint Creación del Catalogo de Aplicaciones
  12. 12. Sitio de Desarrollador Configuración de Aplicaciones Monitoreo de Aplicaciones (solo en SharePoint Server)
  13. 13. Aplicaciones residen en una Lista en el Sitio de Catalogo de Apps Usuarios pueden solicitar Aplicaciones
  14. 14. Atención: Use diferentes usuarios en Sistema de Desarrollo • Plantilla en Visual Studio 2012/2013 • Paquete de instalación “.app” (.zip con .wsp dentro) • “Sitio de Desarrollador” para testeo • Modelo de Objetos de Cliente y REST (+ OData + Oauth) • Inversión en el futuro: JavaScript, JQuery, JSON, OData, OAuth
  15. 15. • Unificación de conceptos: todo es Apps en SharePoint (incluyendo Listas, Bibliotecas, Tipos de Contenido, etc.) • Cualquier desarrollador que pueda usar JScript se convierte en un desarrollador de SharePoint • Código no es desplegado al lado de los servidores (ventaja?... Mas que una ventaja, una obligación debido a 365) • Aislamiento (ventaja?)
  16. 16. • CSOM y REST usan un sub-set del API de SharePoint • Herramientas de desarrollo de JScript y REST todavía no suficientemente maduras (TypeScript?) • Apps no se pueden instanciar en una plantilla • Apps no se pueden comunicar entre ellas (“Conectadas”) • Código JScript ejecuta en cliente  disponible localmente  Ofuscación • Problemas con Backups/Restore • Apps tienen que ser instaladas en el Catalogo por un administrador (no como Site Coll Admin para SandBox) • Apps no ejecutan en un SandBox... • Apps en el MS Almacén son controladas, pero que tan bien? • Migración? • Soporte futuro? (Sandbox fatalidad...)
  17. 17. BIPOS 365 V1 2013 20xx 365 V2 365 Vxx SSOM (Local) Server Side Object Model CSOM (Nube) Client Side Object Model
  18. 18. Visual Studio 2012/2013, que es nuevo, que es diferente
  19. 19. Plantilla Aplicación para SharePoint 2013
  20. 20. Manejo
  21. 21. Lenguaje Dinámico
  22. 22. Mismos Servicios Versión OnPremise
  23. 23. WYSIWYG
  24. 24. Colección de Sitios, Webs, Listas, Elementos de Lista, Vistas, Schemas de listas, Campos y Carpetas A que puedo Acceder con CSOM Web Parts, Seguridad, Tipos de Contenidos, Plantillas de Sitios Perfiles de usuario, Suministro de Noticias, Búsqueda, Taxonomía, Publicación Flujos de Trabajo, E-Discovery, IRM, BCS Llamadas de domino cruzado
  25. 25. Context.Web.Lists CSOM Context.Web.Lists[guid] Web.Lists.GetByTitle ("Title") Context.Web.Lists[guid].Fields Context.web.SiteUsers /_api/web/lists REST /_api/web/lists(‘guid’) /_api/web/lists/getbytitle(‘Title’) /_api/web/lists/getbytitle(‘Title’)/Field /_api/web/siteusers
  26. 26. 2007 El código de la GAC se ejecuta en el mismo proceso (w3wp.ex) que la Aplicación Web 2010 El código se ejecuta en un proceso especial (SPUCWorkerProcess.exe) o bien llama a client.svc (CSOM) 2013 El código se ejecuta fuera de SharePoint y aprovecha las capacidades expuestas en _api
  27. 27. App Web (de WSP) Sitio Padre SharePoint-hosted App Provisiona un subsitio aislado bajo un sitio padre Reutiliza elementos web (lists, files, out-of-box web parts) • No se permite código en el lado del servidor; usar JavaScript Autohosted App (Azure) Windows Azure + SQL Azure provisionadas de forma “invisible” mientras la app se instala Azure (desde WebDeploy , DacPac) Sitio SharePoint  Suscribirse a eventos remotos de SP  Usar CSOM/REST + OAuth para operar con SharePoint Cloud-based Apps Provider-Hosted App “Necesitas su propia infraestructura de hosting” Los desarrolladores tienen que aislar los tenants Sitio SharePoint Su Sitio de Hosting
  28. 28. SharePoint Hosted Cloud Hosted App Scope SharePoint Site Site o Tenancy Arquitectura Web Site Multi-Tenant App Skillset Desarrollador SharePoint + HTML/JS Cualquiera Tecnologias de UI SharePoint + HTML/JS Cualquiera (Web) Codigo de Servidor No Cualquiera Storage Listas y Libreriarias de Doc Cualquiera Limitaciones No Server Code Experiencia de hosting Requerida
  29. 29. • Son clases, definidas en servicios de Windows Communication Foundation (WCF) • Permiten a las Aplicaciones responder a eventos que tienen lugar en elementos de SharePoint (Listas, Elementos de Listas) • Aplicaciones (en equipos remotos) pueden responder a eventos en la granja de SharePoint localmente • También responden a eventos en listas especiales (Listas Externas) • Manejadores de Eventos Remotos permiten detectar: • La adición o borrado de un campo de una Lista • La adición o borrado de un elemento de Lista o de un adjunto de un elemento de Lista • Agregar o eliminar un sitio en una colección de sitios
  30. 30. • Use la Plantilla de Aplicaciones de SharePoint en Visual Studio 2012 • Cree la(s) Lista(s) necesarias • Agregue un elemento de tipo "Receptor de eventos remotos“ • Configure el Evento a capturar • VS añade carpeta "Services“ al proyecto Web con: • Un servicio WCF que implementa la lógica del Manejador de Eventos • Modulo para código del servicio del proyecto Web public class CategoriasRER : IRemoteEventService { public SPRemoteEventResult ProcessEvent(RemoteEventProperties properties) { SPRemoteEventResult result = new SPRemoteEventResult(); //Código para eventos síncronos return result; } public void ProcessOneWayEvent(RemoteEventProperties properties) { //Código para eventos asíncronos } }
  31. 31. • SharePoint 2013 dispone de dos tipos de Flujos de Trabajo: 2010 y 2013 • Apps solo pueden utilizar Flujos de Trabajo de SharePoint 2013 • Flujos son “declarativos” • Flujos de Trabajo para Aplicaciones se pueden crear con: • SharePoint Designer 2013 • Visual Studio 2012
  32. 32. • Use la Plantilla de Aplicaciones de SharePoint en Visual Studio 2012 • Cree la(s) Lista(s) necesarias • Agregue un elemento de tipo “Flujo de trabajo“ • Configure el flujo usando el diseñador grafico
  33. 33. • Usa el “Servicio de Conectividad a Datos Empresariales” (BCS, Business Connectivity • Services) de SharePoint • Permite integrar datos disponibles en sistemas externos de información • Da acceso a datos externos desde una Aplicación
  34. 34. • El sistema externo expone los datos de negocio • Orígenes de datos de servicios soportados: OData, servicios WCF y BBDD SQL Server • La Biblioteca de documentos ("BusinessDataMetadataCatalog“) almacena los modelos de metadatos del BDC • El "Runtime" de BDC: • Usa un modelo de metadatos y representar los datos del sistema externo en una Lista externa • La Lista externa que proporciona acceso a la información
  35. 35. • Use la Plantilla de Aplicaciones de SharePoint en Visual Studio 2012 • Agregue un elemento de tipo “Tipos de contenido para un origen de datos externo“ • Visual Studio agrega: • El archivo ".bdcm" que contiene la definición del modelo de metadatos de BDC • Un elemento del tipo "External Content Types“ • Una Lista Externa
  36. 36. • Motor de Búsqueda totalmente modificado en SharePoint 2013 • Búsquedas funcionan de forma normal en Apps: • Información dentro de la App es indexada • Security-trimming • Resultados de información en la App visibles en la granja • Motor de Búsqueda funciona cada vez mas como un “agregador” • WebPart “Búsqueda de Contenido” no esta disponible en O365 • CSOM y REST disponibles para dar resultados de búsquedas
  37. 37. • Usando CSOM y JavaScript: • Usando REST var keywordQuery = new Microsoft.SharePoint.Client.Search.Query.KeywordQuery(context); keywordQuery.set_queryText(“SharePoint”); var searchExecutor = new Microsoft.SharePoint.Client.Search.Query.SearchExecutor(context); results = searchExecutor.executeQuery(keywordQuery); context.executeQueryAsync(onQuerySuccess, onQueryFail) http://server/_api/search/query?query_parameter=value&query_parameter=‘SharePoin t’ http://server/_api/search/query?querytext='sharepoint'&sourceid='8413cd39-2156- 4e00-b54d-11efd9abdb89‘ http://server/_api/search/query?querytext='sharepoint'&rankingmodelid​=CustomRank ingModelID http://server/_api/search/query?querytext='sharepoint'&selectproperties='Title,Autho r‘ http://server/_api/search/query?querytext='sharepoint'&culture=1044 http://server/_api/search/query?querytext='sharepoint'&refinementfilters='fileExtensi on:equals("docx")‘ http://server/_api/search/query?querytext='sharepoint'&trimduplicates=false
  38. 38. • El Almacén de Office es la tienda de referencia empresarial de Office y SharePoint • El Almacén se encargada de validar y certificar las Aplicaciones a publicar en el Panel del Vendedor • El Panel del Vendedor permite publicar y administrar las Aplicaciones de SharePoint y Office • Para publicar una Aplicación se necesita: • Cuenta para el Panel de Vendedor • Información sobre la Aplicación (nombre, descripción, etc.) • Microsoft valida y aprueba la Aplicación • Varios modelos para monetización: gratis, con publicidad, de venta • SDK de SharePoint ofrece un Framework para validar licencias (uso debe ser programado)

×