Liferay DXP 7.4 Introduction & Architecture
Liferay DXP 7.4 features a modular, enterprise-grade architecture that bridges the gap between traditional portal functions and modern, decoupled digital experiences. It emphasizes low-code extensibility, headless-first delivery, and a modular core based on OSGi standards.
- High-Level
Multi-Tier Architecture
Liferay DXP 7.4 follows a standard enterprise multi-tier model to ensure fault tolerance and scalability. Each tier is independently scalable and replaceable, providing a robust foundation for production deployments.
Tier |
Description & Responsibilities |
Web Tier |
Handles static content delivery (images, CSS) and integration with SSO solutions like SAML 2.0 or OpenID Connect. Acts as the entry point for all client requests, managing SSL termination and load balancing. |
Application Tier |
The core workhorse running on a Java Virtual Machine (JVM). Hosts the Liferay DXP runtime and supports application servers including Tomcat 9, JBoss EAP, and Wildfly. Manages all business logic, portlet rendering, and API processing. |
Database Tier |
Manages persistent data using supported RDBMS engines such as MySQL, Oracle, PostgreSQL, or SQL Server. Uses connection pooling (HikariCP) and supports primary/replica configurations for high availability. |
Search Engine |
Standardized around Elasticsearch (running as a separate JVM process) for high-performance full-text indexing and retrieval. Communicates with the Application Tier via the Elasticsearch REST API on port 9200. |
The foundation of Liferay 7.4 is the OSGi (Open Service Gateway Initiative) framework, specifically Apache Felix. OSGi transforms the platform from a monolithic application into a dynamic collection of independently managed components.
Decoupled Modules: Functionality is broken into small, independent bundles (JARs). Each bundle declares its own dependencies, exported packages, and imported packages in a MANIFEST.MF descriptor, enforcing clean separation of concerns and eliminating classpath pollution.
Dynamic Lifecycle: Modules can be installed, started, stopped, or updated without restarting the entire application server. This enables zero-downtime deployments for individual modules and significantly accelerates the development feedback cycle.
Service Registry: Modules publish and consume services through a central OSGi registry, allowing for clean separation between service contracts (interfaces) and implementations, and supporting dynamic substitution of implementations at runtime.
Declarative Services: Using @Component and @Reference annotations, developers register OSGi services and inject dependencies declaratively without manual registry interaction. The framework manages the lifecycle and wiring automatically
Client Extensions: Allow developers to integrate external applications built in React, Angular, or Vue without deploying code directly into the Liferay core JVM. Client Extensions communicate through public Headless APIs exclusively, making them upgrade-safe and technology-agnostic. They are described by a client-extension.yaml file and can be deployed as Docker containers, CDN-hosted static resources, or independent microservices.
Liferay Objects: A low-code architectural feature that allows non-developers to define custom data models, field relationships, validation rules, and REST/GraphQL APIs directly through the administration UI. Objects auto-generate database tables, API endpoints, and default UI views upon publication with zero Java code required
Liferay DXP 7.4 is designed as a Headless CMS, architecturally separating content management from the presentation layer. This enables Liferay to serve as a central content hub for multiple frontends — web, mobile, kiosk, or third-party system — simultaneously.
API-First: Built-in, OpenAPI 3.0-compliant REST APIs and GraphQL endpoints provide full CRUD operations for users, pages, content, documents, and custom Objects. All APIs are browsable through the integrated Swagger UI at /o/api and secured with OAuth 2.0 and role-based permission scoping.
REST Builder: A Gradle-based code generation tool used to accelerate the development of custom, secure headless APIs with automated scaffolding. Developers define the API in an OpenAPI descriptor file and REST Builder generates resource interfaces, implementation stubs, client SDK classes, and test helpers automatically, enforcing a design-first API development approach.
The frontend architecture of Liferay DXP 7.4 is built around a cohesive design system and component model that empowers both developers and non-technical business users to build and manage digital experiences efficiently.
Clay & Lexicon: The platform uses the Clay CSS framework as the official implementation of the Lexicon Design System. Clay provides a comprehensive library of accessible, consistent UI components — buttons, forms, tables, modals, navigation — used across all Liferay admin interfaces and end-user-facing pages. Clay ensures WCAG 2.1 accessibility compliance and supports RTL (right-to-left) layouts for Arabic and Hebrew interfaces.
Fragments: Small, reusable UI components composed of HTML, CSS, and JavaScript. Fragments are the primary building block of the Page Builder, allowing business users to assemble pages via drag-and-drop without developer involvement. Fragments can expose configurable properties through fragment-configuration.json, making them customisable without code editing. They consume Style Book tokens automatically, ensuring visual consistency across pages.
Comments
Post a Comment