SlideShare una empresa de Scribd logo
1 de 48
Aplicaciones Autohosted de
SharePoint: 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
Workshops & sesiones organizadas en
tracks paralelos: IT PRO, Negocio (BIZ) y
Desarrollo(DEV)




 + Información:
  www.iberiansharepointconference   Madrid, 10th October
    .com
                                                    2013
  @IberianSPConf
  suges@Hotmail.es
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                            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 las
proceso (w3wp.ex) que la   (SPUCWorkerProcess.exe)      capacidades expuestas en _api
     Aplicación Web         o bien llama a client.svc
                                     (CSOM)
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 tenants
Cloud-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)
Capacidades disponibles


Caracterí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
Aplicaciones SharePoint-
                  Hosted vs Cloud-Hosted
                         SharePoint Hosted      Cloud Hosted
App Scope                  SharePoint Site      Site or Tenancy
Architecture                  Web Site         Multi-Tenant App
Developer Skillset      SharePoint + HTML/JS      Full Stack
UI Technologies         SharePoint + HTML/JS    Any Web Stack
Server Code                     None                 Any
Storage                   Lists and Doc Libs         Any
Key Limitations          No Server Code        Hosting Expertise
                                                  Required
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 de
Aplicaciones con
Visual Studio 2012
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
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
3rd Party Services
               Web Server Host      Server APIs
Arquitectura




                                                  SharePoint
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
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
Ciclo de Vida de una App
Tenant A




Tenant B
Proceso de desarrollo y
despliegue
               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
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
Opciones de
Almacenamiento
 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!
Permisos de aplicaciones
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
Modelo de uso y
licenciamiento
 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
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
Herramientas

 Visual Studio 2012 (Con las tools instaladas)
 Visual Studio LightSwitch
 Microsoft Access 2013
 …y NAPA (de momento para SharePoint-Hosted)
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
Chrome Control, dar estilo a
una 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
Chrome Control, dar estilo a
una Aplicación
Creación de
Aplicaciones con
LightSwitch 2012
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
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
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
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
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
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 (App Parts):
    Widget: Información del tiempo, de la bolsa, …
 Acciones personalizadas
    Navegaciones, acciones a nivel de elemento, …
Otros IDE/
Depuración de
    Apps
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
Descuentos Campus MVP



10% de descuento
en todos nuestros cursos y libros hasta el 31 de
diciembre

Introduce el cupón PECIIN12SN al realizar tu
compra
en nuestra tienda online.
Prueba SharePoint a tope
 CloudShare:
    http://www.cloudshare.com/
    Disponen de varias plantillas de SharePoint 2013 listas para probar 
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
GRACIAS POR SU ATENCIÓN

Más contenido relacionado

La actualidad más candente

Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010
Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010
Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010
Andrés Iturralde
 
SharePoint 2010 Introducción para Desarrolladores
SharePoint 2010 Introducción para DesarrolladoresSharePoint 2010 Introducción para Desarrolladores
SharePoint 2010 Introducción para Desarrolladores
Andrés Iturralde
 
Esto es todo sobre los servicios Desarrollo de Aplicaciones Personalizadas pa...
Esto es todo sobre los servicios Desarrollo de Aplicaciones Personalizadas pa...Esto es todo sobre los servicios Desarrollo de Aplicaciones Personalizadas pa...
Esto es todo sobre los servicios Desarrollo de Aplicaciones Personalizadas pa...
Andrés Iturralde
 

La actualidad más candente (20)

Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010
Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010
Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010
 
Novedades en SharePoint 2013
Novedades en SharePoint 2013Novedades en SharePoint 2013
Novedades en SharePoint 2013
 
Oracle WebCenter 11g : Novedades, Julio de 2009
Oracle WebCenter 11g : Novedades, Julio de 2009 Oracle WebCenter 11g : Novedades, Julio de 2009
Oracle WebCenter 11g : Novedades, Julio de 2009
 
Gestión documental con SharePoint 2013
Gestión documental con SharePoint 2013Gestión documental con SharePoint 2013
Gestión documental con SharePoint 2013
 
Novedades en SharePoint 2013
Novedades en SharePoint 2013Novedades en SharePoint 2013
Novedades en SharePoint 2013
 
Curso SharePoint 2013 overview
Curso SharePoint 2013 overviewCurso SharePoint 2013 overview
Curso SharePoint 2013 overview
 
SharePoint Server 2016 novedades
SharePoint Server 2016 novedadesSharePoint Server 2016 novedades
SharePoint Server 2016 novedades
 
Workflows en Moss2007
Workflows en Moss2007Workflows en Moss2007
Workflows en Moss2007
 
SharePoint 2010 Introducción para Desarrolladores
SharePoint 2010 Introducción para DesarrolladoresSharePoint 2010 Introducción para Desarrolladores
SharePoint 2010 Introducción para Desarrolladores
 
Resumen de Novedades en SharePoint 2013
Resumen de Novedades en SharePoint 2013Resumen de Novedades en SharePoint 2013
Resumen de Novedades en SharePoint 2013
 
Introducción a SharePoint Foundation 2010
Introducción a SharePoint Foundation 2010Introducción a SharePoint Foundation 2010
Introducción a SharePoint Foundation 2010
 
Sharepoint 2010 novedades y mejoras MICTT
Sharepoint 2010  novedades y mejoras MICTTSharepoint 2010  novedades y mejoras MICTT
Sharepoint 2010 novedades y mejoras MICTT
 
Introducción a SharePoint 2010
Introducción a SharePoint 2010Introducción a SharePoint 2010
Introducción a SharePoint 2010
 
DBA para SharePoint
DBA para SharePointDBA para SharePoint
DBA para SharePoint
 
Exprimiendo SharePoint 2010
Exprimiendo SharePoint 2010Exprimiendo SharePoint 2010
Exprimiendo SharePoint 2010
 
SharePoint 2016 IT Preview
SharePoint 2016 IT PreviewSharePoint 2016 IT Preview
SharePoint 2016 IT Preview
 
Flujos de Trabajo en SharePoint 2010
Flujos de Trabajo en SharePoint 2010Flujos de Trabajo en SharePoint 2010
Flujos de Trabajo en SharePoint 2010
 
Esto es todo sobre los servicios Desarrollo de Aplicaciones Personalizadas pa...
Esto es todo sobre los servicios Desarrollo de Aplicaciones Personalizadas pa...Esto es todo sobre los servicios Desarrollo de Aplicaciones Personalizadas pa...
Esto es todo sobre los servicios Desarrollo de Aplicaciones Personalizadas pa...
 
CSA - Gestión e Implementación de Proyectos SharePoint
CSA - Gestión e Implementación de Proyectos SharePointCSA - Gestión e Implementación de Proyectos SharePoint
CSA - Gestión e Implementación de Proyectos SharePoint
 
Buenas prácticas en infraestructura en SharePoint 2013
Buenas prácticas en infraestructura en SharePoint 2013Buenas prácticas en infraestructura en SharePoint 2013
Buenas prácticas en infraestructura en SharePoint 2013
 

Similar a Aplicaciones Autohosted de SharePoint: combinando Azure y Colaboración

Extendiendo share point, project y office con el nuevo modelo de apps sps
Extendiendo share point, project y office con el nuevo modelo de apps spsExtendiendo share point, project y office con el nuevo modelo de apps sps
Extendiendo share point, project y office con el nuevo modelo de apps sps
Fabian Imaz
 
Extendiendo SharePoint Online con el nuevo modelo de apps
Extendiendo SharePoint Online con el nuevo modelo de appsExtendiendo SharePoint Online con el nuevo modelo de apps
Extendiendo SharePoint Online con el nuevo modelo de apps
Fabian Imaz
 
Sharepoint 2013 que hay de nuevo
Sharepoint 2013   que hay de nuevoSharepoint 2013   que hay de nuevo
Sharepoint 2013 que hay de nuevo
Daniel Laco
 
Portales Enterprise 2.0 con WebCenter
Portales Enterprise 2.0 con WebCenterPortales Enterprise 2.0 con WebCenter
Portales Enterprise 2.0 con WebCenter
Jaime Cid
 
Share point 2010 office 2010 y owa
Share point 2010 office 2010 y owaShare point 2010 office 2010 y owa
Share point 2010 office 2010 y owa
Eva Ordoñez Perez
 

Similar a Aplicaciones Autohosted de SharePoint: combinando Azure y Colaboración (20)

Aplicaciones Autohosted, el nuevo modelo para extender SharePoint online
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint onlineAplicaciones Autohosted, el nuevo modelo para extender SharePoint online
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint online
 
Extendiendo share point, project y office con el nuevo modelo de apps sps
Extendiendo share point, project y office con el nuevo modelo de apps spsExtendiendo share point, project y office con el nuevo modelo de apps sps
Extendiendo share point, project y office con el nuevo modelo de apps sps
 
Introducción a Azure App Service - MUG Buenos Aires
Introducción a Azure App Service - MUG Buenos AiresIntroducción a Azure App Service - MUG Buenos Aires
Introducción a Azure App Service - MUG Buenos Aires
 
Extendiendo SharePoint Online con el nuevo modelo de apps
Extendiendo SharePoint Online con el nuevo modelo de appsExtendiendo SharePoint Online con el nuevo modelo de apps
Extendiendo SharePoint Online con el nuevo modelo de apps
 
Azure functions
Azure functionsAzure functions
Azure functions
 
[Evento] Microsoft Azure | Azure Compute: una mirada en 360°
[Evento] Microsoft Azure | Azure Compute: una mirada en 360°[Evento] Microsoft Azure | Azure Compute: una mirada en 360°
[Evento] Microsoft Azure | Azure Compute: una mirada en 360°
 
Como crear add ins hibridas para share point y office
Como crear add ins hibridas para share point y officeComo crear add ins hibridas para share point y office
Como crear add ins hibridas para share point y office
 
Azure Bootcamp 2017 - Azure functions
Azure Bootcamp 2017 - Azure functionsAzure Bootcamp 2017 - Azure functions
Azure Bootcamp 2017 - Azure functions
 
Azure Functions
Azure FunctionsAzure Functions
Azure Functions
 
Futuro de Desarrollo en SharePoint
Futuro de Desarrollo en SharePointFuturo de Desarrollo en SharePoint
Futuro de Desarrollo en SharePoint
 
Iniciándose en el desarrollo de aplicaciones para share point 2013
Iniciándose en el desarrollo de aplicaciones para share point 2013Iniciándose en el desarrollo de aplicaciones para share point 2013
Iniciándose en el desarrollo de aplicaciones para share point 2013
 
Azure
AzureAzure
Azure
 
Estrategias de desarrollo en sharepoint
Estrategias de desarrollo en sharepointEstrategias de desarrollo en sharepoint
Estrategias de desarrollo en sharepoint
 
RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...
RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...
RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...
 
Descubriendo windows azure
Descubriendo windows azureDescubriendo windows azure
Descubriendo windows azure
 
Sharepoint 2013 que hay de nuevo
Sharepoint 2013   que hay de nuevoSharepoint 2013   que hay de nuevo
Sharepoint 2013 que hay de nuevo
 
Portales Enterprise 2.0 con WebCenter
Portales Enterprise 2.0 con WebCenterPortales Enterprise 2.0 con WebCenter
Portales Enterprise 2.0 con WebCenter
 
Proyecto 360: Combinar lo mejor de Azure y Office 365
Proyecto 360: Combinar lo mejor de Azure y Office 365Proyecto 360: Combinar lo mejor de Azure y Office 365
Proyecto 360: Combinar lo mejor de Azure y Office 365
 
Mejorando interfaz de SharePoint 2010 con Silverlight 4
Mejorando interfaz de SharePoint 2010 con Silverlight 4Mejorando interfaz de SharePoint 2010 con Silverlight 4
Mejorando interfaz de SharePoint 2010 con Silverlight 4
 
Share point 2010 office 2010 y owa
Share point 2010 office 2010 y owaShare point 2010 office 2010 y owa
Share point 2010 office 2010 y owa
 

Más de Juan Carlos Gonzalez

Más de Juan Carlos Gonzalez (20)

Governance in SharePoint Premium:What's in the box?
Governance in SharePoint Premium:What's in the box?Governance in SharePoint Premium:What's in the box?
Governance in SharePoint Premium:What's in the box?
 
Seguridad en Power Platform - Que opciones tengo
Seguridad en Power Platform - Que opciones tengoSeguridad en Power Platform - Que opciones tengo
Seguridad en Power Platform - Que opciones tengo
 
Boost your Teams Meetings to the next level with Teams Premium
Boost your Teams Meetings to the next level with Teams PremiumBoost your Teams Meetings to the next level with Teams Premium
Boost your Teams Meetings to the next level with Teams Premium
 
Stream en SharePoint en detalle
Stream en SharePoint en detalle Stream en SharePoint en detalle
Stream en SharePoint en detalle
 
Power Platform y Teams: ¿Qué platos tengo en mi menú?
Power Platform y Teams: ¿Qué platos tengo en mi menú?Power Platform y Teams: ¿Qué platos tengo en mi menú?
Power Platform y Teams: ¿Qué platos tengo en mi menú?
 
Digitaliza tus procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue...
Digitaliza tus procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue...Digitaliza tus procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue...
Digitaliza tus procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue...
 
Stream on SharePoint, an overview - JcGonzalez.pptx
Stream on SharePoint, an overview - JcGonzalez.pptxStream on SharePoint, an overview - JcGonzalez.pptx
Stream on SharePoint, an overview - JcGonzalez.pptx
 
Shared channels in Microsoft Teams, an overview
Shared channels in Microsoft Teams, an overview Shared channels in Microsoft Teams, an overview
Shared channels in Microsoft Teams, an overview
 
Canales Compartidos en Microsoft Teams al detalle
Canales Compartidos en Microsoft Teams al detalleCanales Compartidos en Microsoft Teams al detalle
Canales Compartidos en Microsoft Teams al detalle
 
Digitaliza tus Aprobaciones con Approvals en Teams - JcGonzalez .pptx
Digitaliza tus Aprobaciones con Approvals en Teams - JcGonzalez .pptxDigitaliza tus Aprobaciones con Approvals en Teams - JcGonzalez .pptx
Digitaliza tus Aprobaciones con Approvals en Teams - JcGonzalez .pptx
 
Power Platform Analytics: ¿Qué opciones tengo?
Power Platform Analytics: ¿Qué opciones tengo?Power Platform Analytics: ¿Qué opciones tengo?
Power Platform Analytics: ¿Qué opciones tengo?
 
Analytics in Power Platform: What are my options?
Analytics in Power Platform: What are my options?Analytics in Power Platform: What are my options?
Analytics in Power Platform: What are my options?
 
Microsoft 365 Chicago - Governing Microsoft Teams Meetings
Microsoft 365 Chicago - Governing Microsoft Teams MeetingsMicrosoft 365 Chicago - Governing Microsoft Teams Meetings
Microsoft 365 Chicago - Governing Microsoft Teams Meetings
 
Solicita y comparte actualizaciones con Updates en Teams
Solicita y comparte actualizaciones con Updates en TeamsSolicita y comparte actualizaciones con Updates en Teams
Solicita y comparte actualizaciones con Updates en Teams
 
Canales compartidos en Microsoft Teams de principio a fin
Canales compartidos en Microsoft Teams de principio a finCanales compartidos en Microsoft Teams de principio a fin
Canales compartidos en Microsoft Teams de principio a fin
 
Analytics en Power Platform: ¿Qué opciones tengo?
Analytics en Power Platform: ¿Qué opciones tengo?Analytics en Power Platform: ¿Qué opciones tengo?
Analytics en Power Platform: ¿Qué opciones tengo?
 
Shared channels in Microsoft Teams, an overview - JcGonzalez.pptx
Shared channels in Microsoft Teams, an overview - JcGonzalez.pptxShared channels in Microsoft Teams, an overview - JcGonzalez.pptx
Shared channels in Microsoft Teams, an overview - JcGonzalez.pptx
 
Governing Microsoft Teams Meetings: What are my options?
Governing Microsoft Teams Meetings: What are my options?Governing Microsoft Teams Meetings: What are my options?
Governing Microsoft Teams Meetings: What are my options?
 
Power Platform y Teams: ¿Qué platos tengo en mi menú?
Power Platform y Teams: ¿Qué platos tengo en mi menú?Power Platform y Teams: ¿Qué platos tengo en mi menú?
Power Platform y Teams: ¿Qué platos tengo en mi menú?
 
Digitalize your Approval processes with approvals in Microsoft Teams
Digitalize your Approval processes with approvals in Microsoft TeamsDigitalize your Approval processes with approvals in Microsoft Teams
Digitalize your Approval processes with approvals in Microsoft Teams
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 

Último (15)

Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 

Aplicaciones Autohosted de SharePoint: combinando Azure y Colaboración

  • 1. Aplicaciones Autohosted de SharePoint: 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. Workshops & sesiones organizadas en tracks paralelos: IT PRO, Negocio (BIZ) y Desarrollo(DEV) + Información:  www.iberiansharepointconference Madrid, 10th October .com 2013  @IberianSPConf  suges@Hotmail.es
  • 3. Madrid, Barcelona y Valencia 26 y 27 de abril + Información en www.suges.es
  • 4. Agenda  Introducción  Arquitectura  Programación  Tipos de aplicaciones
  • 5.
  • 6. 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 las proceso (w3wp.ex) que la (SPUCWorkerProcess.exe) capacidades expuestas en _api Aplicación Web o bien llama a client.svc (CSOM)
  • 7. 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 tenants Cloud-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)
  • 8. Capacidades disponibles Caracterí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
  • 9. Aplicaciones SharePoint- Hosted vs Cloud-Hosted SharePoint Hosted Cloud Hosted App Scope SharePoint Site Site or Tenancy Architecture Web Site Multi-Tenant App Developer Skillset SharePoint + HTML/JS Full Stack UI Technologies SharePoint + HTML/JS Any Web Stack Server Code None Any Storage Lists and Doc Libs Any Key Limitations No Server Code Hosting Expertise Required
  • 10. Repaso a Windows Azure: IaaS + PaaS + SaaS
  • 11. Repaso a Windows Azure: Flexibilidad
  • 12. Repaso a Windows Azure: Servicios http://www.windowsazure.com/en- us/documentation/?fb=es-es
  • 14. 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
  • 15. 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
  • 16.
  • 17. 3rd Party Services Web Server Host Server APIs Arquitectura SharePoint
  • 18. 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
  • 19. 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
  • 20. Ciclo de Vida de una App Tenant A Tenant B
  • 21. Proceso de desarrollo y despliegue 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
  • 22. 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
  • 23. Opciones de Almacenamiento  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!
  • 25. 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
  • 26. Modelo de uso y licenciamiento  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
  • 27.
  • 28. 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
  • 29. Herramientas  Visual Studio 2012 (Con las tools instaladas)  Visual Studio LightSwitch  Microsoft Access 2013  …y NAPA (de momento para SharePoint-Hosted)
  • 30. 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
  • 31. Chrome Control, dar estilo a una 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
  • 32. Chrome Control, dar estilo a una Aplicación
  • 34. 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
  • 35. 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
  • 36. 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
  • 37. 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
  • 38. 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
  • 39. Depuración  Mediante Windows Azure Service Bus y configurarlo en las propiedades del proyecto de la aplicación
  • 40.
  • 41. 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, …
  • 43. 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
  • 44. Descuentos Campus MVP 10% de descuento en todos nuestros cursos y libros hasta el 31 de diciembre Introduce el cupón PECIIN12SN al realizar tu compra en nuestra tienda online.
  • 45. Prueba SharePoint a tope  CloudShare:  http://www.cloudshare.com/  Disponen de varias plantillas de SharePoint 2013 listas para probar 
  • 46. 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
  • 47.
  • 48. GRACIAS POR SU ATENCIÓN

Notas del editor

  1. Enseñar NapaDemo1
  2. This slide depicts some of the biggest differences between building SharePoint-Hosted &amp; Cloud-Hosted apps.
  3. Enseñar NapaDemo1
  4. Developer builds SharePoint application and packages into a *.APP file.Deployment to SharePointSharePoint installs applicationIf SharePoint application contains Windows Azure components, SharePoint provisions the Azure appAs with #4, SharePoint can provision SQL Azure, run the DDL for schema creation &amp; DML for loading initial data
  5. User navigates to an application page in SharePoint that contains the installed apps. Upon clicking one app (A), the page reloads with the main content (B) area replaced with an SPFrame control (think of this as an enhanced IFrame).The content area (B) in the SharePoint page points to the homepage of the application that lives in Windows Azure. This application runs entirely within Windows Azure.The application can consist of a series of multiple ASPX pages as an Azure Web Role or Azure MVC Web Role.The Windows Azure application can call back to SharePoint using the enhanced Client Object Model (CSOM) or using the new OData services in SharePoint Server 2013. This is useful when accessing data in SharePoint lists or other SharePoint interactions are necessary.The Windows Azure application can also utilize SQL Azure for custom data that is used exclusively by the application.The Windows Azure application can also call other external services or resources available over the wire (C) that are not available in SharePoint or in Windows Azure. This could be used to communicate back with on-premise LoB systems or other 3rd party hosted solutions.In addition the application can also utilize a bridge between the SPFrame hosting the application (B) and the application. This could be used to alter the SharePoint ribbon or other SharePoint UI components (status bar, notification messages, dialogs, etc).
  6. SharePoint ListsGreat for SharePoint-hosted apps, but requires CAMLRequires an app webSQL AzurePackage app with SQL Package (.dacpac) or by referencing SQL Database projectSQL Azure components are provisioned invisibly when the app is installed by a tenantConnection information in available through specific APIs (both SqlConnection class and raw connection string)Others, but be careful with latency
  7. Enseñar NapaDemo1
  8. DACPAC has built in schema for upgrading schema
  9. Enseñar NapaDemo1