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.
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.
ReplyDeleteliferay training in hyderabad
site:blogspot.com your keyword
ReplyDeleteHi friend am providing the Psm Training in Hyderabad of various Certification Training to online Training.
Hi friend iam providing thepsm training of various certification training.
ReplyDelete