|
|
|
 |
JSR-168 You can hot deploy any JSR-168 compliant portlet. This means you can provide more functionality to your end users by writing custom portlets. Or, you can deploy portlets that you buy from a portlet vendor. |
|
|
 |
JSR-220 (Hibernate)
All data is persisted using Hibernate and is called through the POJO implementations. Liferay used to rely on CMP technology to achieve persistence, but switched over to Hibernate because of its raw speed and flexibility. Liferay is database agnostic and can run on a variety of popular databases. |
|
|
 |
JSR-127 (JSF)
Liferay Portal supports JavaServer Faces. You can develop custom JSF portlets using the "rapid user-interface development" style that JSF promises - via a visual development environment. Use any JSF implementation of your choice. We have examples of portlets in JSF implementations by Sun and Apache MyFaces. |
|
|
 |
AJAX
Asynchronous JavaScript And XML (AJAX) is a web development technique for creating interactive web applications, and is supported by Liferay. This allows small exchange of small amounts of data behind the scenes, so that the entire Web page does not have to be reloaded each time the user makes a change, giving Liferay increased interactivity, speed, and usability. |
|
|
 |
Spring, EJB, and Aspect Oriented Programming (AOP)
Liferay's business beans are built on top of Spring. This allows you to leverage Spring's AOP, IOC, and proxy features to customize Liferay.
We use Spring to decide whether to call the POJO implementation of a business bean or the EJB wrapped implementation of a business bean. This allows deployers to decide whether to deploy Liferay on a heavyweight application server like Borland ES (and thus leverage VisiBroker's transaction features) or a lightweight container like Tomcat.
|
|
|
 |
Struts and Tiles
Liferay leverages Struts and follows the MVC pattern. Most programmers are already familiar with Struts, which means your developers will have an easier time of writing portlets in a familiar framework.
The look and feel of the portal can be easily customized and reskinned because the display logic is concentrated in a few template files read by Tiles. |
|
|
 |
Velocity
Velocity is a Java-based template engine. It currently is being used within portlets, to layout Journal articles, and to design themes. |
|
|
 |
WSRP
WSRP is a web services standard that allows you to publish portlets from your portal to external portals and allows you to consume portlets in your portal from external portals. This allows you to buy and sell portlet functionality as a service. |
|
|
|