Liferay Portal architecture
The popularity of Liferay Portal largely comes from its adaptable architecture. There are three aspects to it.
Web service provider
Liferay Portal adopts a Service Oriented Architecture (SOA). Its architectural diagram is as follows:
In this diagram, Liferay Portal handles Hypertext Transfer Protocol (HTTP) requests from a user. The request will first be received by the Struts servlet. This servlet runs and renders portlets. During the process, the code invokes singletons, configured with Spring Application Programming Interface (API) and plain Java objects. It uses the Hibernate API to get data from or enter data into the database. Optionally, it may use the Java Messaging Service (JMS) to send out messages.
On the other hand, Liferay Portal also provides web services for programs running on other servers. The portal uses Apache Axis specification to generate web services. The Axis configuration is specified in the server-config.wsdd
file under the portal/tunnel-web/docroot/WEB-INF/
folder. These are a list of Simple Object Access Protocol (SOAP) services. When an external program asks for a web service from the Liferay Portal, the Axis servlet in Liferay Portal will answer it. It will also call singletons initialized through Spring framework and call the plain Java objects. These plain Java objects will use Hibernate API to access the database.
Liferay is flexible
The architecture of Liferay Portal allows it to run on all major application servers and servlet containers, databases, and operating systems. It can be deployed on over 700 infrastructure combinations. For example, you can use MySQL or Oracle; you can run Liferay Portal in Tomcat or WebSphere.
You can plug in Solr for searching and Kaleo for workflow to Liferay Portal.
The portal administrator can apply different themes on different Liferay Portal pages. He can change the layout template of every portal page. By drag-and-drop, he can add portlets onto a portal page.
Liferay is standard compliant
Liferay Portal is compliant with Java and portlet standards. The following standards have been used in the development of Liferay Portal:
Java Specification Request (JSR) 127 (JavaServer Faces Specification)
JSR 168 (Portlet Specification)
JSR 286 (Portlet 2.0 Specification)
JSR 170 (Content Repository)
JSR 208 (Java Business Integration)
Asynchronous JavaScript and XML (AJAX)
Web Services for Remote Portlets (WSRP)
Pop quiz – multiple choices
Choose the correct statements:
a. Liferay Portal is a web service producer out-of-the-box
b. Liferay Portal adheres to Portlet 2.0 Specification
c. The development of Liferay Portal started in 2000
d. All of the above