[Alfresco Companion] – Capitulo 3: Arquitectura

Buenas.

He estado haciendo un brainstorm con distintas personas y, tras varios garabatos en un papel, creo que el siguiente paso para este tutorial debería ser explicaros la Arquitectura que envuelve nuestra instalación, así podríamos tener una visión global de la arquitectura y saber a alto nivel los distintos componentes que interaccionan en nuestra instalación lo cual, en líneas generales, nos ayudará a comprender qué es Alfresco.

Echemos un vistazo a su arquitectura:

 Veamos punto por punto de qué se compone:

1. Physical Storage – Esta capa donde están ubicados nuestro repositorio o file system (alf_data) y la base de datos.

2. Alfresco Content Application Server – En esta capa encontramos todos los servicios que componen Alfresco y que utilizaremos cuando, desde una aplicación externa, necesitemos recuperar y tratar la información que tenemos guardada en nuestro repositorio.

  • Alfresco es el que contiene las APIs con las que podremos interactuar desde otras aplicaciones como Share, Web Quick Start o una app propia que hayamos desarrollados.
  • Alfresco está basado en dos estándares: CMIS (Content Management Interoperability Services) y JCR (Java Content Repository / JSR-170/286). Estos estándares abarcan las especificaciones necesarias para cubrir definición y almacenamiento; interactuación con contenido, versionado y permisos. Cumpliendo con esos estándares se proporciona una aplicación fiable, escalable y eficiente.
  • Alfresco proporciona los siguientes servicios:
    Content services (transformation, tagging, metadata extraction)
    Control services (workflow, records management, change sets)
    Collaboration services (social graph, activities, wiki)

3. Alfreco Client – En esta capa encontramos las principales aplicaciones: Alfresco Explorer y Share. Nos centraremos en conocer Share porque Alfresco Explorer está relegado más a tareas administrativas desde 2010.

  • Share podemos desplegarlo en una capa a parte, no tiene por qué estar en el mismo servidor que Alfresco. Esto quiere decir que podremos tener en un servidor un alfresco.war, en otro un share.war, y conectarlos entre si para que Share use los servicios que proporciona alfresco. Mientras que Alfresco contiene los servicios necesarios para interactuar con nuestro contenido, Share es una aplicación orientada a la colaboración entre usuarios. Share está basado en Spring Surf y es muy sencillo extenderlo y personalizarlo.

4. Aplicaciones que podemos usar cuando instalamos Alfresco: Document Management (Alfresco en sí), Web Content Management (para manejar contenidos web, Web Quick Start), Record Management (RM) y Colaboración (share).
Los clientes se comunican con Alfresco y sus servicios a través de numerosos protocolos soportados. HTTP y SOAP ofrece acceso programático (cuando desarrollas en tus aplicaciones) mientras que los protocolos CIFS, FTP, WebDav, IMAP y Microsoft Sharepoint ofrecen acceso a nivel de aplicación.

Normalmente cuando se realiza una instalación desde cero se debe tener en cuenta para qué se va a utilizar, si la finalidad va a ser para usar Alfresco como repositorio y nosotros implementaremos una aplicación aparte que ataque al mismo (en este caso solo instalaremos y usaremos alfresco), o si la empresa quiere gestionar sus documentos en plan colaborativo, con workflows, etc. Entonces pensaríamos en Alfresco y Share. Si además necesitas gestionar contenidos y publicarlos en web, la combinación pasaría por Alfresco, Share y Web Quick Start, etc.

Estructura de carpetas básica:

Ahora me gustaría enseñaros cuando realizamos una instalación básica cómo queda en nuestro PC:

1. Physical Storage: 

2, 3 y 4. Clientes:


Esto es todo por el momento. Espero que no se haya hecho muy pesado, los que conozcan Alfresco ya saben que tiene mucho material para hablar (sobre todo cuando se trata de arquitectura). Mi idea es dividirlo en pequeños tutoriales así evito que sea muy pesado :-)
Cualquier feedback/opinión será como siempre bienvenido.
Un saludo y hasta la próxima.

3 pensamientos en “[Alfresco Companion] – Capitulo 3: Arquitectura

  1. Marcelo

    Hola Cristina,
    He estado leyendo este topic y quizá me adelante, pero tengo una duda. He instalado Alfresco en mi empresa (V 4.2), he creado usuarios y sitios. Concretamente uno de los sitios se llama “Clientes” y allí tengo una biblioteca de documentos donde he abierto una carpeta para cada uno de ellos y allí guardo información relevante de su instalación como así también presupuestos que les hago llegar y otra documentación varia. Lo que quiero es poder darle a cada uno de ellos un usuario y contraseña para que puedan conectarse y buscar o agregar documentación. He probado crear un usuario para este propósito pero mi sorpresa es que puede ver todo el contenido de Alfresco. ¿Qué puntos debería revisar para quitarle permisos de exploración y a la vez permitirle tener la condición de “contributor” en su propia carpeta? ¿se puede hacer esto que quiero hacer?

    Desde ya muchas gracias por tu tiempo.

    Atentamente
    Marcelo

    Responder
      1. Marcelo

        Hola Cris,
        Gracias por tu respuesta. Este fin de semana, cuando me libere un poco del trabajo atrasado, me sentaré a leer los dos links que me has enviado. Les di una lectura rápida y algo había leído en el libro “Alfresco 3” de Cignex pero fui incapaz de realizar las tareas que comenté.
        En cuanto al foro de Alfresco si he escrito, solo que todavía no he recibido respuesta de las dudas por eso me pareció más rápido consultarte por aquí.
        Gracias nuevamente por tu rápida respuesta.
        Atentamente
        Marcelo

        Responder

Deja un comentario