Extendiendo SharePoint, Project y Office con el nuevo modelo de Apps
Fabián Imaz, MVP SharePoint Server [email protected] @fabianimaz
fAgenda
Arquitectura
Que Podemos Construir
EvoluciónEl NuevoModelo
Hospedaje
Tipo AplicacionesSharePoint
SharePoint Hosted
App
SharePointProvider
App
Tipo Aplicaciones
OfficeY mucho mas
fAcerca de mí….?
DirectorCompartimoss
MVA
MVP SharePoint
Desde el 2008 soy MVP
SharePoint Server
fEvolución
2007
SharePoint
IIS
Todo el código desde la GAC en el mismo
proceso que SharePoint
2010
SharePoint
IIS Sandbox
El código corre en un proceso independiente
al de SharePoint
2013
SharePoint
IIS with _api App
El código se ejecuta fuera de SharePoint y la comunicación
se realiza en vía REST
fEl Nuevo Modelo
App ManifestWeb PageHTML/CSS/JS
App
fArquitectura
ServerClient
Bro
wse
r Hos
t
Web Server H
ost
Client-side LogicHTML / CSS / JavaScript
Office JS SharePoint JS (CSOM)
SharePoint&
Exchange
Oth
er D
evic
es&
Clie
nts
Server-side LogicAny language
Office
Web
App
s
Win
RT
Mac
Mob
ile
Win
32
APP
3rd P
arty
Ser
vice
s
Provider-hosted
Oth
erE.
g. L
AM
P
IIS /
ASP
.Net
Win
dow
sAzu
re
CSOM REST
On-premises
IE
Chr
ome
Fire
Fox
Safa
ri
Tier 1 Tier 2
OtherECMAScript 5
Development Tools: Visual Studio 2012 / 2013, NAPA, Microsoft Access 2013 or any standard Web development tool
Online
SharePoint
SQL
Workflow
Autohosted
SQL
Web Sites
Clie
nt A
PIs Server
APIs
fHospedaje de Aplicaciones
CSOM/REST + OAuth
SharePoint-hosted App
Su propio servidor en su infraestructuraAutohosted App
Windows Azure + SQL Azure Aprovisionado automáticamente
cuando se instala
SharePoint Web
Your Hosted Site
including Azure
SharePoint Web Azure
Provider-Hosted AppReúse la propia infraestructura de SharePoint disponible dentro de la
organización
Hostweb
App Web(from WSP)
En la nube
Obsoletas
fSharePoint-Hosted App
HeredaMulti-Tenant
No hay costo adicional
No necesita infraestructura
adicional
Autenticación Automática
Ofiice365& OnPremise
fSharePoint-Provider Hosted App
HeredaMulti-Tenant
Costo de hospedaje
Servidores adicionales
Autenticación Oauth 2.0
Ofiice365& OnPremise
fTipos de Aplicaciones
Página CompletaImplementar la aplicación en una página para satisfacer las necesidades del negocio
App Part (Web Part)Crear una app part parar incluir funcionalidades en páginas existentes
Ext de comandoAgregar comando a la barra de trabajo (Ribbon) para enriquecer la usabilidad
fQue podemos construir
Aplicaciones SharePoint/Project
fTipos de Aplicaciones para Office
App Panel TareasImplementar la aplicación en una página para satisfacer las necesidades del negocio
App ContenidoCrear una app part parar incluir funcionalidades en páginas existentes
Correo ElectrónicoAgregar comando a la barra de trabajo (Ribbon) para enriquecer la usabilidad
Aplicaciones Office
fHerramientas de desarrollo
APIs: CSOM + REST API
Desarrollo Flexible:• Local, se necesita un SharePoint
local
• Remoto, no se necesita una instalación de SharePoint.
Aplicaciones y Soluciones
Visual Studio 2013 (y 2012)
APIs: CSOM (JS) + REST API
Microsoft Access 2013:• Permite crear aplicaciones e
instalarlas en SharePoint Online o Onpremise
• Logica de negocio a través de Access Macro designer, no VBA
NAPA
Desarrollo en el navegador
fCapas de datos
SharePoint - Project
• Listas y Bibliotecas• Bases de datos
externas• BCS• TC Externos• REST• Servicios Web
• Servicio de Access
• Listas y Bibliotecas• Bases de datos
externas• BCS• TC Externos• REST• Servicios Web• Azure
• Cualquier otro medio
SharePoint Hosted Provider Hosted
Office
• Word• Excel• PowerPoint• Outlook• Bases de datos
Externas• REST
Todas
fCapas de Negocios
SharePoint - Project
• JavaScript• CSOM• REST
• WorkFlow• Acciones
personalizadas
• Vía REST• PHP• Java• Cualquiera
• Vía .Net• CSOM
• WorkFlow• Acciones
personalizadas
SharePoint Hosted Provider Hosted
Office
• JavaScript• Modelo de Objeto
de Office
Todas
fJS CSOM & REST API
JavaScript CSOM
var ctx = new SP.ClientContext("http://mydomain-appUID.spo.com/site/app");ctx.load(ctx.get_web().get_title());ctx.executeQueryAsync();
REST/OData
http://contoso-appUID.spo.com/site/app/_api/web/Title_api/web/lists_api/web/lists/getByTitle('Documents')_api/social.feed/my/news_api/SP.UserProfiles.PeopleManager/getMyProperties()_api/search/query?Querytext='Marketing'
fComo distribuir una aplicación
Panel del VendedorCuenta Autorizada Office Store Ribbon
Direct SharePointOnline / Onpremise
Catalogo Aplicaciones
EvaluaciónVenta
IT admin
Usuario FinalValidación
Aplicación
La tienda, pública y/o privada
Muchas Gracias!!!Fabián Imaz, MVP SharePoint Server [email protected] @fabianimaz