Archive for the 'Cloud Computing' Category

Multitenancy en Alfresco

Toni February 8th, 2010

multitenant_small2Desde hace unas cuantas versiones, Alfresco incorpora la característica “Multi-Tenant”, podemos traducirlo como “Multi-Inquilino”, ¿y que significa eso? Alfresco permite que varios inquilinos independientes (Alfrescos independientes) puedan ser alojados en una única instancia, es decir, tenemos un Alfresco con un repositorio y que lo va a usar una organización, pues si activamos el MT, tendremos un Alfresco, que se “virtualiza” a si mismo y dispone de repositorios físicos independientes con un mismo punto de entrada y a través del nombre de usuario, el sistema sabrá de que Tenant se trata.

Vamos a ver esto en el mundo real, así saldremos de dudas. Antes de seguir, recuerda que está todo documentado en la Wiki de Alfresco, en la sección MultiTenant. En este caso veremos como trabajar con MT en Alfresco Enterprise 3.2 pero aplicable a otras versiones.

Primero vamos a ver como se activa MT:

Vamos al directorio mt dentro de <extension>:

# cd $INSTALACION_DEL_TOMCAT/shared/classes/alfresco/extension/mt

Renombramos los tres archivos .sample que encontramos (son 3), no hay que modificar nada dentro de ellos, por defecto funciona correctamente, los podemos renombrar de uno en uno o todos a la vez con este comando:

# for i in *.sample; do mv "$i" "`basename $i .sample`"; done

Hecho esto, reiniciamos Alfresco y en los logs deberemos ver algo nuevo relacionado con el cambio que hemos hecho:

18:21:42,680 User:System INFO  [repo.tenant.MultiTAdminServiceImpl] Alfresco Multi-Tenant startup
- 0 enabled tenants, 0 disabled tenants
18:21:58,027  INFO  [service.descriptor.DescriptorService] Alfresco started
(Enterprise - Multi-Tenant): Current version 3.2.0 (304) schema 3400 - Originally installed
version 3.2.0 (304) schema 3400

OK, ahora vamos a ver si es verdad. Lo primero que debemos hacer es autenticarnos en Alfresco Explorer como administrador, en http://localhost:8080/alfresco admin/admin y listo.

Ahora ponemos la siguiente URL para acceder a la consola de administración de MT:

http://localhost:8080/alfresco/faces/jsp/admin/tenantadmin-console.jsp

consola-mt

En esa misma web podemos ver toda la ayuda que nos brinda la consola para ver, crear, borrar, habilitar, deshabilitar, cambiar contraseña, exportar e importar Tenants.

Vamos a ver unos ejemplos de cómo crear un tenant y empezar a trabajar con él.

Escribimos en la linea de comandos:

create blyx.com password /opt/alfresco-enterprise-3.2.0/alf_data_blyx

Esto tardará unos segundos, en función de lo rápida que sea nuestra máquina. Cuando veamos el mensaje

created tenant: blyx.com” se habrá creado el nuevo tenant… explicación redundante ;)

¿Y realmente que hace ese comando que hemos lanzado? Crea un tenant vacío y activo. Tendrá como administrador del mismo (para crear usuarios, grupos, etc.) un usuario llamado admin@<tenantdomain> en mi caso, admin@blyx.com, con la contraseña “password”. Todos los usuarios que accedan a ese tenant lo deberán hacer usando “usuario@blyx.com“. El repositorio físico (contentstore) estará en el directorio indicado en el comando.

Ahora podemos acceder a nuestro Tenant como admin y ver que realmente tenemos un repositorio totalmente vacío y disponible. Accediendo a nuestro sistema http://localhost:8080/alfresco con las credenciales de administrador del tenant correspondiente.

acceso-al-tenant

¿Qué puede hacer el administrador del tenant?

  • Gestionar los usuarios del sistema  (incluyendo cuotas).
  • Gestionar grupos.
  • Gestionar categorías.
  • Importar.
  • Exportar (incluyendo el repositorio completo del tenant).
  • Acceso a la información del sistema (System Information en la consola de administración).
  • Acceso al Node Browser (consola de administración).
  • Alfresco Share también como tenant.
  • Acceso Webdav.
  • Acceso FTP.
  • WebScripts propios, para ello deben requerir autenticación para conocer de que tenant se trata.
  • Personalización de modelos, webclient, workflows y demás a través de los Modelos Dinámicos y de la consola de repositorio.
  • Acceso del usuario invitado (guest) en el contexto del tenant, es decir, como guest@dominio.
  • Soporta clustering de forma nativa.
  • Los módulos AMP instalados en el dominio por defecto estarán disponibles para los demás tenants.

¿Qué no podemos hacer aún con los tenants o qué no está soportado? Info extraida de la wiki y basado en la versión 3.2.

  • El soporte a CIFS no está soportado actualmente.
  • La autenticación sólo puede ser la nativa de Alfresco, por ahora no soporta autenticación externa (LDAP, NTLM, etc).
  • WCM / Web Studio no soportado.
  • Portlets.
  • Borrar un tenant.
  • Correo electrónico entrante.
  • Replicación del repositorio.
  • IMAP.
  • SPP / VTI (SharePoint Protocol).

Como veis, es una solución orientada a los servicios, a la nube. Espero que os sea de utilidad, por lo menos para saber de que va esto del Multitenant del que tanto se oye hablar.

  • Meneame
  • Netvibes Share
  • Delicious
  • Digg
  • Google Reader
  • Technorati Favorites
  • LinkedIn
  • Twitter
  • TypePad Post
  • Blogger Post
  • Google Bookmarks
  • WordPress
  • Facebook
  • Share/Bookmark

Digitalización, scanning y OCR con Alfresco

Toni July 8th, 2009

alfresco-logoEn el paradigma “oficina sin papeles”, intervienen muchos actores, siendo los principales las personas, que deben ajustarse a una serie de procedimientos y metodologías, y los sistemas de información, que deben proveer soluciones al paradigma.

En cuanto a complejidad, un proyecto de “Paperless Office” es tan difícil y en ocasiones frustrante como un proyecto de “Single Sign” o “Identity Management” en grandes organizaciones consolidadas ya sean públicas o privadas. El problema principal son, por un lado las soluciones Open Source de calidad, que no son muchas, los requerimientos técnicos del cliente dados muchas veces por aplicaciones obsoletas y heredadas.

Con Alfresco, gracias a características como el soporte CIFS, Webdav, reglas, transformación de formatos, workflow o indexación, conseguimos aproximarnos a nuestro objetivo, aunque en una oficina sin papeles necesitaríamos integrarnos con otras soluciones como firma digital, etc, que ya contemplaré algún día por estos lares.

En este caso me gustaría contar qué puede hacer Alfresco por nosotros en cuanto a digitalización de documentos, escaneo masivo (bulk scan) y OCR:

a) Ad-hoc scanning: usando CIFS o Webdav con la extracción de metadatos automática (por defecto). La mayoría de las impresoras/escaner multifunción modernas de oficina y de cierta envergadura soporta montar volúmenes remotos (conectarse a carpetas de red) para colocar la documentación escaneada. También podríamos hacerlo desde un escaner conectado a nuestra estación de trabajo. De esta forma se almacenarían los documentos directamente en Alfresco y posteriormente se pueden lanzar workflows, transformaciones, reglas, etc. Por ejemplo, una hoja de gastos, hoja de reclamaciones, actas, pedidos de clientes, documentos de identificación en puestos de control, etc.

En el caso anterior, que hemos llamado Ad-hoc scanning, no se contempla indexación del contenido de los documentos ya que estas grandes impresoras por defecto no hacen reconocimiento de texto (OCR), por lo que el documento escaneado, aun conteniendo texto, sería como una imagen. Para salvar este escollo se puede integrar con Alfresco una solución gratuita llamada Intelliant, basada en la SDK de Tiger OCR. Esta solución, que sólo funciona si el servidor Alfresco está instalado en un sistema operativo MS Windows, nos permitirá, a través de reglas y transformaciones, extraer todo el texto de un documento escaneado de forma que se pueda indexar y podamos hacer búsquedas por el contenido, algo realmente cómodo.

b) Batch scanning: Cuando necesitamos escanear cientos de documentos tipo plantilla, por ejemplo hojas de matrícula, facturas, exámenes, etc, y de éstos documentos queremos extraer la información y poder vincularla a metadatos de Alfresco, ya sea del modelo de datos por defecto o de un modelo personalizado, necesitaremos una solución que permita mapear la información existente en la plantilla/documento escaneado de turno, con un tipo de contenido de Alfresco, campo del documento con un metadato en Alfresco, etc. Esta solución se llama Kofax Ascent Capture, Alfresco dispone de un plugin gratuito y disponible en la forja de Alfresco [http://forge.alfresco.com]. Este software utiliza la API de WebServices de Alfresco para realizar su trabajo. El plugin sólo funciona en MS Windows.

Kofax Ascent Capture tiene las siguientes características (fuente):

  • Corrección y mejora automática de imágenes.
  • Separado automático de documentos e identificación automática de formularios.
  • OCR, ICR y OMR para reconocimiento de texto impreso o escrito a mano en cientos de idiomas, códigos de barras y otros tipos de códigos.
  • Certificado para funcionar con la mayoría de scanners, ver listado.
  • Integración con Alfresco y gestión de procesos de negocio.

La opción a) es completamente gratuita y la opción b) depende del propio software Kofax Ascent Capture, que no es gratuito.

Hay otras soluciones como usar un escaner con soporte eCopy, cuyo conector con Alfresco ha sido desarrollado por SIRA Systems. Este conector permite a un usuario escanear un documento y ponerlo directamente en Alfresco. Este software se instala en el escaner y hace de interfaz entre el escaner y Alfresco. Sería una solución del tipo a) ya que no contempla selección ni mapeo de datos de los documentos escaneados, aunque si permite la indexación del contenido ya que incorpora un OCR, esta solución cuesta 2.495USD. Más información sobre el conector de SIRA Systems aquí.

  • Meneame
  • Netvibes Share
  • Delicious
  • Digg
  • Google Reader
  • Technorati Favorites
  • LinkedIn
  • Twitter
  • TypePad Post
  • Blogger Post
  • Google Bookmarks
  • WordPress
  • Facebook
  • Share/Bookmark

Proxmox VE: una alternativa libre a la gestión de la virtualización

Toni April 26th, 2009

logo_pveYa tengo muchas máquinas en casa y poco tiempo para dedicarle al hardware y el cacharreo por lo que hace ya un mes que adquirí en Hetzner un nuevo servidor para mi laboratorio, Hetzner es ISP alemán y sudafricano que permite alquilar máquinas físicas a un precio aceptable, ancho de banda de sobra y con un servicio magnífico comprobado a lo largo de más de un año con otros servidores que uso a titulo profesional. No conozco muchos ISP de la magnitud de Hetzner para poder haceros comparativas en cuanto a servicios/precio, pero son rápidos y en caso de problemas (tanto de sistema operativo, de red como físicos) están ahí para ayudar con un servicio 24×7 excelente incluido en el precio. La única pega es que el panel de control que ofrecen a los clientes está en alemán pero es sencillo y con Google Translator en unos minutos lo tenía dominado.

Hecha la “cuñita” publicitaria sin ánimo de nada a Hezner (cuando algo funciona también hay que decirlo). Paso a contaros qué infraestructura he configurado para gestionar este servidor.

Actualmente, gracias al furor “Cloud” y teniendo en cuenta que la virtualización forma parte del paradigma aunque no obligatoriamente, he estado mirando diferentes fórmulas o aplicaciones para gestión de la virtualización de forma sencilla, cómoda y rápida, por supuesto en Software Libre. Conocía desde hace tiempo Enomalism o actualmente AbiCloud* que es muy interesante y otras muchas soluciones web que permiten gestionar máquinas virtuales y aprovisionarlas, pero a la hora de la verdad la mayoría de estas aplicaciones de gestión de la virtualización no rinden como se espera, me refiero por ejemplo a la clusterización, migración de máquinas virtuales entre físicas y acciones afines o en algunos casos hay que pasar por caja para conseguir funcionalidades extra que generalmente no son Open Source. Los amigos de la Fundación I+D del Software Libre llevan usando Proxmox VE unos cuantos meses. Así que tras documentarme me lancé a la aventura y solicité a mi ISP que me montaran una máquina con Proxmox VE 1.1.

*AbiCloud no es sólo un gestor de máquinas virtuales sino que también puede gestionar máquinas físicas de una nube.

Proxmox VE es una plataforma de virtualización de código libre (GPLv2) realizada por la compañía alemana Proxmox Server Solutions GmbH, especializados en appliances virtuales empresariales.

¿Por qué usar Proxmox VE?

  • Porque hace gala del principio KISS, es simple y funciona.
  • Porque permite desplegar máquinas virtuales en cuestión de segundos ya sea desde las plantillas disponibles o desde 0.
  • Porque permite crear contenedores gracias a OpenVZ, permite virtualizar y paravirtualizar gracias a KVM, por lo que no hecho de menos ni VMware ni Xen.
  • Porque permite descargar plantillas con aplicaciones instaladas y configuradas listas para usar desde aquí.
  • Porque se pueden tener varios servidores físicos en cluster y migrar en vivo máquinas virtuales de un servidor a otro de forma rápida y sencilla. Permitiéndo aprovechar al máximo el hardware y alta disponibilidad de mis sistemas operativos virtualizados.
  • Porque permite hacer backup a otros discos de forma totalmente desatendida y controlar gráficamente el estado y consumo de cada una de las máquinas virtuales.
  • Porque puedes acceder por VNC a cualquiera de las máquinas desplegadas aún sin red configurada.
  • Porque se descarga en ISO, basada en Debian y se instala directamente en el servidor anfitrión, una vez instalado todo lo demás se hace vía web.

800px-screen-startpage-with-cluster

Y por muchas razones más. Pero no es oro todo lo que reluce, he echado de menos más información sobre el consumo de red y recursos. Aunque se muestran datos básicos, no hay acumulados y gráficas históricas que son importantes para adelantarse a los problemas. Realmente con ntop y Cacti se soluciona este problema. En cuanto a documentación y comunidad no está mal, ya que tanto OpenVZ como KVM además del propio ProxmoxVE cuentan con un importante número de colaboradores y manuales.

Para instalarlo mira este fantástico manual que nos ofrecen los amigos de Howtoforge.

Lo tengo claro, para montar un entorno corporativo o personal de virtualización ya tengo una solución Open Source que cubre mis necesidades: Proxmox VE.

  • Meneame
  • Netvibes Share
  • Delicious
  • Digg
  • Google Reader
  • Technorati Favorites
  • LinkedIn
  • Twitter
  • TypePad Post
  • Blogger Post
  • Google Bookmarks
  • WordPress
  • Facebook
  • Share/Bookmark

Cloud computing, visto de una forma fácil

Toni January 11th, 2009

A través del blog de Oriol Rius he visto un video muy divertido sobre qué es el cloud computing. Esta presentación, realizada por la gente de rPath, se titula “Cloud Computing in plain english”, en mi pueblo lo traduciríamos como “Cloud Computing pa’ que te enteres”. Y bueno, quería compartirlo con vosotros aquí. Más abajo tenéis un resumen.

A modo de resumen decir que el Cloud Computing es la mezcla de unir virtualización, utility computing y software as a service, lo que es lo mismo, ofrecer una o varias aplicaciones, recursos computacionales y almacenamiento a través de virtualización como capa de abstracción física, de forma que usaremos una herramienta, posiblemente web, sin saber necesariamente donde está. Software as a Service (SaaS) suele ser confundido con Cloud Computing pero realmente este último es más simple y flexible, y pagas por uso en lugar de ser por suscripción. Para hacernos una idea, en el mundo del software tradicional es como comprar un coche, pagas un precio fijado por el fabricante, pagas por el soporte y garantía que puedes usar o no pero que tienes que pagar al fin y al cabo. Con el Software as a Service es como tener un coche en renting, tienes un buen coche por el pagas todos los meses por unos servicios mínimos establecidos y sin capacidad de personalización a posteriori de forma que se reducen los costes y responsabilidades. El Cloud Computing va mucho más allá, es como tomar un taxi, lo usas cuando quieras, pagas cuando lo usas, no hay costes de mantenimiento (combustible, reparaciones, etc.)  y tu decides sobre la marcha lo corto o largo que será el trayecto, además puedes tunearlo e incluso puedes montar a otros clientes en él, el motor del taxi, en este caso, es la virtualización.

Posiblemente no sea la metáfora perfecta pero ayuda bastante a entender el concepto.

  • Meneame
  • Netvibes Share
  • Delicious
  • Digg
  • Google Reader
  • Technorati Favorites
  • LinkedIn
  • Twitter
  • TypePad Post
  • Blogger Post
  • Google Bookmarks
  • WordPress
  • Facebook
  • Share/Bookmark