- 7 Views
- 0 Comments
Alfresco overview
FunMaster
- Post By FunMaster
- 16 hours ago

🔹 What is Alfresco?
Alfresco (now Alfresco Content Services – ACS) is an open-source Enterprise Content Management (ECM) platform used for:
- Document management
- Records management
- Workflow automation
- Content collaboration
It is Java-based and highly extensible, commonly deployed on Tomcat with a database + content store + search engine (Solr).
🔴 Core Architecture (Deep but Clean)
Alfresco follows a modular, service-oriented architecture with these main tiers:
1. Presentation Layer (UI / Client)
Components:
Share UI (Aikau/Surf, moving to newer UIs)
REST clients (Angular/React apps)
Mobile / external apps
Responsibilities:
User interaction
Document upload/download
Workflow initiation
👉 Communicates via REST APIs (v1 public APIs or internal services)
2. Repository Tier (Core Engine)
This is the heart of Alfresco.
Runs on:
Apache Tomcat (Java Spring-based)
Key Services:
Node Service (content model objects)
Content Service (file handling)
Permission Service (ACL security)
Version Service
Workflow Service (Activiti / APS)
🔹 Data Model (Important)
Alfresco stores everything as a Node in a hierarchy:
Workspace → Store → Node → Properties + Content
Each node has:
Metadata (properties)
Content (binary file)
Associations (relationships)
3. Database Layer (Metadata Storage)
Supported DBs:
PostgreSQL
MySQL
Oracle
Stores:
Node metadata
Permissions (ACL)
Workflow state
Version history
👉 DOES NOT store actual files
4. Content Store (File Storage)
Actual documents are stored in:
File system
NAS / SAN
Cloud storage (S3, Azure Blob)
Structure:
Binary files stored in hashed directory structure
Referenced via DB
5. Search Layer (Solr / Elasticsearch)
Solr is default search engine
Responsibilities:
Full-text indexing
Metadata indexing
Fast search queries
Flow:
Content/Metadata → Indexed in Solr → Queried via API
6. Workflow Engine
Options:
Activiti (embedded)
Alfresco Process Services (APS – BPMN engine)
Used for:
Approval workflows
Business processes
Task management
7. Integration Layer
Supported integrations:
REST APIs
CMIS (Content Management Interoperability Services)
Web Scripts
Java APIs
👉 Enables:
External system integration
Microservices
Custom apps
🔴 End-to-End Flow (Technical)
1. User uploads document via UI
2. Request goes to Repository (Tomcat)
3. Metadata stored in DB
4. File stored in Content Store
5. Solr indexes content + metadata
6. Workflow triggered (optional)
7. Document available for search/retrieval
🔴 Security Architecture
Authentication:
LDAP / Active Directory
SSO (SAML/OAuth)
Authorization:
Role-based access
ACL (Access Control Lists)
Audit:
Activity logs
Version tracking
🔴 Key Alfresco Concepts (Interview Important)
Node (core object)
Store (workspace://SpacesStore)
Aspect (adds behavior to nodes)
Content Model (custom types)
Web Scripts (REST endpoints)
Solr Index
🔴 Performance & Scaling
Horizontal Scaling:
Multiple Tomcat instances
Load balancer
Bottlenecks:
Solr indexing delays
DB queries
Content store I/O
Optimization:
DB tuning
Solr sharding
Caching
🔴 High Availability Design
DB clustering
Solr replication
Shared content store
Load-balanced app servers
🔥 Quick Comparison (OnBase vs Alfresco)
Feature OnBase Alfresco
Storage Disk Groups Content Store
DB Metadata only Metadata only
Language .NET / mixed Java
Workflow Built-in Activiti
API Unity / REST REST / CMIS
🔴 When to Use Alfresco
Open-source ECM requirement
Heavy customization
Cloud-native deployments
Microservices integration