La plataforma de aplicaciones y servicios en la nube llamada Office 365, está siendo potenciada desde hace tiempo por Microsoft, ya sabemos que ventajas nos aporta un servicio. Principalmente nos ayuda a ahorrar costes en infraestructura y mantenimientos. A continuación, describiremos que tipo de aplicaciones podemos desarrollar y cómo funciona la API.
Tipo de Aplicaciones
En la siguiente tabla podemos ver los diferentes tipos de aplicaciones que podemos desarrollar agrupado por plataforma. Como podemos ver tenemos una gran variedad y eso nos permite interconectarnos con casi cualquier tecnología, incluso lenguajes Open Source.
| Móvil | Escritorio | Web | | --- | --- | --- | | iOS | Windows 8 | .Net | | Android | Windows 10 | JavaScript | | WP8 | | Php ,Phyton , etc ... |
Office 365 API
A continuación, pasaremos a detallar que tipo de información tenemos disponible para su consumo, qué características tienen y cómo funciona la seguridad.
Información
La información accesible es la que podemos ver a continuación, juntamente sobre qué servicio se está consumiendo.
| Exchange Online | Azure AD | SharePoint y OneDrive | | --- | --- | --- | | Correos | Grupos | Archivos | | Contactos | | Sitios | | Calendarios | | |
Características
Como hemos podido observar en el cuadro anterior, tenemos diferentes puntos de acceso dependiendo de la información y al servicio que estemos atacando, en el caso de Office365 API Preview que explicaremos más adelante no es necesario. En el caso de tener diferentes tenant, necesitaremos usar el servicio Discovery que nos obtendrá el punto de acceso para obtener la información correspondiente.
Aunque tenemos el Azure AD que nos proporciona la autenticación, necesitamos gestionar el token de acceso de manera separada para cada servicio antes mencionado.
Seguridad
A continuación, vamos a describir que seguridad posee la API y cómo funciona el flujo de autenticación.
Autenticación
La API posee single sign on y OAuth 2.0, sistema basado en tokens y todo esto es gestionado por Azure Active Directory.
Flujo de Autenticación
Desarrollo Office 365
A continuación, vamos a hablar de la parte más enfocada al desarrollo, que Servicios necesitamos, Herramientas y cómo funciona la API con ejemplos.
Servicios
Estos son los servicios mínimos que vamos a necesitar para poder desarrollar una aplicación para Office 365:
Herramientas
Sera necesario un IDE para poder desarrollar, en este caso tenemos un abanico de posibilidades bastante amplio.
API
Dentro del API tenemos dos variantes, el SDK y el servicio REST.
SDK
Es una librería específica por tecnología que nos provee de un modelo de objetos para obtener la información. Tendríamos:
Ejemplo
REST
Es un servicio multiplataforma que nos permite acceder a la información desde cualquier plataforma.
Ejemplo
Registro una aplicación
Hay dos maneras de registrar nuestra aplicación en Azure AD para gestionar la seguridad y la autenticación. Dependiendo el IDE que usemos tendremos que usar una u otro. En el caso de Visual Studio podremos usar el modo automático o manual, en el caso del resto de IDE's será manual.
Manual
Los pasos a seguir para registrar una aplicación de forma manual en Azure AD son los siguientes:
Automático
Los pasos a seguir para registrar una aplicación de forma automática por medio de Visual Studio son:
Office 365 API Preview
Esta es una de las novedades respecto a la actual API de office 365, es la nueva versión, ya es posible utilizarla, aunque no es recomendado para entornos de producción aún. Las mejoras que nos aporta esta versión son principalmente:
Ejemplo:
Llamada predefinida para obtener la información del usuario, donde ya no es necesario usar el punto de acceso del servicio.
Obtención de los mensajes del Usuario:
Conclusiones
A partir de la información anterior podemos ver que es posible desarrollar con cualquier tecnología, nos aporta la posibilidad de un desarrollo multiplataforma y sabemos que requisitos necesitamos para llevarlo a cabo. Lo más importante son las mejoras que están llegando y que vendrán más adelante y que cada vez están facilitando más el desarrollo.
Rubén Toribio SharePoint Architect en Tokiota @rtoribiog