Sunday, January 8, 2012

Liferay 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, Security Management.  The Enterpise Layer is also comprised of inter related service components and features such as Personalization, Collaboration, Social Networking, Delivery Channels, Virtualization and Tunneling 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 and 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 flies 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 can be categorized into model hooks, JSP hooks, properties hook, 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, 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, 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 atop 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.
 Liferay Logical Architecture Diagram


3 comments:

  1. I recently came across your blog and have been following it. I'm very impressed. You're truly well informed and very intelligent. You've been able to write in a way people can understand easily. I'm saving this for future use.
    liferay training in hyderabad

    ReplyDelete
  2. site:blogspot.com your keyword




    Hi friend am providing the Psm Training in Hyderabad of various Certification Training to online Training.

    ReplyDelete
  3. Hi friend iam providing thepsm training of various certification training.

    ReplyDelete