Liferay Beginner’s Guide
上QQ阅读APP看书,第一时间看更新

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:

Web service provider

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