Información general
Alfresco es un sistema gestor de contenidos empresariales (ECM), que gestiona todo el contenido dentro de una empresa y ofrece los servicios y controles que gestionan este contenido. En el núcleo del sistema hay un repositorio de Alfresco con el apoyo de un servidor que persiste metadatos de contenido, las asociaciones, y los índices de texto completo. Existen interfaces de programación compatible con varios idiomas y protocolos en los que los desarrolladores pueden crear aplicaciones personalizadas y soluciones. Las aplicaciones periféricas proveen soluciones normalizadas, tales como la gestión documental, gestión de registros y gestión de contenidos web.
Como una aplicación completamente hecha en Java, el sistema de Alfresco se ejecuta en prácticamente cualquier sistema que permita utilizar Java Enterprise Edition. En el núcleo de Alfresco se encuentra la plataforma fuente, que ofrece la posibilidad de modularizar las funcionalidades, tales como control de versiones, seguridad y reglas. Alfresco utiliza secuencias de comandos (scripts) para simplificar la adición de nuevas funcionalidades y desarrollo de nuevas interfaces de programación. Esta parte de la arquitectura se conoce como secuencias de comandos web y puede ser utilizado tanto para servicios de datos y presentación. La arquitectura ligera es fácil de descargar, instalar e implantar.

Aplicaciones de Alfresco
Las aplicaciones de Alfresco se basan en el servidor de aplicaciones de contenido y delegan al servidor de persistencia, el acceso, consulta y gestión de contenido.
Aplicaciones de contenido
Alfresco puede ser utilizado para la construcción de la mayoría de aplicaciones ECM. Aparte de las aplicaciones más importantes, como documentos, imágenes, registors, objetos digitales y gestión de contenidos web, hay una serie de aplicaciones específicas y casos de uso que proporcionan valor a la empresa.
Capa Web y Surf de Alfresco
Alfresco ofrece capacidades de ECM como, por ejemplo, servicios de datos, interfaces de usuario y aplicaciones de usuario. Las capacidades de la interfaz de usuario son proporcionadas por las aplicaciones y los componentes de la aplicación utilizando la capa web de Alfresco, llamada “Surf”; desarrollado originalmente como una forma más rápida de desarrollar aplicaciones de contenido mediante secuencias de comandos y la arquitectura REST. Alfresco contribuyó con “Surf” como un proyecto para la comunidad Spring para el uso con otros componentes de la fuente de capa web, como Spring MVC, WebFlow Spring, y Grails.
Modelos de programación de Alfresco
Una serie de modelos de programación están disponibles para la creación de aplicaciones que utilicen el contenido del servidor de aplicaciones de Alfresco.
Principios rectores de diseño
Los ingenieros fundadores de Alfresco diseñaron un producto para apoyar a los requisitos modernos de ECM basadas en principios que se siguen utilizando hoy en día.
Arquitectura
Hay muchas maneras de modular e implantar Alfresco, sin embargo la mayoría de las implantaciones siguen un patrón general. En última instancia, Alfresco se utiliza para implementar soluciones de ECM, como la gestión de documentos (MS), Web Content Management (WCM), la administración de registros (RM), y gestión de activos digitales (DAM). A través de estas soluciones también pueden ser elementos de colaboración y de búsqueda.