aplicaciones autohosted de sharepoint: combinando azure y colaboración
Post on 11-May-2015
466 Views
Preview:
DESCRIPTION
TRANSCRIPT
Aplicaciones Autohosted de SharePoint: combinando Azure y
Colaboración
Juan Carlos GonzálezMVP SharePoint Serverhttp://geeks.ms/blogs/ciinjgonzalez@gruposodercan.es@jcgm1978
Gustavo VelezMVP SharePoint Serverhttp://www.gavd.net gustavo@gavd.net
Madrid, 10th
October 2013
Workshops & sesiones organizadas en tracks paralelos: IT PRO, Negocio (BIZ) y Desarrollo(DEV)
+ Información: www.iberiansharepointconfe
rence.com
@IberianSPConf suges@Hotmail.es
Madrid, Barcelona y Valencia26 y 27 de abril
Hackathon
+ Información en
www.suges.es
Agenda
Introducción
Arquitectura
Programación
Tipos de aplicaciones
Introducción
Evolución del desarrollo en SharePoint
2007
SharePoint
IIS
El código de la GAC se ejecuta en el mismo
proceso (w3wp.ex) que la Aplicación Web
2010
SharePoint
IIS Sandbox
El código se ejecuta en un proceso especial (SPUCWorkerProcess.e
xe) o bien llama a client.svc (CSOM)
2013
SharePoint
IIS with _api App
El código se ejecuta fuera de SharePoint y aprovecha las
capacidades expuestas en _api
Repaso a Tipos de Hosting
App Web (de WSP)
Sitio Padre
SharePoint-hosted AppProvisiona un subsitio aislado bajo un sitio padreReutiliza elementos web(lists, files, out-of-box web parts)• No se permite código en el
lado del servidor; usar JavaScript
Autohosted App (SPO)Windows Azure + SQL Azure provisionadas de forma “invisible” mientras la app se instala
Azure (desde
WebDeploy,
DacPac)
SitioSharePoi
nt
Suscribirse a eventos remotos de SP
Usar CSOM/REST + OAuth para operar con SharePoint
Cloud-based Apps
Provider-Hosted App“Necesitas tu propia infraestructura de hosting”Los desarrolladores tienen que aislar los tenants
SitioSharePoi
nt
Tú Sitio de
Hosting
Capacidades disponibles
Características• Hosting IIS Compartido• BDs Azure SQL• Ciclo de vida de
aplicaciones transaccional• Escalabilidad
Service Level Agreement (SLA)• Almacenamiento
redundante• Recuperación de Desastres• Soporte a cliente
compartido para problemas de Aplicaciones
Modo de pago• En estudio
¡Windows Azure Rules !
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
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
Webs
SQL
Otros
Office 365
SharePoint Word
Excel
OtrosSolución:- Proyecto de SharePoint- Proyecto Web aspx
Servidor Desarrollo
Explicación de la demo (Publicación)
Azure
Webs
SQL
Otros
Office 365
SharePoint Word
Excel
OtrosProyecto de SharePoint+ Proyecto Web aspx= archivo .app
Arquitectura
Arquitectura
Web Server H
ost
SharePoint
Lógica en el lado del ServidorLenguaje .NET
3rd P
arty
Ser
vice
s
CSOM REST
On-premises
Online
SharePoint
Workflows
Autohosted
SQL AzureSitio Web ASP.NET
Server APIs
Servicios WCF (Manejadores)
Otros Elementos Listas
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
App Developer Tenant Admin
Site Owner
Site Owner
Site Owner
Site OwnerApp
Catalog
SharePoint Store
(Office Marketplace)
Tenant A
Tenant B
.app .app
.ap
p
Web Site SQL DB
Workflow
Web Site SQL DB
Workflow
Web Site SQL DB
Workflow
Web Site SQL DB
Workflow
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
Programación
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
Webs
SQL
Otros
Office 365
SharePoint Word
Excel
OtrosSolución:- Proyecto de SharePoint- Proyecto Web JS- Proyecto Base de Datos
Servidor Desarrollo
Explicación de la demo (Publicación)
Azure
Webs
SQL
Otros
Office 365
SharePoint Word
Excel
OtrosProyecto de SharePoint+ Proyecto Web JS+ Proyecto Base de Datos= archivo .app
Crear una App Autohosted implica
SharePoint Package• Use Visual Studio SharePoint App
Project• Focus on app entry points:
• Custom Actions• Client Web Parts
• Carefully consider AppWeb context:• No app webs for tenant scoped
apps• Debug/test locally or on developer
site
Web App & Database• Add Web app to solution:
• Azure Web site support• Add SQL Azure database:
• *.DACPAC required to create the SQL Azure DB
• Provide data script to seed data• Debug locally
Despliegue de una aplicación Autohosted
SharePoint Package
• OAuth config & SQL Azure connection string auto-generated
• Use ~remoteAppUrl token for references to web app URL
• Publish app package to:• Marketplace • Corporate Catalog
Web App & Database
• Packaged in SharePoint package• Auto-provisioned & deployed to
Windows Azure
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
Tipos de Aplicaciones
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 descuentoen todos nuestros cursos y libros hasta el 31 de diciembre
Introduce el cupón PECIIN12SN al realizar tu compraen 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
top related