Alfresco Cloud
Utilizando programativamente Alfresco Cloud
Jose CarrascoSkype: jcarrasko
Contenido
• Alfresco ?
• Alfresco Cloud ?
• Híbrido ?
• Las API Cloud de Alfresco
• El Modelo de Seguridad
• El Portal de desarrolladores
• Ejemplo
• Siguientes Pasos
ALFRESCO ?
La plataforma abierta paragestión de contenidos críticos y la colaboración documental.
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
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
Alfresco en números
4.000 Millones archivos
7 millones usuarios
3,000 empresas
180 paises
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
ALFRESCO CLOUD ?ESCENARIOS.
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”
Sistema MultitenantNetwork Users Network Sites
www.miorganizacion.com [email protected]
client.com
partner.com
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.
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.
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.
Admin Features
ECM HÍBRIDO ?
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
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
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
Hibrido ?
80%
20%
Core Business• Seguridad Corporativa• Normativas• Negocio Propio
Comodity• Colaboración• Estandarizados• Poca especialización
Cloud Connected
Cloud
Local Content
On Premise
Local Content
On Premise Public Cloud
Sincronización bidireccional de contenidos
Cloud Connected
CMIS (ATOM)
REST (JSON)
AlfrescoBarcelona
AlfrescoCLOUD
CMIS (ATOM)
REST (JSON)
AlfrescoMadrid
Cloud Connected
CMIS (ATOM)
REST (JSON)
Alfre
sco
On P
rem
ise
Alfre
sco
CLO
UD
CMIS (ATOM)REST (JSON)
WEBDAVSHAREPOINT
LA API CLOUD DE ALFRESCO
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
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
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
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
EL MODELO DE SEGURIDAD
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
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.
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)
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
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
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
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
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
EJEMPLO
SIGUIENTES PASOS
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 !
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