Aplicaciones Autohosted deSharePoint: combinando Azure y         Colaboración    Juan Carlos González         Gustavo Vele...
Workshops & sesiones organizadas entracks paralelos: IT PRO, Negocio (BIZ) yDesarrollo(DEV) + Información:  www.iberiansh...
Madrid, Barcelona y Valencia      26 y 27 de abril                + Información en                www.suges.es
Agenda Introducción Arquitectura Programación Tipos de aplicaciones
Evolución del desarrollo en                 SharePoint       2007                        2010                            2...
Repaso a Tipos de Hosting                          Provider-Hosted App                          “Necesitas tu propia infra...
Capacidades disponiblesCaracterísticas                   Service Level                 Modo de pago• Hosting IIS Compartid...
Aplicaciones SharePoint-                  Hosted vs Cloud-Hosted                         SharePoint Hosted      Cloud Host...
Repaso a Windows Azure:IaaS + PaaS + SaaS
Repaso a Windows Azure:Flexibilidad
Repaso a Windows Azure:Servicios  http://www.windowsazure.com/en-     us/documentation/?fb=es-es
Creación deAplicaciones conVisual Studio 2012
Explicación de la demo (Debugging)  Servidor Desarrollo                                          Azure                    ...
Explicación de la demo (Publicación)  Servidor Desarrollo                                        Azure                    ...
3rd Party Services               Web Server Host      Server APIsArquitectura                                             ...
Arquitectura Los componentes externos de la aplicación:    Se instalan de forma automática cuando la App se     instala:...
Arquitectura Los tenants de SharePoint Online tiene asociado:    Windows Azure Web Sites    Una cuenta oculta de SQL Az...
Ciclo de Vida de una AppTenant ATenant B
Proceso de desarrollo ydespliegue               1. El desarrollador crea un paquete                  de aplicación de Shar...
Ejecución de una aplicación(perspectiva usuario)                1. El usuario hace clic en la App (AP);                   ...
Opciones deAlmacenamiento Listas de SharePoint:     Requieren el uso de CAML para interactuar     Se puede necesitar un...
Permisos de aplicaciones
Permisos de aplicaciones Se configuran en el manifiesto de la aplicación     Los desarrolladores pueden especificar los ...
Modelo de uso ylicenciamiento Cuenta de Azure propiedad de Microsoft:     Todas las aplicaciones Autohosted se provision...
Tecnologías Código .NET en todo caso Para qué las aplicaciones interactúen con SharePoint  (acceso a datos, crear listas...
Herramientas Visual Studio 2012 (Con las tools instaladas) Visual Studio LightSwitch Microsoft Access 2013 …y NAPA (de...
Proceso de desarrollo típico Crear proyecto(s) de Windows Azure:     Sitios Web de Windows Azure     Aplicaciones Web A...
Chrome Control, dar estilo auna Aplicación Permite utilizar el estilo del sitio host en la aplicación:     Una librería ...
Chrome Control, dar estilo auna Aplicación
Creación deAplicaciones conLightSwitch 2012
Explicación de la demo (Debugging)  Servidor Desarrollo                                          Azure                    ...
Explicación de la demo (Publicación)  Servidor Desarrollo                                          Azure                  ...
Crear una App Autohosted           implica   SharePoint Package                      Web App & Database• Use Visual Studio...
Despliegue de una             aplicación Autohosted                                            Web App & SharePoint Packag...
Despliegue y depuración Para testear, en la medida de lo posible, se  recomienda desplegar el proyecto de Windows Azure  ...
Depuración Mediante Windows Azure Service Bus y configurarlo en  las propiedades del proyecto de la aplicación
Experiecias disponibles Página completa (Inmersivas):    Planificación/Programación de eventos Elementos de aplicación ...
Otros IDE/Depuración de    Apps
Referencias Creación de aplicaciones Autohosted:    http://msdn.microsoft.com/en-us/library/fp179885.aspx Ejemplo de ap...
Descuentos Campus MVP10% de descuentoen todos nuestros cursos y libros hasta el 31 dediciembreIntroduce el cupón PECIIN12S...
Prueba SharePoint a tope CloudShare:    http://www.cloudshare.com/    Disponen de varias plantillas de SharePoint 2013 ...
Nos vemos en los foros Foro de desarrollo:     http://social.msdn.microsoft.com/Forums/es-es/mossdeves/threads Foro de ...
GRACIAS POR SU ATENCIÓN
Aplicaciones Autohosted de SharePoint: combinando Azure y Colaboración
Aplicaciones Autohosted de SharePoint: combinando Azure y Colaboración
Aplicaciones Autohosted de SharePoint: combinando Azure y Colaboración
Aplicaciones Autohosted de SharePoint: combinando Azure y Colaboración
Aplicaciones Autohosted de SharePoint: combinando Azure y Colaboración
Upcoming SlideShare
Loading in …5
×

Aplicaciones Autohosted de SharePoint: combinando Azure y Colaboración

947 views

Published on

Presentación del WebCast Aplicaciones Autohosted de SharePoint: combinando Azure y Colaboración

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Aplicaciones Autohosted de SharePoint: combinando Azure y Colaboración

  1. 1. Aplicaciones Autohosted deSharePoint: combinando Azure y Colaboración Juan Carlos González Gustavo Velez MVP SharePoint Server MVP SharePoint Server http://geeks.ms/blogs/ciin http://www.gavd.net jgonzalez@gruposodercan.es gustavo@gavd.net @jcgm1978
  2. 2. Workshops & sesiones organizadas entracks paralelos: IT PRO, Negocio (BIZ) yDesarrollo(DEV) + Información:  www.iberiansharepointconference Madrid, 10th October .com 2013  @IberianSPConf  suges@Hotmail.es
  3. 3. Madrid, Barcelona y Valencia 26 y 27 de abril + Información en www.suges.es
  4. 4. Agenda Introducción Arquitectura Programación Tipos de aplicaciones
  5. 5. Evolución del desarrollo en SharePoint 2007 2010 2013 El código de la GAC se El código se ejecuta en un El código se ejecuta fuera de ejecuta en el mismo proceso especial SharePoint y aprovecha lasproceso (w3wp.ex) que la (SPUCWorkerProcess.exe) capacidades expuestas en _api Aplicación Web o bien llama a client.svc (CSOM)
  6. 6. Repaso a Tipos de Hosting Provider-Hosted App “Necesitas tu propia infraestructura de Sitio Tú Sitio de hosting” SharePoint Los desarrolladores tienen que aislar Hosting los tenantsCloud-based Apps Suscribirse a eventos Autohosted App (SPO) Azure remotos de SP Windows Azure + SQL Azure Sitio (desde Usar CSOM/REST + provisionadas de forma “invisible” OAuth para operar SharePoint WebDeploy mientras la app se instala con SharePoint , DacPac) SharePoint-hosted App Sitio Provisiona un subsitio aislado bajo un Padre sitio padre Reutiliza elementos web (lists, files, out-of-box web parts) App Web • No se permite código en el lado del servidor; usar JavaScript (de WSP)
  7. 7. Capacidades disponiblesCaracterísticas Service Level Modo de pago• Hosting IIS Compartido Agreement (SLA) • En estudio• BDs Azure SQL • Almacenamiento• Ciclo de vida de ¡Windows Azure Rules ! redundante aplicaciones transaccional • Recuperación de Desastres• Escalabilidad • Soporte a cliente compartido para problemas de Aplicaciones
  8. 8. Aplicaciones SharePoint- Hosted vs Cloud-Hosted SharePoint Hosted Cloud HostedApp Scope SharePoint Site Site or TenancyArchitecture Web Site Multi-Tenant AppDeveloper Skillset SharePoint + HTML/JS Full StackUI Technologies SharePoint + HTML/JS Any Web StackServer Code None AnyStorage Lists and Doc Libs AnyKey Limitations No Server Code Hosting Expertise Required
  9. 9. Repaso a Windows Azure:IaaS + PaaS + SaaS
  10. 10. Repaso a Windows Azure:Flexibilidad
  11. 11. Repaso a Windows Azure:Servicios http://www.windowsazure.com/en- us/documentation/?fb=es-es
  12. 12. Creación deAplicaciones conVisual Studio 2012
  13. 13. Explicación de la demo (Debugging) Servidor Desarrollo Azure Otros Webs SQL Office 365 Solución: Otros - Proyecto de SharePoint Share - Proyecto Web aspx Point Word Excel
  14. 14. Explicación de la demo (Publicación) Servidor Desarrollo Azure Otros Webs SQL Office 365 Proyecto de SharePoint Otros Share + Proyecto Web aspx Point = archivo .app Word Excel
  15. 15. 3rd Party Services Web Server Host Server APIsArquitectura SharePoint
  16. 16. Arquitectura Los componentes externos de la aplicación:  Se instalan de forma automática cuando la App se instala:  No es necesario crear lógica de instalación  Se despliegan en Azure: Azure Web Sites & SQL Azure Cada instancia de la App está aislada de otras instancias A nivel de tecnologías:  Sitios web y aplicaciones web ASP.NET  Componente de BD: sólo SQL Azure
  17. 17. Arquitectura Los tenants de SharePoint Online tiene asociado:  Windows Azure Web Sites  Una cuenta oculta de SQL Azure No es necesario registrar la aplicación con un STS (Secure Store Server) qué cumpla OAuth:  Lo hace automáticamente SharePoint Online por el desarrollador  Se utiliza ACS
  18. 18. Ciclo de Vida de una AppTenant ATenant B
  19. 19. Proceso de desarrollo ydespliegue 1. El desarrollador crea un paquete de aplicación de SharePoint (*.APP) 2. Se despliega la aplicación a SharePoint Online: – (vía Marketplace) – (vía Catálogo de Aplicaciones) 3. SharePoint Online instala la aplicación 4. SharePoint provisiona componentes de Windows Azure 5. SharePoint provisiona las BD de SQL Azure, ejecuta los scripts para crear los esquemas y los datos de partida necesarios
  20. 20. Ejecución de una aplicación(perspectiva usuario) 1. El usuario hace clic en la App (AP); SharePoint carga la página de la aplicación (B) 2. El área de contenidos (B) carga la página de Windows Azure 3. La aplicación en Azure ejecuta la aplicación web 4. La aplicación de Azure puede interactuar con SharePoint a través del CSOM o bien la API REST 5. La aplicación de Azure puede utilizar BDs SQL Azure 6. La aplicación de Azure puede interactuar con servicios externis u otros recursos disponibles en la red (C) 7. La aplicación de Azure puede interactuar con el sitio que hospeda la aplicación
  21. 21. Opciones deAlmacenamiento Listas de SharePoint:  Requieren el uso de CAML para interactuar  Se puede necesitar un sitio (SPWeb) para la App SQL Azure:  Empaquetar junto con la App el paquete SQL (.dacpac) o bien referenciar un proyecto de BD  Los componentes de SQL Azure se provisionan de forma transparente (e invisible) cuando la aplicación se instala  La conexión a la BD se realiza a través de APIS especificas (clase SqlConnection) Otras: ¡Cuidado con la latencia!
  22. 22. Permisos de aplicaciones
  23. 23. Permisos de aplicaciones Se configuran en el manifiesto de la aplicación  Los desarrolladores pueden especificar los permisos que la aplicación necesita para ejecutarse Son solicitados durante la instalación de la aplicación:  Conceder permisos es una operación de “todo” o “nada”: No es posible elegir que permisos conceder para una petición El usuario que ejecuta la aplicación es quien los concede:  Sólo se pueden conceder aquellos permisos que se tienen ACS (Azure Access Control Service) juega el rol de servidor de autorización:  Almacena la información básica sobre la App y proporciona tokens de acceso a las aplicaciones para llamar a las APIs de SharePoint
  24. 24. Modelo de uso ylicenciamiento Cuenta de Azure propiedad de Microsoft:  Todas las aplicaciones Autohosted se provisionan en una cuenta propiedad de Microsoft a la qué solo Microsoft tiene acceso (de momento) El licenciamiento es a través del Tenant de Office 365:  Se supone que los costes de hosting en Azure serán pasados a través del Tenant de Office 365, el desarrollador no tiene que pagar nada Catálogo de aplicaciones:  Para personalizaciones específicas a una organización Office Store:  Aplicaciones Autohosted no soportadas por el momento
  25. 25. Tecnologías Código .NET en todo caso Para qué las aplicaciones interactúen con SharePoint (acceso a datos, crear listas, editar permisos, etc):  CSOM + API REST Para establecer que qué puede hacer la aplicación:  Conceder los permisos adecuados  Uso del modelo de autorización de OAuth
  26. 26. Herramientas Visual Studio 2012 (Con las tools instaladas) Visual Studio LightSwitch Microsoft Access 2013 …y NAPA (de momento para SharePoint-Hosted)
  27. 27. Proceso de desarrollo típico Crear proyecto(s) de Windows Azure:  Sitios Web de Windows Azure  Aplicaciones Web ASP.NET MVC Craer BDs de SQL Azure Crear una aplicación de SharePoint usando la plantilla de Visual Studio Actualizar el manifiesto de la aplicación:  Metadatos  Página principal
  28. 28. Chrome Control, dar estilo auna Aplicación Permite utilizar el estilo del sitio host en la aplicación:  Una librería JavaScript en la App devuelve la hoja de estilos de SharePoint para aplicaciones  El handler http://<sharepointsite>/_layouts/15/defaultcss.ashx es quien devuelve esa hoja de estilos:  La hoja de estilos es corev15app.css La hoja de estilos se aplica a las páginas de la aplicación También permite añadir nodos de navegación personalizados:  Enlaces a otras páginas  Enlaces a archivos de ayuda
  29. 29. Chrome Control, dar estilo auna Aplicación
  30. 30. Creación deAplicaciones conLightSwitch 2012
  31. 31. Explicación de la demo (Debugging) Servidor Desarrollo Azure Otros Webs SQL Office 365 Solución: Otros - Proyecto de SharePoint Share - Proyecto Web JS Point Word - Proyecto Base de Datos Excel
  32. 32. Explicación de la demo (Publicación) Servidor Desarrollo Azure Otros Webs SQL Office 365 Proyecto de SharePoint Otros Share + Proyecto Web JS Point + Proyecto Base de Datos Word = archivo .app Excel
  33. 33. Crear una App Autohosted implica SharePoint Package Web App & Database• Use Visual Studio SharePoint App • Add Web app to solution: Project • Azure Web site support• Focus on app entry points: • Add SQL Azure database: • Custom Actions • *.DACPAC required to create the • Client Web Parts SQL Azure DB• Carefully consider AppWeb context: • Provide data script to seed data • No app webs for tenant scoped apps • Debug locally• Debug/test locally or on developer site
  34. 34. Despliegue de una aplicación Autohosted Web App & SharePoint Package Database• OAuth config & SQL Azure • Packaged in SharePoint package connection string auto-generated • Auto-provisioned & deployed to• Use ~remoteAppUrl token for Windows Azure references to web app URL• Publish app package to: • Marketplace • Corporate Catalog
  35. 35. Despliegue y depuración Para testear, en la medida de lo posible, se recomienda desplegar el proyecto de Windows Azure directamente:  Permite la depuración directa de proyectos web  Si se interactúa con SharePoint, esta opción no es viable Cuando se ha acabado de depurar, empaquetar la aplicación completa y desplegar a SharePoint Online:  SharePoint Online se encarga de provisionar todos los componentes cuando se instala la aplicación
  36. 36. Depuración Mediante Windows Azure Service Bus y configurarlo en las propiedades del proyecto de la aplicación
  37. 37. Experiecias disponibles Página completa (Inmersivas):  Planificación/Programación de eventos Elementos de aplicación (App Parts):  Widget: Información del tiempo, de la bolsa, … Acciones personalizadas  Navegaciones, acciones a nivel de elemento, …
  38. 38. Otros IDE/Depuración de Apps
  39. 39. Referencias Creación de aplicaciones Autohosted:  http://msdn.microsoft.com/en-us/library/fp179885.aspx Ejemplo de aplicación Autohosted:  http://msdn.microsoft.com/en-us/library/fp179902.aspx Uso del Chrome Control:  http://geeks.ms/blogs/santypr/archive/2013/02/08/chrome-de-sharepoint- en-una-sharepoint-app.aspx  http://msdn.microsoft.com/en-us/library/fp179916.aspx  http://msdn.microsoft.com/en-us/library/jj220046.aspx#UXGuide_Styling Depuración de aplicaciones Autohosted:  http://geeks.ms/blogs/ciin/archive/2013/04/16/sharepoint-2013-como- depurar-una-aplicaci-243-n-de-tipo-autohosted.aspx
  40. 40. Descuentos Campus MVP10% de descuentoen todos nuestros cursos y libros hasta el 31 dediciembreIntroduce el cupón PECIIN12SN al realizar tucompraen nuestra tienda online.
  41. 41. Prueba SharePoint a tope CloudShare:  http://www.cloudshare.com/  Disponen de varias plantillas de SharePoint 2013 listas para probar 
  42. 42. Nos vemos en los foros Foro de desarrollo:  http://social.msdn.microsoft.com/Forums/es-es/mossdeves/threads Foro de IT  http://social.technet.microsoft.com/Forums/es-ES/mosses/threads Foro de Office 365:  http://community.office365.com/es-es/default.aspx
  43. 43. GRACIAS POR SU ATENCIÓN

×