webinar programando con alfresco cloud

43
Alfresco Cloud Utilizando programativamente Alfresco Cloud Jose Carrasco Skype: jcarrasko [email protected]

Upload: jose-carrasco

Post on 25-Jun-2015

880 views

Category:

Technology


2 download

DESCRIPTION

Alfresco ofrece una estrategia única y una propuesta radicalmente orientada a la Empresa en su enfoque Cloud. La nube hibrida de Alfresco permite resolver las problemáticas generales y de colaboración con externos mediante el cloud, y las particularidades de negocio mediante onPremise. Pero la oferta de Alfresco Cloud no finaliza aquí: Alfresco nos ofrece una API publica para poder utilizar programativamente Alfresco Cloud y asi aumentar las capacidades de integración con nuestro ecosistema. En este Webinar técnico veremos los fundamentos de la API de Alfresco Cloud así como un ejemplo de programación.

TRANSCRIPT

Page 1: Webinar programando con alfresco cloud

Alfresco Cloud

Utilizando programativamente Alfresco Cloud

Jose CarrascoSkype: jcarrasko

[email protected]

Page 2: Webinar programando con alfresco cloud

Contenido

• Alfresco ?

• Alfresco Cloud ?

• Híbrido ?

• Las API Cloud de Alfresco

• El Modelo de Seguridad

• El Portal de desarrolladores

• Ejemplo

• Siguientes Pasos

Page 3: Webinar programando con alfresco cloud

ALFRESCO ?

Page 4: Webinar programando con alfresco cloud

La plataforma abierta paragestión de contenidos críticos y la colaboración documental.

Page 5: Webinar programando con alfresco cloud

En 2005, revolucionamos el ECM…

Modelo de subscripción + Sin pago inicial de licencia+ Una fracción del coste de un ECM propietario

Simple en su despliegue y uso+ Versión community para desarrolladores + Se ejecuta en plataformas de código abierto

Innovación e Interoperabilidad + El ciclo de innovación más rápido en el mercado ECM+ Líderes en el soporte de estándares abiertos

Page 6: Webinar programando con alfresco cloud

La plataforma Alfresco

Plataforma Open Source

Web Content Services

IMAP Server

Colaboración

Flujos de Trabajo

Contenido social

Gestión de documentos

Gestión de Archivo

Gestión Activos Digitales

Gestión de Expedientes y

negocio

Aplicaciones de movilidad

Alfresco Cloud

DAM

IMAP

ACTIVITI

OWD

Mobile

DM

RM

SHARE

SOCIAL

WCS

ContentPlatform

CLOUD

Page 7: Webinar programando con alfresco cloud

Alfresco en números

4.000 Millones archivos

7 millones usuarios

3,000 empresas

180 paises

Page 8: Webinar programando con alfresco cloud

100,000,000+

documentos

Los 10 mayores despliegues tienen una

media de más de 60 millones

de documentos, superando

algunos los 100 mil.

100,000+usuarios

Los 10 mayores despliegues tienen una media de 72.000

usuarios, superando

algunos los 100 mil.

10,000+docs/hora

Una agencia federal de USA

carga en el sistema +10,000 registros

médicos por hora en Alfresco

Alfresco en el mundo real

Page 9: Webinar programando con alfresco cloud

ALFRESCO CLOUD ?ESCENARIOS.

Page 10: Webinar programando con alfresco cloud

Qué es Alfresco Cloud ?

• Alfresco Cloud es un sistema completo ECM multi-tentant basado en la plataforma Alfresco.

• Alfresco Cloud cuenta con toda la funcionalidad Estándar de Alfresco ECM.

• OOTB se puede utilizar como un sistema colaborativo para grupos o divisiones

• Esta pensado para trabajar con instalaciones de Alfresco locales bajo el enfoque de “ECM Hibrido”

Page 11: Webinar programando con alfresco cloud

Sistema MultitenantNetwork Users Network Sites

www.miorganizacion.com [email protected]

client.com

partner.com

Page 12: Webinar programando con alfresco cloud

Nuestro Data CenterAlojado en Amazon Web Services (AWS)Varios data centers configurados para ofrecer redundancia entre ellos en varias regiones geograficas.

Amazon S3 Data StorageAmazon Simple Storage Service es un almacenamiento escalable, fiable, y rápido. Exclusivo para AWS.

Infrastructura certificada en SeguridadLas infrastructuras AWS son certificadas en SAS70 Type II, SSAE SOC1, ISAE3402 7 y ISO270001.

Multiples Firewalls ( Tiers)La plataforma cuenta con múltiples capas protegidas a diferentes niveles, desde la aplicación hasta las capas de transporte.

Sistemas de detección de intrusos El data-center cuenta con varios sistemas de control para detección de intrusión tanto fisica como virtual. Se realizan continuas pruebas y barridos en la infrastructura.

Page 13: Webinar programando con alfresco cloud

Contingencia

• Backups por Amazon S3:

– 99.99% disponibles– Replicación entre dos regiones– 2 copias encriptadas

• Backups diarios al una infraestructura DR

• RPO : 24 horas y RTO : 4 horas

• Papelera de reciclaje para cada Network.

Page 14: Webinar programando con alfresco cloud

Administración

•Control de usuario : quién está compartiendo qué ?

•Control de la utilización de la Aplicación

•Añadir más almacenamiento

•Papelera de reciclaje

•Branding y look&feel.

Page 15: Webinar programando con alfresco cloud

Admin Features

Page 16: Webinar programando con alfresco cloud

ECM HÍBRIDO ?

Page 17: Webinar programando con alfresco cloud

El futuro del ECM es

Híbrido“Lo que diferencia a Alfresco es que dispone de la capacidad completa de un ECM tradicional para que las empresas gestionen documentos y procesos de alto valor, más un elemento cloud que es fácil y rápido de desplegar.”

Alan Pelz-Sharpe, 451 ResearchResearch Director, Content Management & Collaboration

Page 18: Webinar programando con alfresco cloud

On Premise , en Local

• Máxima seguridad– Dentro del firewall– Acceso físico controlado

• Desarrollos propios– Modelos documentales propios– Workflows propios

• Cumplimiento normativas locales

• Integración con sistemas legacy

Page 19: Webinar programando con alfresco cloud

Despliegue en la Nube

• Colaboración y funcionalidad estándar

• Operaciones delegadas– Copias de seguridad– Instalación– Mantenimiento

• Menor coste por documento– Almacenamiento– Acceso

• Menor coste por subscripción

Page 20: Webinar programando con alfresco cloud

Hibrido ?

80%

20%

Core Business• Seguridad Corporativa• Normativas• Negocio Propio

Comodity• Colaboración• Estandarizados• Poca especialización

Page 21: Webinar programando con alfresco cloud

Cloud Connected

Cloud

Local Content

On Premise

Local Content

On Premise Public Cloud

Sincronización bidireccional de contenidos

Page 22: Webinar programando con alfresco cloud

Cloud Connected

CMIS (ATOM)

REST (JSON)

AlfrescoBarcelona

AlfrescoCLOUD

CMIS (ATOM)

REST (JSON)

AlfrescoMadrid

Page 23: Webinar programando con alfresco cloud

Cloud Connected

CMIS (ATOM)

REST (JSON)

Alfre

sco

On P

rem

ise

Alfre

sco

CLO

UD

CMIS (ATOM)REST (JSON)

WEBDAVSHAREPOINT

Page 24: Webinar programando con alfresco cloud

LA API CLOUD DE ALFRESCO

Page 25: Webinar programando con alfresco cloud

Las APIs de Alfresco

• Alfresco’s “foundation” API en Java

• Server-side JavaScript

• APIs remotas:

– CMIS - Atom REST or SOAP– HTTP REST Webscripts

• Alfresco Mobile SDK

• Alfresco Cloud API

Source: 96dpi

Page 26: Webinar programando con alfresco cloud
Page 27: Webinar programando con alfresco cloud

Cloud API

Es una API remota para interactuar con Alfresco Cloud

CMIS 1.0 (AtomPub)

• Folder• Archivos • Contenidos• Manipulación de metadatos

Alfresco REST APIs (JSON)

• Network• Sites

– Miembros– Favoritos

• Usuarios • Social • Ratings y Comentarios• Actividades• Tags

Page 28: Webinar programando con alfresco cloud

CMIS ?

• Content Management Interoperability Services

• Independiente del lenguaje, neutral en cuanto a vendedor. API diseñada para gestión de contenidos.– Funciones CRUD para los nodos– Check-in/check-out– Asociaciones– Permisos (Access Control Lists)– Policies– Queries

Page 29: Webinar programando con alfresco cloud

Consideraciones sobre la API

• Limites actuales:

– Desarrollo: 5 peticiones/segundo, 10k peticiones / día

– Producción: 50 peticiones/segundo, 100k peticiones / día

• Sin limites en cuanto a número de aplicaciones

Page 30: Webinar programando con alfresco cloud

EL MODELO DE SEGURIDAD

Page 31: Webinar programando con alfresco cloud

Tipos de usuario

• Network Administrator– Acceso a las configuraciones de la cuenta– Branding, usuarios y configuración del Network

• Network User– Crear sitios, ser Site Manager, unirse a sitios públicos o

moderados del Network– Puede ver otros usuarios de la red, su perfil y seguir su

actividad– Tiene acceso a las características de pago como WebDAV

• External User– Invitado para colaborar en un determinado Site– Solo tiene acceso al sitio donde ha sido invitado– No puede ver Usuarios o sitios que no tiene privilegios

Page 32: Webinar programando con alfresco cloud

Características generalesAutenticación de usuarioTodos los contenidos del Cloud estan protegidos mediante autenticación de usuario. Se utiliza OAUTH2 para las APIs.

AES 256 SSL EncryptionTodos los accesos y transferencias desde el navegador , las APIs o los dispositivos moviles son encriptados.

Permisos en Archivos y Sitios Los permisos son configurables a nivel de archivos y sitios.

Notificaciones de actividadSe reciben actualizaciones con la actividad de los usuarios.

Data RetentionTodos los archivos pasan por un proceso antes de ser eliminados, incluyendo papelera de reciclaje.

Page 33: Webinar programando con alfresco cloud

OAuth2 ?

Qué es OAuth2?

• Es un estándar para autenticación y autorización• Cubre los escenarios donde una 3era aplicación ha de acceder a un recurso

pero sin ver el password• Definido en el estándar RFC-6749

Quién usa OAuth2 ?

• Facebook , Google, Hudle, Instagram, LinkedIn, SalesForce, GitHub, Vikuit…

Oauth permite identificar de manera clara:

• API provider (e.g. Alfresco)• Client application (e.g. tu aplicación)• End-user (e.g. un usuario de Alfresco Cloud)

Page 34: Webinar programando con alfresco cloud

OAuth2 ?

Único mecanismo de autenticación provisto para las APIs de Alfresco Cloud.

Desarrollador

Aplicación OauthServer

Alfresco Services

1. Registrar la aplicación

2. Redirección

3. Envío de Token

4. Petición de API + Token

Usuario

Page 35: Webinar programando con alfresco cloud

1. Registrando la Aplicación

Desarrollador Developer Portal

Registrarse en el portal

Registrar una aplicación

Crear un perfil

Asignar una Key / Secret para la app

1

2

Page 36: Webinar programando con alfresco cloud

Enlaza a la página de autorización de Alfresco. Envia la URL de la API, la clave y el secreto

Pregunta al usuario a autorizar la aplicación

El usuario autoriza la aplicación a a acceder a su cuenta

Redirige a tu dirección de retorno ( callback) con el código de autorización. Cambia el código de

autorización por un token de acceso

Devuelve el acceso y refresca el token

Guarda con seguridad el acceso y refresca el token para este usuario

2. Autorización

Aplicación Usuario

1 2 3

4

5

67

Page 37: Webinar programando con alfresco cloud

3. Llamadas a la API

Llama a la APIPasa el Token en la cabecera HTTP

Identifica el acceso desde el tokenEjecuta la llamada a la API

Aplicación

1 2

Page 38: Webinar programando con alfresco cloud

Llama a la APIPasa el Token en la cabecera HTTP

Devuelve 401 Indicando que el token ha expirado

Devuelve un nuevo token de acceso

Actualiza el token y envia el token actualizado

Identifica el acceso desde el tokenEjecuta la llamada a la API

Llama a la APIPasa el Token en la cabecera HTTP

4. Refresco

Aplicación

1 2

4

5 6

3

Page 39: Webinar programando con alfresco cloud

EJEMPLO

Page 40: Webinar programando con alfresco cloud

SIGUIENTES PASOS

Page 41: Webinar programando con alfresco cloud

Cuenta Cloud

2 minutos

1. Registra una cuenta gratuita de 10GB para el dominio de la empresa en cloud.alfresco.com, y comience a trabajar.

Registra la APP

15 minutos

1. Crea una cuenta en http://developer.alfresco.com

2. Consigue la clave y el secreto

Participa

minutos

1. Participa en la comunidad o via forums.alfresco.com, twitter o IRC

Pruébalo !

Page 42: Webinar programando con alfresco cloud

Más información ?

• Alfresco Developer Portal– http://developer.alfresco.com

• Alfresco Forums– http://forums.alfresco.com

• Alfresco Wiki– http://wiki.alfresco.com

• Alfresco Blogroll– http://blogs.alfresco.com

Page 43: Webinar programando con alfresco cloud