SlideShare una empresa de Scribd logo
1 de 40
Colaboran:
#MadPoint
#SharePoint
#Office 365 #cloud
#develop
#apps
#farm
#IT
#sites #BI
#ECM
#business #workflows
#search #communities
#content
#insights
#Office
#people
#Welcome
#MadPoint
Sobre
MadPoint
#MadPoint
LinkedIn
http://www.linkedin.com/groups?gid=4554702
Twitter
@MadPoint
Web
www.madpoint.org.es
#MadPoint
Mario Cortés Flores
mariocortesflores@hotmail.com
@mariocortesf
Miguel Tabera Pacheco
miguel.tabera@outlook.com
@migueltabera
Christian Ruiz López
@_christian_ruiz
#MadPoint
Hoy veremos…
• Introducción a las API cliente de SharePoint (C#, JavaScript y REST)
• Introducción a las apps de Office y SharePoint
• Tipos de app
• Beneficios por usar apps
• Conceptos básicos al desarrollar apps
• La tienda de apps de SharePoint
• Taller: crea una app de SharePoint y publícala en la tienda
• Andrés Lorbada
• Taller: creación de una app de Office 365 y Azure
• Christian Ruiz
#MadPoint
Miguel Tabera Pacheco
SharePoint Server MVP
Plain Concepts
www.sinsharepointnohayparaiso.com
@migueltabera
#MadPoint
Prepara tus apps de SharePoint y
Office 365 para el futuro
#MadPoint
Las nuevas API
cliente de
SharePoint
2013
#MadPoint
Las tres API cliente
• Client-side object model (CSOM)
• Para aplicaciones que usen C#.
• Para aplicaciones Silverlight y Windows Phone.
• JavaScript object model (JSOM)
• Muy sencillo para aplicaciones web y JavaScript de Windows 8.
• Útil para desarrollar apps de SharePoint para otras plataformas
(Android, iOS…)
• REST
• API independiente de la plataforma basada en estándares como
OAuth y OData.
#MadPoint
Resto de APIs
• Combinando las tres
API cliente con el
resto de API se
pueden desarrollar
las distintas
soluciones
#MadPoint
Ayuda y referencias de las API
• Reference for SharePoint 2013 APIs (Server, CSOM, JavaScript)
• http://msdn.microsoft.com/en-us/library/jj193038.aspx
• How to: Complete basic operations using SharePoint 2013 client library
code
• http://msdn.microsoft.com/en-us/library/fp179912.aspx
• How to: Complete basic operations using JavaScript library code in SP
2013
• http://msdn.microsoft.com/en-us/library/jj163201.aspx
• How to: Complete basic operations using SharePoint 2013 REST
endpoints
• http://msdn.microsoft.com/en-us/library/jj164022.aspx
#MadPoint
Trabajando con C#
// Starting with ClientContext, the constructor requires a URL to the
// server running SharePoint.
ClientContext context = new ClientContext("http://SiteUrl");
// Assume the web has a list named "Announcements".
List announcementsList = context.Web.Lists.GetByTitle("Announcements");
// This creates a CamlQuery that has a RowLimit of 100, and also specifies Scope="RecursiveAll“
// so that it grabs all list items, regardless of the folder they are in.
CamlQuery query = CamlQuery.CreateAllItemsQuery(100);
ListItemCollection items = announcementsList.GetItems(query);
// Retrieve all items in the ListItemCollection from List.GetItems(Query).
context.Load(items);
context.ExecuteQuery();
foreach (ListItem listItem in items)
{
// We have all the list item data. For example, Title.
label1.Text = label1.Text + ", " + listItem["Title"];
}
#MadPoint
Trabajando con JavaScript
function createListItem(siteUrl) {
var clientContext = new SP.ClientContext(siteUrl);
var oList = clientContext.get_web().get_lists().getByTitle('Announcements');
var itemCreateInfo = new SP.ListItemCreationInformation();
this.oListItem = oList.addItem(itemCreateInfo);
oListItem.set_item('Title', 'My New Item!');
oListItem.set_item('Body', 'Hello World!');
oListItem.update();
clientContext.load(oListItem);
clientContext.executeQueryAsync(
Function.createDelegate(this, this.onQuerySucceeded),
Function.createDelegate(this, this.onQueryFailed)
);
}
function onQuerySucceeded() {
alert('Item created: ' + oListItem.get_id());
}
function onQueryFailed(sender, args) {
alert('Request failed. ' + args.get_message() + 'n' + args.get_stackTrace());
}
#MadPoint
Introducción a
las apps de
SharePoint
#MadPoint
¿Qué es una app de SharePoint
• Aplicaciones independientes que se integran con SharePoint
mediante APIs cliente (CSOM, JavaScript, REST)
• Diseñadas para no ensuciar ni cargar la granja de SharePoint
• El código no se ejecuta en el servidor de SharePoint
• Desaparición paulatina del modelo tradicional de desarrollo
• Código cliente
• Centradas en escenarios concretos
• Petición de vacaciones
• Registro a eventos
• …
#MadPoint
Las app de integran en SharePoint
#MadPoint
Cambio filosófico
• Suponen un cambio filosófico
en SharePoint.
• Ahora todo son apps
• Pensar en las app de móvil:
Funcionalidades concretas
bastante independientes, pero
que permiten acceder a
características e información
del teléfono solicitando
autorización al usuario
#MadPoint
Beneficios
• No se despliega código personalizado en el servidor SharePoint
• Migraciones futuras más sencillas
• Funcionan tanto en SharePoint Online como en SharePoint Server
• Reduce la rampa de aprendizaje
• No es tan necesario conocer muchos conceptos de SharePoint
• Se puede usar HTML5, JavaScript y REST si no se conoce .NET
• Las apps pueden residir en servidores externos con diferentes
tecnologías
• Tienen más flexibilidad que las tradicionales webparts, controles,
etc.
#MadPoint
¡Office cliente
también tiene apps!
Mail app (Outlook, Outlook Online) Task pane app (Word, Excel, Excel Online, PowerPoint, Project Professional)
Content app (Excel, Excel Online)
#MadPoint
Conceptos
básicos para
desarrollar
apps de
SharePoint
#MadPoint
Los tres tipos de app de SharePoint
Sitio de
SharePoint
SharePoint-Hosted App
No necesita hosting. El código de la app se
ejecuta en el navegador cliente mediante
JavaScript y/o REST.
Provider-Hosted App
La app reside en cualquier infraestructura y y
está hecha con cualquier lenguaje. Da igual
que el hosting sea Windows Server, Apache…
Puede estar en .NET, Java, PHP, HTML5,
JavaScript…
Sitio de
SharePoint
Llamadas a SharePoint
para obtener o escribir
información usando las
API CSOM/REST +
OAuth
Cloud-based Apps
Aplicación web
(Hosting
propio)
Autohosted App
Similar a la anterior, salvo que el hosting
es Windows Azure + SQL Azure. El
aprovisionamiento e instalación se hace
de forma invisible. Solo en Office 365.
Aplicación web
(Windows
Azure
Web Sites)
Sitio de
SharePoint
Online
APP
APP
APP
#MadPoint
Formas para las appDescripción Ejemplo
App que se abre a pantalla completa
para mostrar funcionalidades
avanzadas. Permite tener la barra de
navegación del sitio para volver
Reserva de recursos, panel de
negocio…
Aunque no sean una app, Word Online,
PowerPoint Online, Excel Online y OneNote Online
funcionan de forma similar.
Se inserta en las páginas de SharePoint
como una webpart tradicional
Visor del tiempo, visor de acciones,
panel de control, mapa…
Añade nuevas acciones para trabajar
con documentos e ítems en la cinta y
menús
Abrir un visualizador del documento,
imprimir un documento…
#MadPoint
Las app por dentro
• Una app por dentro es
un sitio de SharePoint
• La app puede tener sus
propias listas y bibliotecas
que duran el tiempo que
la app esté instalada
• También puede acceder a
las listas y bibliotecas del
sitio que las contiene
Sitio de SharePoint App (sitio de SharePoint)
Lista Lista Lista
ListaBiblioteca
BibliotecaLista
Lista Lista Lista
App App
ListaBiblioteca
BibliotecaLista
Lista
Lista
Lista
BibliotecaLista
App
Aplicación web ubicada en
hosting externo.
• Opcional
• Sólo en provider hosted
y autohosted
#MadPoint
El archivo AppManifest.xml
• AppManifest.xml define las propiedades de la app
• Visual Studio 2012/2013 ofrece un diseñador visual
SharePoint Hosted
Autohosted
Provider Hosted
#MadPoint
Comunicación entre las app y SharePoint
• Las apps provider hosted y autohosted se encuentran fuera de
SharePoint y necesitan interactuar con su contenido para:
• Acceder a datos
• Efectuar operaciones (crear listas, editar permisos, etc.)
• Las app se comunican con SharePoint
vía CSOM y REST
• Las apps necesitan permisos para
acceder al contenido de SharePoint
• Esto se consigue gracias al nuevo
soporte a OAuth de SharePoint 2013
#MadPoint
Sitio del desarrollador y catálogo de apps
• El catálogo de apps es una
colección de sitios con una
biblioteca en la que
almacenaremos los paquetes
de las app
• El sitio del desarrollador es una
colección de sitios con una
biblioteca para almacenar apps
que permite hacer debug y
desplegar la app desde Visual
Studio
#MadPoint
Llamadas
cross-domain
#MadPoint
Llamadas cross-domain
• Una app de SharePoint se muestra en la página dentro de un IFRAME
• La app está en un dominio distinto que el sitio de SharePoint
• Los navegadores no permiten a los elementos de la página interactuar
con más de un dominio para evitar ataques
• Librería JavaScript SP.RequestExecutor.js
• Se encuentra en el directorio LAYOUTS
• Con esta librería, las app pueden llamar a SharePoint aunque esté en
dominio diferente
• El mecanismo de trabajo no es específico de SharePoint, es un patrón
que se usa en la industria
#MadPoint
Las llamadas cross-domain son bloqueadas
SharePoint Server
http://mydomain.com
Provider-hosted app
http://anotherdomain.com
<IFRAME>
Provider hosted app
</IFRAME>
El scripting cross site es bloqueado por
defecto en el servidor de SharePoint.
#MadPoint
SP.RequestExecutor.js
SharePoint Server
http://mydomain.com
SP.RequestExecutor.js
1. Genera el IFRAME automáticamente.
2. Habilita las peticiones CSOM/REST posteando
al IFRAME con .postMessage()
<IFRAME>
Provider hosted app
</IFRAME>
<IFRAME>
http://mydomain.com/Proxy.aspx
</IFRAME>
#MadPoint
Habilitando las llamadas cross-domain
SharePoint Server
http://mydomain.com
Provider-hosted app
http://anotherdomain.com
<IFRAME>
Provider hosted app
</IFRAME>
<IFRAME>
http://mydomain.com/Proxy.aspx
</IFRAME>
#MadPoint
Instalando
apps y
comprando en
la tienda de
SharePoint
#MadPoint
Ciclo de instalación de una app
FREE/
TRIAL/
PURCHASE
OFFICE
VALIDACIÓN
DE LA APP
#MadPoint
Comprando en la tienda
#MadPoint
Apps de
Office 365
#MadPoint
Introducción a apps de Office 365
• Apps que trabajan con toda la plataforma
de Office 365
• Se exponen diferentes servicios REST
trasversales para toda la plataforma:
• Archivos, sitios y OneDrive for Business
• Correo, contactos y calendarios
• Usuarios y grupos
• Se pueden desarrollar con cualquier
tecnología
• Autenticación basada en Azure Active
Directory (AAD)
#MadPoint
Azure Active Directory
• Office 365 usa Azure
AD.
• Puede generarse una
suscripción de Azure
a través del Azure AD
de Office 365
• De esta forma se
pueden crear apps de
Azure que trabajen
con Office 365
#MadPoint
Oauth de AAD en Office 365
• Oauth 2.0
• Las aplicaciones no necesitan almacenar
credenciales
• Azure AD Graph, Exchange y SharePoint
• Permisos en Visual Studio
Q&A?
#MadPoint
Colaboran:
Thank you!
#MadPoint
Colaboran:

Más contenido relacionado

Destacado

7 claves para el éxito en tu portal
7 claves para el éxito en tu portal7 claves para el éxito en tu portal
7 claves para el éxito en tu portalRaona
 
Mejores prácticas con SharePoint 2013 Guía #1 Planificación
Mejores prácticas con SharePoint 2013 Guía #1 PlanificaciónMejores prácticas con SharePoint 2013 Guía #1 Planificación
Mejores prácticas con SharePoint 2013 Guía #1 PlanificaciónNeiy Darry Rodriguez
 
Escenarios y Soluciones Híbridas con SharePoint
Escenarios y Soluciones Híbridas con SharePointEscenarios y Soluciones Híbridas con SharePoint
Escenarios y Soluciones Híbridas con SharePointJuan Carlos Gonzalez
 
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 SharePointComunidad SharePoint
 
¿Merece la pena SharePoint 2016? Puntos de vista de un IT PRO, desarrollador ...
¿Merece la pena SharePoint 2016? Puntos de vista de un IT PRO, desarrollador ...¿Merece la pena SharePoint 2016? Puntos de vista de un IT PRO, desarrollador ...
¿Merece la pena SharePoint 2016? Puntos de vista de un IT PRO, desarrollador ...Miguel Tabera
 
DiseñO De Una Intranet
DiseñO De Una IntranetDiseñO De Una Intranet
DiseñO De Una Intranetguest2f4a016
 
Apps para consumir office 365 y sharepoint en windows 8, windows phone, ipad,...
Apps para consumir office 365 y sharepoint en windows 8, windows phone, ipad,...Apps para consumir office 365 y sharepoint en windows 8, windows phone, ipad,...
Apps para consumir office 365 y sharepoint en windows 8, windows phone, ipad,...Mario Cortés Flores
 
Maravillas de SharePoint Online - Sitio Web en 30 minutos
Maravillas de SharePoint Online - Sitio Web en 30 minutosMaravillas de SharePoint Online - Sitio Web en 30 minutos
Maravillas de SharePoint Online - Sitio Web en 30 minutosNeiy Darry Rodriguez
 
Crear intranet profesional con SharePoint en un dia
Crear intranet profesional con SharePoint en un diaCrear intranet profesional con SharePoint en un dia
Crear intranet profesional con SharePoint en un diaNeiy Darry Rodriguez
 
Las mejores prácticas sharepoint 2013 por: Neiy Briceno
Las mejores prácticas sharepoint 2013 por: Neiy BricenoLas mejores prácticas sharepoint 2013 por: Neiy Briceno
Las mejores prácticas sharepoint 2013 por: Neiy BricenoNeiy Darry Rodriguez
 
Estrategia de formación y capacitación corporativa en sharepoint
Estrategia de formación y capacitación corporativa en sharepointEstrategia de formación y capacitación corporativa en sharepoint
Estrategia de formación y capacitación corporativa en sharepointMarco Antonio Canales Mejia
 
Implementación de INTRANET por Lyncros. RRHH
Implementación de INTRANET por Lyncros. RRHHImplementación de INTRANET por Lyncros. RRHH
Implementación de INTRANET por Lyncros. RRHHMatias O'Keefe
 
SharePoint Online - Comunicación, colaboración y productividad en la nube
SharePoint Online - Comunicación, colaboración y productividad en la nubeSharePoint Online - Comunicación, colaboración y productividad en la nube
SharePoint Online - Comunicación, colaboración y productividad en la nubeJuan Carlos Gonzalez
 
¿Que es SharePoint?
¿Que es SharePoint?¿Que es SharePoint?
¿Que es SharePoint?Rick Taylor
 
¿Qué es SharePoint? ¿Es importante para tu negocio?
¿Qué es SharePoint? ¿Es importante para tu negocio?¿Qué es SharePoint? ¿Es importante para tu negocio?
¿Qué es SharePoint? ¿Es importante para tu negocio?Neiy Darry Rodriguez
 
10 razones para hacer tu portal web con Sharepoint 2013
10 razones para hacer tu portal web con Sharepoint 201310 razones para hacer tu portal web con Sharepoint 2013
10 razones para hacer tu portal web con Sharepoint 2013Raona
 
Infografia mas productividad para su negocio con sharepoint por neiy briceno
Infografia mas productividad para su negocio con sharepoint por neiy bricenoInfografia mas productividad para su negocio con sharepoint por neiy briceno
Infografia mas productividad para su negocio con sharepoint por neiy bricenoNeiy Darry Rodriguez
 
Seguridad en office 365 (SharePoint Saturday Barcelona 2017)
Seguridad en office 365 (SharePoint Saturday Barcelona 2017)Seguridad en office 365 (SharePoint Saturday Barcelona 2017)
Seguridad en office 365 (SharePoint Saturday Barcelona 2017)Miguel Tabera
 

Destacado (19)

7 claves para el éxito en tu portal
7 claves para el éxito en tu portal7 claves para el éxito en tu portal
7 claves para el éxito en tu portal
 
Mejores prácticas con SharePoint 2013 Guía #1 Planificación
Mejores prácticas con SharePoint 2013 Guía #1 PlanificaciónMejores prácticas con SharePoint 2013 Guía #1 Planificación
Mejores prácticas con SharePoint 2013 Guía #1 Planificación
 
Escenarios y Soluciones Híbridas con SharePoint
Escenarios y Soluciones Híbridas con SharePointEscenarios y Soluciones Híbridas con SharePoint
Escenarios y Soluciones Híbridas con SharePoint
 
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
 
¿Merece la pena SharePoint 2016? Puntos de vista de un IT PRO, desarrollador ...
¿Merece la pena SharePoint 2016? Puntos de vista de un IT PRO, desarrollador ...¿Merece la pena SharePoint 2016? Puntos de vista de un IT PRO, desarrollador ...
¿Merece la pena SharePoint 2016? Puntos de vista de un IT PRO, desarrollador ...
 
DiseñO De Una Intranet
DiseñO De Una IntranetDiseñO De Una Intranet
DiseñO De Una Intranet
 
Apps para consumir office 365 y sharepoint en windows 8, windows phone, ipad,...
Apps para consumir office 365 y sharepoint en windows 8, windows phone, ipad,...Apps para consumir office 365 y sharepoint en windows 8, windows phone, ipad,...
Apps para consumir office 365 y sharepoint en windows 8, windows phone, ipad,...
 
Maravillas de SharePoint Online - Sitio Web en 30 minutos
Maravillas de SharePoint Online - Sitio Web en 30 minutosMaravillas de SharePoint Online - Sitio Web en 30 minutos
Maravillas de SharePoint Online - Sitio Web en 30 minutos
 
Crear intranet profesional con SharePoint en un dia
Crear intranet profesional con SharePoint en un diaCrear intranet profesional con SharePoint en un dia
Crear intranet profesional con SharePoint en un dia
 
Las mejores prácticas sharepoint 2013 por: Neiy Briceno
Las mejores prácticas sharepoint 2013 por: Neiy BricenoLas mejores prácticas sharepoint 2013 por: Neiy Briceno
Las mejores prácticas sharepoint 2013 por: Neiy Briceno
 
SharePoint Online IT Camps
SharePoint Online IT CampsSharePoint Online IT Camps
SharePoint Online IT Camps
 
Estrategia de formación y capacitación corporativa en sharepoint
Estrategia de formación y capacitación corporativa en sharepointEstrategia de formación y capacitación corporativa en sharepoint
Estrategia de formación y capacitación corporativa en sharepoint
 
Implementación de INTRANET por Lyncros. RRHH
Implementación de INTRANET por Lyncros. RRHHImplementación de INTRANET por Lyncros. RRHH
Implementación de INTRANET por Lyncros. RRHH
 
SharePoint Online - Comunicación, colaboración y productividad en la nube
SharePoint Online - Comunicación, colaboración y productividad en la nubeSharePoint Online - Comunicación, colaboración y productividad en la nube
SharePoint Online - Comunicación, colaboración y productividad en la nube
 
¿Que es SharePoint?
¿Que es SharePoint?¿Que es SharePoint?
¿Que es SharePoint?
 
¿Qué es SharePoint? ¿Es importante para tu negocio?
¿Qué es SharePoint? ¿Es importante para tu negocio?¿Qué es SharePoint? ¿Es importante para tu negocio?
¿Qué es SharePoint? ¿Es importante para tu negocio?
 
10 razones para hacer tu portal web con Sharepoint 2013
10 razones para hacer tu portal web con Sharepoint 201310 razones para hacer tu portal web con Sharepoint 2013
10 razones para hacer tu portal web con Sharepoint 2013
 
Infografia mas productividad para su negocio con sharepoint por neiy briceno
Infografia mas productividad para su negocio con sharepoint por neiy bricenoInfografia mas productividad para su negocio con sharepoint por neiy briceno
Infografia mas productividad para su negocio con sharepoint por neiy briceno
 
Seguridad en office 365 (SharePoint Saturday Barcelona 2017)
Seguridad en office 365 (SharePoint Saturday Barcelona 2017)Seguridad en office 365 (SharePoint Saturday Barcelona 2017)
Seguridad en office 365 (SharePoint Saturday Barcelona 2017)
 

Similar a Prepara tus apps de SharePoint y Office 365 para el futuro

Estrategias de desarrollo en sharepoint
Estrategias de desarrollo en sharepointEstrategias de desarrollo en sharepoint
Estrategias de desarrollo en sharepointDaniel Laco
 
¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma
¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma
¿Es posible extender a SharePoint 2013? Probablemente en m+as de una formaJuan Carlos Gonzalez
 
Evolution INTech - Acceso a bases de datos con Minimal APIs de .NET 6.pptx
Evolution INTech - Acceso a bases de datos con Minimal APIs de .NET 6.pptxEvolution INTech - Acceso a bases de datos con Minimal APIs de .NET 6.pptx
Evolution INTech - Acceso a bases de datos con Minimal APIs de .NET 6.pptxLuis775803
 
Diseña tu propio Office 365 con Azure IaaS y PaaS
Diseña tu propio Office 365 con Azure IaaS y PaaSDiseña tu propio Office 365 con Azure IaaS y PaaS
Diseña tu propio Office 365 con Azure IaaS y PaaSMiguel Tabera
 
Creacion Apirest Back{4}app
Creacion Apirest Back{4}appCreacion Apirest Back{4}app
Creacion Apirest Back{4}appblackmatt
 
Diseña tu propio Office 365 - Global Azure Bootcamp 2015
Diseña tu propio Office 365 - Global Azure Bootcamp 2015Diseña tu propio Office 365 - Global Azure Bootcamp 2015
Diseña tu propio Office 365 - Global Azure Bootcamp 2015Miguel Tabera
 
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 appsFabian Imaz
 
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 spsFabian Imaz
 
PowerShell para SharePoint OnPremises y Online, la herramienta compartida por...
PowerShell para SharePoint OnPremises y Online, la herramienta compartida por...PowerShell para SharePoint OnPremises y Online, la herramienta compartida por...
PowerShell para SharePoint OnPremises y Online, la herramienta compartida por...Juan Carlos Gonzalez
 
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 officeFabian Imaz
 
04 17-2021 - procesando modelos tabulares global azure latam
04 17-2021 - procesando modelos tabulares global azure latam04 17-2021 - procesando modelos tabulares global azure latam
04 17-2021 - procesando modelos tabulares global azure latamGaston Cruz
 
Exprimiendo SharePoint 2010
Exprimiendo SharePoint 2010Exprimiendo SharePoint 2010
Exprimiendo SharePoint 2010Juan Pablo
 
Appcircus Academy: Integración de Social Media en Android
Appcircus Academy: Integración de Social Media en AndroidAppcircus Academy: Integración de Social Media en Android
Appcircus Academy: Integración de Social Media en AndroidAlberto Ruibal
 
Curs 2.8. Utilización Automatizada de Datos Publicos (1)
Curs 2.8. Utilización Automatizada de Datos Publicos (1)Curs 2.8. Utilización Automatizada de Datos Publicos (1)
Curs 2.8. Utilización Automatizada de Datos Publicos (1)Iniciativa Barcelona Open Data
 
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 4SolidQ
 
Nuevo modelo aplicaciones_share_point 2013
Nuevo modelo aplicaciones_share_point 2013Nuevo modelo aplicaciones_share_point 2013
Nuevo modelo aplicaciones_share_point 2013Fabian Imaz
 
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)lenny
 
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)INSIGNIA4U
 
Google Cloud Platform y Python
Google Cloud Platform y PythonGoogle Cloud Platform y Python
Google Cloud Platform y PythonCarlos Toxtli
 
Introduccion a MOSS 2007
Introduccion a MOSS 2007Introduccion a MOSS 2007
Introduccion a MOSS 2007Luis Du Solier
 

Similar a Prepara tus apps de SharePoint y Office 365 para el futuro (20)

Estrategias de desarrollo en sharepoint
Estrategias de desarrollo en sharepointEstrategias de desarrollo en sharepoint
Estrategias de desarrollo en sharepoint
 
¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma
¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma
¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma
 
Evolution INTech - Acceso a bases de datos con Minimal APIs de .NET 6.pptx
Evolution INTech - Acceso a bases de datos con Minimal APIs de .NET 6.pptxEvolution INTech - Acceso a bases de datos con Minimal APIs de .NET 6.pptx
Evolution INTech - Acceso a bases de datos con Minimal APIs de .NET 6.pptx
 
Diseña tu propio Office 365 con Azure IaaS y PaaS
Diseña tu propio Office 365 con Azure IaaS y PaaSDiseña tu propio Office 365 con Azure IaaS y PaaS
Diseña tu propio Office 365 con Azure IaaS y PaaS
 
Creacion Apirest Back{4}app
Creacion Apirest Back{4}appCreacion Apirest Back{4}app
Creacion Apirest Back{4}app
 
Diseña tu propio Office 365 - Global Azure Bootcamp 2015
Diseña tu propio Office 365 - Global Azure Bootcamp 2015Diseña tu propio Office 365 - Global Azure Bootcamp 2015
Diseña tu propio Office 365 - Global Azure Bootcamp 2015
 
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
 
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
 
PowerShell para SharePoint OnPremises y Online, la herramienta compartida por...
PowerShell para SharePoint OnPremises y Online, la herramienta compartida por...PowerShell para SharePoint OnPremises y Online, la herramienta compartida por...
PowerShell para SharePoint OnPremises y Online, la herramienta compartida por...
 
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
 
04 17-2021 - procesando modelos tabulares global azure latam
04 17-2021 - procesando modelos tabulares global azure latam04 17-2021 - procesando modelos tabulares global azure latam
04 17-2021 - procesando modelos tabulares global azure latam
 
Exprimiendo SharePoint 2010
Exprimiendo SharePoint 2010Exprimiendo SharePoint 2010
Exprimiendo SharePoint 2010
 
Appcircus Academy: Integración de Social Media en Android
Appcircus Academy: Integración de Social Media en AndroidAppcircus Academy: Integración de Social Media en Android
Appcircus Academy: Integración de Social Media en Android
 
Curs 2.8. Utilización Automatizada de Datos Publicos (1)
Curs 2.8. Utilización Automatizada de Datos Publicos (1)Curs 2.8. Utilización Automatizada de Datos Publicos (1)
Curs 2.8. Utilización Automatizada de Datos Publicos (1)
 
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
 
Nuevo modelo aplicaciones_share_point 2013
Nuevo modelo aplicaciones_share_point 2013Nuevo modelo aplicaciones_share_point 2013
Nuevo modelo aplicaciones_share_point 2013
 
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
 
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
 
Google Cloud Platform y Python
Google Cloud Platform y PythonGoogle Cloud Platform y Python
Google Cloud Platform y Python
 
Introduccion a MOSS 2007
Introduccion a MOSS 2007Introduccion a MOSS 2007
Introduccion a MOSS 2007
 

Más de Miguel Tabera

Project Cortex (Ignite 2019 announcements)
Project Cortex (Ignite 2019 announcements)Project Cortex (Ignite 2019 announcements)
Project Cortex (Ignite 2019 announcements)Miguel Tabera
 
El futuro de office 365 en 2019 y 2020: la innovación (SharePoint & Office 36...
El futuro de office 365 en 2019 y 2020: la innovación (SharePoint & Office 36...El futuro de office 365 en 2019 y 2020: la innovación (SharePoint & Office 36...
El futuro de office 365 en 2019 y 2020: la innovación (SharePoint & Office 36...Miguel Tabera
 
Novedades presentadas en Microsoft Ignite 2018
Novedades presentadas en Microsoft Ignite 2018Novedades presentadas en Microsoft Ignite 2018
Novedades presentadas en Microsoft Ignite 2018Miguel Tabera
 
Power apps to the next level
Power apps to the next levelPower apps to the next level
Power apps to the next levelMiguel Tabera
 
Microsoft Teams: colaboración y productividad al máximo
Microsoft Teams: colaboración y productividad al máximoMicrosoft Teams: colaboración y productividad al máximo
Microsoft Teams: colaboración y productividad al máximoMiguel Tabera
 
SharePoint 2016 IT Preview
SharePoint 2016 IT PreviewSharePoint 2016 IT Preview
SharePoint 2016 IT PreviewMiguel Tabera
 
SharePoint no está muerto. Nuevas opciones de colaboración en Office 365.
SharePoint no está muerto. Nuevas opciones de colaboración en Office 365.SharePoint no está muerto. Nuevas opciones de colaboración en Office 365.
SharePoint no está muerto. Nuevas opciones de colaboración en Office 365.Miguel Tabera
 
Movilidad en Office 365
Movilidad en Office 365Movilidad en Office 365
Movilidad en Office 365Miguel Tabera
 
Windows Phone SharePoint Application Templates
Windows Phone SharePoint Application TemplatesWindows Phone SharePoint Application Templates
Windows Phone SharePoint Application TemplatesMiguel Tabera
 
InfoPath ha muerto, ¿qué nos depara el futuro?
InfoPath ha muerto, ¿qué nos depara el futuro?InfoPath ha muerto, ¿qué nos depara el futuro?
InfoPath ha muerto, ¿qué nos depara el futuro?Miguel Tabera
 
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 2013Miguel Tabera
 

Más de Miguel Tabera (12)

Project Cortex (Ignite 2019 announcements)
Project Cortex (Ignite 2019 announcements)Project Cortex (Ignite 2019 announcements)
Project Cortex (Ignite 2019 announcements)
 
El futuro de office 365 en 2019 y 2020: la innovación (SharePoint & Office 36...
El futuro de office 365 en 2019 y 2020: la innovación (SharePoint & Office 36...El futuro de office 365 en 2019 y 2020: la innovación (SharePoint & Office 36...
El futuro de office 365 en 2019 y 2020: la innovación (SharePoint & Office 36...
 
Novedades presentadas en Microsoft Ignite 2018
Novedades presentadas en Microsoft Ignite 2018Novedades presentadas en Microsoft Ignite 2018
Novedades presentadas en Microsoft Ignite 2018
 
Power apps to the next level
Power apps to the next levelPower apps to the next level
Power apps to the next level
 
Microsoft Teams: colaboración y productividad al máximo
Microsoft Teams: colaboración y productividad al máximoMicrosoft Teams: colaboración y productividad al máximo
Microsoft Teams: colaboración y productividad al máximo
 
SharePoint 2016 IT Preview
SharePoint 2016 IT PreviewSharePoint 2016 IT Preview
SharePoint 2016 IT Preview
 
SharePoint no está muerto. Nuevas opciones de colaboración en Office 365.
SharePoint no está muerto. Nuevas opciones de colaboración en Office 365.SharePoint no está muerto. Nuevas opciones de colaboración en Office 365.
SharePoint no está muerto. Nuevas opciones de colaboración en Office 365.
 
Movilidad en Office 365
Movilidad en Office 365Movilidad en Office 365
Movilidad en Office 365
 
RBS in SharePoint
RBS in SharePointRBS in SharePoint
RBS in SharePoint
 
Windows Phone SharePoint Application Templates
Windows Phone SharePoint Application TemplatesWindows Phone SharePoint Application Templates
Windows Phone SharePoint Application Templates
 
InfoPath ha muerto, ¿qué nos depara el futuro?
InfoPath ha muerto, ¿qué nos depara el futuro?InfoPath ha muerto, ¿qué nos depara el futuro?
InfoPath ha muerto, ¿qué nos depara el futuro?
 
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
 

Último

LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 

Último (20)

LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 

Prepara tus apps de SharePoint y Office 365 para el futuro

  • 1. Colaboran: #MadPoint #SharePoint #Office 365 #cloud #develop #apps #farm #IT #sites #BI #ECM #business #workflows #search #communities #content #insights #Office #people #Welcome
  • 4. #MadPoint Mario Cortés Flores mariocortesflores@hotmail.com @mariocortesf Miguel Tabera Pacheco miguel.tabera@outlook.com @migueltabera Christian Ruiz López @_christian_ruiz
  • 5. #MadPoint Hoy veremos… • Introducción a las API cliente de SharePoint (C#, JavaScript y REST) • Introducción a las apps de Office y SharePoint • Tipos de app • Beneficios por usar apps • Conceptos básicos al desarrollar apps • La tienda de apps de SharePoint • Taller: crea una app de SharePoint y publícala en la tienda • Andrés Lorbada • Taller: creación de una app de Office 365 y Azure • Christian Ruiz
  • 6. #MadPoint Miguel Tabera Pacheco SharePoint Server MVP Plain Concepts www.sinsharepointnohayparaiso.com @migueltabera
  • 7. #MadPoint Prepara tus apps de SharePoint y Office 365 para el futuro
  • 8. #MadPoint Las nuevas API cliente de SharePoint 2013
  • 9. #MadPoint Las tres API cliente • Client-side object model (CSOM) • Para aplicaciones que usen C#. • Para aplicaciones Silverlight y Windows Phone. • JavaScript object model (JSOM) • Muy sencillo para aplicaciones web y JavaScript de Windows 8. • Útil para desarrollar apps de SharePoint para otras plataformas (Android, iOS…) • REST • API independiente de la plataforma basada en estándares como OAuth y OData.
  • 10. #MadPoint Resto de APIs • Combinando las tres API cliente con el resto de API se pueden desarrollar las distintas soluciones
  • 11. #MadPoint Ayuda y referencias de las API • Reference for SharePoint 2013 APIs (Server, CSOM, JavaScript) • http://msdn.microsoft.com/en-us/library/jj193038.aspx • How to: Complete basic operations using SharePoint 2013 client library code • http://msdn.microsoft.com/en-us/library/fp179912.aspx • How to: Complete basic operations using JavaScript library code in SP 2013 • http://msdn.microsoft.com/en-us/library/jj163201.aspx • How to: Complete basic operations using SharePoint 2013 REST endpoints • http://msdn.microsoft.com/en-us/library/jj164022.aspx
  • 12. #MadPoint Trabajando con C# // Starting with ClientContext, the constructor requires a URL to the // server running SharePoint. ClientContext context = new ClientContext("http://SiteUrl"); // Assume the web has a list named "Announcements". List announcementsList = context.Web.Lists.GetByTitle("Announcements"); // This creates a CamlQuery that has a RowLimit of 100, and also specifies Scope="RecursiveAll“ // so that it grabs all list items, regardless of the folder they are in. CamlQuery query = CamlQuery.CreateAllItemsQuery(100); ListItemCollection items = announcementsList.GetItems(query); // Retrieve all items in the ListItemCollection from List.GetItems(Query). context.Load(items); context.ExecuteQuery(); foreach (ListItem listItem in items) { // We have all the list item data. For example, Title. label1.Text = label1.Text + ", " + listItem["Title"]; }
  • 13. #MadPoint Trabajando con JavaScript function createListItem(siteUrl) { var clientContext = new SP.ClientContext(siteUrl); var oList = clientContext.get_web().get_lists().getByTitle('Announcements'); var itemCreateInfo = new SP.ListItemCreationInformation(); this.oListItem = oList.addItem(itemCreateInfo); oListItem.set_item('Title', 'My New Item!'); oListItem.set_item('Body', 'Hello World!'); oListItem.update(); clientContext.load(oListItem); clientContext.executeQueryAsync( Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed) ); } function onQuerySucceeded() { alert('Item created: ' + oListItem.get_id()); } function onQueryFailed(sender, args) { alert('Request failed. ' + args.get_message() + 'n' + args.get_stackTrace()); }
  • 15. #MadPoint ¿Qué es una app de SharePoint • Aplicaciones independientes que se integran con SharePoint mediante APIs cliente (CSOM, JavaScript, REST) • Diseñadas para no ensuciar ni cargar la granja de SharePoint • El código no se ejecuta en el servidor de SharePoint • Desaparición paulatina del modelo tradicional de desarrollo • Código cliente • Centradas en escenarios concretos • Petición de vacaciones • Registro a eventos • …
  • 16. #MadPoint Las app de integran en SharePoint
  • 17. #MadPoint Cambio filosófico • Suponen un cambio filosófico en SharePoint. • Ahora todo son apps • Pensar en las app de móvil: Funcionalidades concretas bastante independientes, pero que permiten acceder a características e información del teléfono solicitando autorización al usuario
  • 18. #MadPoint Beneficios • No se despliega código personalizado en el servidor SharePoint • Migraciones futuras más sencillas • Funcionan tanto en SharePoint Online como en SharePoint Server • Reduce la rampa de aprendizaje • No es tan necesario conocer muchos conceptos de SharePoint • Se puede usar HTML5, JavaScript y REST si no se conoce .NET • Las apps pueden residir en servidores externos con diferentes tecnologías • Tienen más flexibilidad que las tradicionales webparts, controles, etc.
  • 19. #MadPoint ¡Office cliente también tiene apps! Mail app (Outlook, Outlook Online) Task pane app (Word, Excel, Excel Online, PowerPoint, Project Professional) Content app (Excel, Excel Online)
  • 21. #MadPoint Los tres tipos de app de SharePoint Sitio de SharePoint SharePoint-Hosted App No necesita hosting. El código de la app se ejecuta en el navegador cliente mediante JavaScript y/o REST. Provider-Hosted App La app reside en cualquier infraestructura y y está hecha con cualquier lenguaje. Da igual que el hosting sea Windows Server, Apache… Puede estar en .NET, Java, PHP, HTML5, JavaScript… Sitio de SharePoint Llamadas a SharePoint para obtener o escribir información usando las API CSOM/REST + OAuth Cloud-based Apps Aplicación web (Hosting propio) Autohosted App Similar a la anterior, salvo que el hosting es Windows Azure + SQL Azure. El aprovisionamiento e instalación se hace de forma invisible. Solo en Office 365. Aplicación web (Windows Azure Web Sites) Sitio de SharePoint Online APP APP APP
  • 22. #MadPoint Formas para las appDescripción Ejemplo App que se abre a pantalla completa para mostrar funcionalidades avanzadas. Permite tener la barra de navegación del sitio para volver Reserva de recursos, panel de negocio… Aunque no sean una app, Word Online, PowerPoint Online, Excel Online y OneNote Online funcionan de forma similar. Se inserta en las páginas de SharePoint como una webpart tradicional Visor del tiempo, visor de acciones, panel de control, mapa… Añade nuevas acciones para trabajar con documentos e ítems en la cinta y menús Abrir un visualizador del documento, imprimir un documento…
  • 23. #MadPoint Las app por dentro • Una app por dentro es un sitio de SharePoint • La app puede tener sus propias listas y bibliotecas que duran el tiempo que la app esté instalada • También puede acceder a las listas y bibliotecas del sitio que las contiene Sitio de SharePoint App (sitio de SharePoint) Lista Lista Lista ListaBiblioteca BibliotecaLista Lista Lista Lista App App ListaBiblioteca BibliotecaLista Lista Lista Lista BibliotecaLista App Aplicación web ubicada en hosting externo. • Opcional • Sólo en provider hosted y autohosted
  • 24. #MadPoint El archivo AppManifest.xml • AppManifest.xml define las propiedades de la app • Visual Studio 2012/2013 ofrece un diseñador visual SharePoint Hosted Autohosted Provider Hosted
  • 25. #MadPoint Comunicación entre las app y SharePoint • Las apps provider hosted y autohosted se encuentran fuera de SharePoint y necesitan interactuar con su contenido para: • Acceder a datos • Efectuar operaciones (crear listas, editar permisos, etc.) • Las app se comunican con SharePoint vía CSOM y REST • Las apps necesitan permisos para acceder al contenido de SharePoint • Esto se consigue gracias al nuevo soporte a OAuth de SharePoint 2013
  • 26. #MadPoint Sitio del desarrollador y catálogo de apps • El catálogo de apps es una colección de sitios con una biblioteca en la que almacenaremos los paquetes de las app • El sitio del desarrollador es una colección de sitios con una biblioteca para almacenar apps que permite hacer debug y desplegar la app desde Visual Studio
  • 28. #MadPoint Llamadas cross-domain • Una app de SharePoint se muestra en la página dentro de un IFRAME • La app está en un dominio distinto que el sitio de SharePoint • Los navegadores no permiten a los elementos de la página interactuar con más de un dominio para evitar ataques • Librería JavaScript SP.RequestExecutor.js • Se encuentra en el directorio LAYOUTS • Con esta librería, las app pueden llamar a SharePoint aunque esté en dominio diferente • El mecanismo de trabajo no es específico de SharePoint, es un patrón que se usa en la industria
  • 29. #MadPoint Las llamadas cross-domain son bloqueadas SharePoint Server http://mydomain.com Provider-hosted app http://anotherdomain.com <IFRAME> Provider hosted app </IFRAME> El scripting cross site es bloqueado por defecto en el servidor de SharePoint.
  • 30. #MadPoint SP.RequestExecutor.js SharePoint Server http://mydomain.com SP.RequestExecutor.js 1. Genera el IFRAME automáticamente. 2. Habilita las peticiones CSOM/REST posteando al IFRAME con .postMessage() <IFRAME> Provider hosted app </IFRAME> <IFRAME> http://mydomain.com/Proxy.aspx </IFRAME>
  • 31. #MadPoint Habilitando las llamadas cross-domain SharePoint Server http://mydomain.com Provider-hosted app http://anotherdomain.com <IFRAME> Provider hosted app </IFRAME> <IFRAME> http://mydomain.com/Proxy.aspx </IFRAME>
  • 33. #MadPoint Ciclo de instalación de una app FREE/ TRIAL/ PURCHASE OFFICE VALIDACIÓN DE LA APP
  • 36. #MadPoint Introducción a apps de Office 365 • Apps que trabajan con toda la plataforma de Office 365 • Se exponen diferentes servicios REST trasversales para toda la plataforma: • Archivos, sitios y OneDrive for Business • Correo, contactos y calendarios • Usuarios y grupos • Se pueden desarrollar con cualquier tecnología • Autenticación basada en Azure Active Directory (AAD)
  • 37. #MadPoint Azure Active Directory • Office 365 usa Azure AD. • Puede generarse una suscripción de Azure a través del Azure AD de Office 365 • De esta forma se pueden crear apps de Azure que trabajen con Office 365
  • 38. #MadPoint Oauth de AAD en Office 365 • Oauth 2.0 • Las aplicaciones no necesitan almacenar credenciales • Azure AD Graph, Exchange y SharePoint • Permisos en Visual Studio

Notas del editor

  1. Because apps (and their pages) run outside of SharePoint and would need to call back into SharePoint from the client-side to talk to the data, if nothing is done it will cause a problem as cross domain calls, otherwise known as cross site scripting (XSS), are blocked by default. This is not an issue obviously when communication is initiated from the server side code as there are not cross domain call limitations with server side code.
  2. Because apps (and their pages) run outside of SharePoint and would need to call back into SharePoint from the client-side to talk to the data, if nothing is done it will cause a problem as cross domain calls, otherwise known as cross site scripting (XSS), are blocked by default. This is not an issue obviously when communication is initiated from the server side code as there are not cross domain call limitations with server side code.
  3. To address this SharePoint has implemented a cross domain JS library that makes it easier for developers to work with their application from the client side. Now the pages in apps can use the SP.RequestExecutor.js which uses a proxy page that is hosted inside of SharePoint that will route the call to the correct place within the SharePoint site.
  4. The proxy page in the IFRAME in the provider-hosted app facilitates communication back to the SharePoint server. The cross domain JS library uses the JavaScript .postMessage function to send messages from the provider-hosted application’s web page to the proxy.aspx page in the hidden IFRAME.
  5. para autenticar la aplicación con Office 365 se dispone de Azure Active Directory (AAD) que almacena las credenciales de los usuarios y nos devuelve sus tokens para usarlos contra la API de Office 365