Logical Architecture
Liferay Architecture
Enterprise Layer
The enterprise layer forms the top layer of services and components that are grouped into taxonomies which support and realize enterprise functions such as Portal Management, Content Management, Workflow Management, Document Management, User Management and Security Management. The Enterprise Layer is also comprised of inter related service components and features such as Personalization, Collaboration, Social Networking, Delivery Channels, Virtualization and Tunnelling Servlets. These form the basic backbone or core enterprise features of Liferay.
Service Layer
Liferay follows a Model Driven Architecture approach. In the traditional sense it requires a Platform Independent Model (PIM) from which we derive a Platform Specific Model (PSM) and subsequently generate implementation logic. In Liferay however, we begin with a Domain Specific Model (DSM) since the root model is only specific to Liferay domain and it defines all the nouns of the system with their interactions and is translated to a Platform Specific Model (PSM) which constitutes the EJB’s, Spring Framework, Hibernate Layer, Web Services and then generates the implementation classes by extending the appropriate services. This is made possible due to the implementation of Service Builder which is the most integral tool provided by Liferay and enforces the same standards throughout. The services builder is the Model Driven Transformation (MDT) Tool in this context.
Extensions Framework
Liferay provides extensions framework by use of an Extension Environment and Plugins Framework. The extension environment has the same directory structure of the Liferay and was implemented by overriding the existing source files by placing them in the same path. The design also incorporated multiple –ext.properties file to change default settings of the portal by overriding desired properties in the –ext.properties file. The best approach is the hot deployable plugin framework which provided a number of wizards to construct portlets, themes, layouts and hooks or interceptors, and now provides an ext-plugin which provides a similar offset by only replicating those files that require modification without the entire portal content. The Plugins approach provides both an IDE and command line interface. The IDE takes a wizard approach to create portlets, themes, layouts and hooks. The hooks are basically interceptors that can be categorized into model hooks, JSP hooks, properties hook and event hooks. Model hooks deal with interception of entity actions in services, JSP hooks are provided to dynamically modify Liferay JSP pages, the event hook is used to intercept portal events, and the property hook is used to update the Liferay properties. The ext-hook plugin is a new feature than provides changes to the Liferay structure and can be hot deployed at runtime.
Logical Architecture of Liferay
Liferay supports Windows, Mac and Linux OS. JRE is installed on the supported OS to host the JVM. An application server is required to contain the Liferay instance. The officially supported servers include, but not limited to Apache Tomcat, Glassfish, Geronimo, Jetty, JOnAS, JBoss, and Resin. Most of these servers are available as bundled versions for download and are deployed in the JVM container. The server provides connectivity and interoperability using an Enterprise Service Bus (ESB), and there are multiple services offered by the servers which are leveraged by Liferay. Some of the services, which are primarily used by Liferay on the Application server, include the following: JNDI, JDBC, JTS, JMS, JAAS, JDO, JWS, JSP/Servlets, and JavaMail. Applications can be deployed on the server like SOLR Search engine, or DROOLS Rule Engine, or Tunneling Servlets which can further provide extension or integration of external applications with Liferay. Liferay uses a number of technologies at its core to offer the various services. These technologies include EJB, Hibernate, Spring and JBPM. Liferay implements Lucene Search Engine by default and can be configured to extend the SOLR Search Engine which is built on Lucene to extend capabilities to provide clustering, faceted search, filtering with additional enhancements and scalability. A Portlet Bridge is provided to deploy JSR 168/286 portlets and supports RIA applications. Liferay contains Language adaptors such as for Python, Ruby and PHP which allows easy integration.
The Administration Kernel provides the base framework for integration and support of all modules, with tooling support, wizards, service providers, listeners and runtime configuration parameters to tweak the application server in runtime mode. The services builder provides the basic framework to construct and deploy the services using a Model Driven Development (MDD) approach. The portlet plug-in leverages on the portlet bridge to provide dynamically generated portlets to the end users and enhanced RIA integration. The hooks plug-in provide convenient access to intercept and alter the services and functionality of the Liferay instance in a standardized approach.By leveraging on all the services and features extended by Liferay, a robust Enterprise Services layer resides on top of this providing extended solutions ranging from Portal Management, Web Content Management, Enterprise Content Management, Document Management, User Management, Workflow Management, Security Management. These in turn provide features such as Personalization, Collaboration, Virtualization, Social Networking and integrates Dynamic Delivery Channels, and Tunneling Services.
Reference Architecture
Conceptual Network Model
The reference architecture described here has three network zones. The external zone (EXT Zone) which is outside the boundary of the network, the Demilitarized Zone (DMZ) which behind the firewall and provides limited direct access to named systems in EXT zones, and provides user access with load balancing, and Internal Zone (INZ) which is blocked from the EXT zone and only DMZ systems has firewalled access to systems in the INZ Zone. Both zones may be in different VLANS and needs NATed IP for communication, additional to the firewall restrictions. Additionally a secure zone within the internal zone can be provided for an extra layer of security for their database clusters.
Though different hardware may be used the primary blueprint or the conceptual network model may follow the same standards:
- Router & Firewall for incoming ISP link which provides the first layer of security.
- A Load Balancer and dedicated content proxy for routing traffic to servers in the internal zone.
- The primary server and secondary failover server for high availability.
- Dedicated Database Server for improved performance.
- An administration console for management for servers.
- Digital Asset Management with Social Office with hot swappable drives. (Optional)
- Backup server with staging environment. (Optional)
For datacenters and cloud computing, it is better to provide HPC Clusters.
Physical Network Model - High Availability Systems
In the Physical Network Model we have used a Dell rack mounted servers for illustration:
- Cisco Integrated Services Router to provide access to the ISP gateway and define the zones with firewalls.
- Barracuda Load Balancer with Dedicated Content Proxy for managing the communications. For high availability two Load Balancers may be used, each one supporting up to 256 servers.
- A KVM console switch for management of all servers in the rack.
- Dell Power edge servers 800 series are deployed as primary, secondary and backup servers.
- Dell Power edge server 700 series with hot-swappable drives is used for DAM.
- Dell Power edge server 900 series is used for Database Management.
- Dell Redundant Failsafe UPS for ensuring the primary power source for the unit.
相关推荐
Liferay Portal Liferay IDE
Liferay是一款开源的企业级门户平台,它提供了丰富的功能和高度可定制性,广泛应用于构建企业网站、内部系统、协作平台等。在这个“liferay详细讲解 liferay项目完全讲解”的资料包中,我们可以期待深入了解到关于...
标题 "Liferay扩展环境 Liferay Ext" 涉及到的是Liferay门户平台的一个关键概念,Liferay Ext是用于扩展和定制Liferay功能的核心工具。Liferay是一个开源的企业级内容管理平台,它允许用户根据需求构建自定义的数字...
### Liferay环境搭建详解 #### 一、简介 Liferay是一款功能强大的开源企业级门户平台,主要用于构建企业级Web应用程序和服务。本文档旨在详细介绍如何利用Eclipse集成开发环境(IDE)来搭建Liferay开发环境,并...
### Liferay快速入门知识点详解 #### 一、Liferay Portal简介与快速启动 Liferay Portal是一款功能强大且灵活的企业级门户平台,它基于Java技术,遵循JSR-168标准,提供了丰富的特性来满足企业内外部网站的需求。...
【Liferay 6 入门教程】 Liferay是一款开源的企业级门户平台,广泛用于构建企业网站、社交网络和协作工具。Liferay 6是其一个重要的版本,提供了丰富的功能和改进,包括更好的用户体验、增强的社区参与度以及更强大...
Liferay是一款开源的企业级门户平台,它提供了丰富的功能来构建和管理数字体验,包括网站创建、内容管理、社交协作以及工作流程。以下是对这8本Liferay经典书籍的知识点总结,旨在帮助读者深入理解并掌握Liferay的...
### Liferay 6.0 开发指南核心知识点详解 #### 一、引言与概述 Liferay是一款功能强大且设计优秀的开源门户系统,其版本6.0尤其在多个方面进行了优化和完善,为开发者提供了更加友好和高效的工作环境。本指南旨在...
Liferay是一款开源的企业级门户平台,它提供了丰富的功能和高度的可扩展性。Struts则是一个经典的MVC(模型-视图-控制器)框架,用于构建Java Web应用程序。将Liferay与Struts整合,可以充分利用Struts的业务逻辑...
2. **集群与高可用性**:在"Advanced Liferay Architecture-Clustering and High Availability.pdf"中,我们可能会学习到如何通过集群实现Liferay的高可用性。集群可以分摊负载,提高系统的容错性。设置适当的集群...
这个名为"Liferay合集.zip"的压缩包包含了多本关于Liferay的重要书籍,如《Liferay in Action》、《Liferay Portal Systems Development》和《Liferay User Interface Development》,以及一些中文文档,这些资源...
Liferay 是一个开源的企业级门户平台,它提供了一个强大的框架,用于构建和管理Web应用程序、内容和工作流程。本超学习文档将深入探讨Liferay的核心特性、开发环境、Java技术的应用以及Hibernate在Liferay中的整合。...
《Liferay开发文档集合》是针对企业级门户平台Liferay的一系列技术指南,涵盖了从基础安装到高级定制的全方位知识。这些PDF文档旨在帮助开发者、系统管理员和IT专业人员更好地理解和利用Liferay Portal来构建和管理...
Liferay入门帮助文档是针对Liferay开发的一份指南,它主要涵盖了如何开始使用这个全面的门户解决方案。Liferay是一个基于Java Enterprise Edition (J2EE) 的应用,它整合了多种技术,如EJB (Enterprise JavaBeans) ...
Liferay 6.2是一款流行的开源企业级门户平台,它提供了丰富的功能,包括内容管理、社交媒体集成、工作流程以及自定义开发能力。本指南将基于提供的"liferay 6.2开发指南+用户手册"来深入讲解其核心知识点。 1. **...
《Liferay Portal 6.0.6 学习手册》是针对企业级开源门户平台Liferay Portal的一个详细学习指南,由作者李少华编写。本文将深入探讨Liferay Portal的基础知识,安装配置,源码分析,开发环境设置,以及基于Struts2的...
【Liferay 6.2 开发指南】 Liferay 6.2 是一个开源的企业级门户平台,它提供了丰富的功能和高度可扩展性,适合构建企业内部或外部的协作、信息共享和业务应用集成的网站。本开发指南将帮助开发者深入理解 Liferay ...
**Liferay简介** Liferay是一款开源的企业级门户平台,它提供了强大的内容管理、协作和社交功能,被广泛用于构建企业内部或外部的Web应用程序。Liferay的核心特性包括网站构建、内容管理、工作流程、社区参与以及与...
【Liferay 6.1 开发学习】 Liferay 是一款开源的企业级门户平台,它提供了内容管理、社交网络、协作工具等功能,适用于构建企业内部或对外的网站和工作平台。Liferay 6.1 版本是其重要的里程碑,包含了丰富的功能...