Book Image

Liferay Portal 5.2 Systems Development

By : Jonas X. Yuan
Book Image

Liferay Portal 5.2 Systems Development

By: Jonas X. Yuan

Overview of this book

<p>Liferay portal is one of the most mature portal frameworks in the market, offering many key business benefits that involve personalization, customization, and workflow. If you are a Java developer who wants to build custom web sites and intranet applications using Liferay portal, this is where your search ends.<br /><br />This book shows how Java developers can use Liferay as a framework to develop custom intranet systems, based on Liferay portal platform thus helping you to maximize your productivity gains. Get ready for a rich, friendly, intuitive and collaborative end-user experience!<br /><br />The author's experience customizing Liferay using Java enables him to explain in a clear and precise manner how to build custom systems on top of Liferay portal. <br /><br />Using this book you can customize Liferay into a single point of access to all an organization's data, content, web content, and other information from both existing in-house applications (HR, CRM) and external sources (such as Alfresco, FatWire, Magnolia, Vignette).</p>
Table of Contents (18 chapters)
Liferay Portal 5.2 Systems Development
Credits
About the author
Acknowledgement
About the reviewer
Preface

Architecture and framework


The most important aspect of any portal is its underlying architecture. Liferay portal architecture supports high availability for mission-critical applications using clustering, fully distributed cache, and replication support across multiple servers. The following figure depicts various architectural layers and functionality of portlets:

Service oriented architecture: SOA

Liferay portal uses SOA design principles throughout, and provides the tools and framework to extend SOA to other enterprise applications. Under Liferay enterprise architecture, not only can the users access the portal from traditional and wireless devices, but the developers can also access it from the exposed APIs via REST, SOAP, RMI, XML-RPC, XML, JSON, Hessian, Burlap, and custom tunnel classes.

Liferay portal is designed to deploy portlets that adhere to the portlet API compliant with both JSR-168 and JSR-286. A set of useful portlets are bundled with the portal such as Image Gallery, Document Library, Calendar, Message Boards, Blogs, Wikis, and so on. They can be used as examples for adding custom portlets.

In a word, the key features of Liferay include using SOA design principles throughout, reliable security, integrated with SSO and LDAP, multitier and limitless clustering, high availability, caching pages, dynamic virtual hosting, and so on.

Enterprise service bus: ESB

The Enterprise Service Bus(ESB) is a central connection manager that allows applications and services to be added quickly to an enterprise infrastructure. When an application needs to be replaced, it can be easily disconnected from the bus at a single point. Liferay portal uses Mule or ServiceMix as ESB.

Through ESB, the portal could integrate with SharePoint, BPM (such as jBPM workflow engine, Intalio|BPMS engine), BI Xforms reporting, JCR repository, and so on. It supports JSR 170 for content management system with integration of JCR repository, such as Jackrabbit. It also uses Hibernate and JDBC to connect to any databases. Further, it supports events system with asynchronous messaging and lightweight message bus.

Liferay portal uses Spring framework for its business and data services layers. It also uses Spring framework for its transaction management. Based on service interfaces (Spring framework), Portal-Impl is implemented and is exposed only for the internal usage for the Extension environment, for example. Portal-Kernel and Portal-Service are provided for the external usage (and for the internal usage, either) for Plugins SDK environment, for example. Custom portlets, both JSR-168 and JSR-286, and web services could be built based on the Portal-Kernel and Portal-Service.

In addition, the Web 2.0 Mail portlet and the Web 2.0 Chat portlet are supported as well. More interestingly, scheduled staging and remote staging and publishing are served as a foundation through tunnel web for web content management and publishing.

Liferay portal supports web services to make it easy for different applications in enterprise to communicate with each other. Java, .NET, and proprietary applications can work together easily because web services use XML standards. It also supports REST-style JSON web services for lightweight, maintainable code, and supports AJAX-based user interfaces.

Liferay portal uses industry-standard, government-grade encryption technologies, including advanced algorithms such as DES, MD5, and RSA. Liferay was benchmarked as one of the most secure portal platforms using LogicLibrary's Logiscan suite. Liferay offers customizable Single Sign-On with Yale CAS, JAAS, LDAP, NTLM, Netegrity, Microsoft Exchange, and more. Open ID, Yale CAS, Siteminder, and OpenSSO integration are offered out of the box.

In short, Liferay portal uses the ESB in general to provide an abstraction layer on top of an implementation of an enterprise messaging system. It allows integration architects to exploit the value of messaging without writing code.