Liferay

Preview:

DESCRIPTION

 

Citation preview

Знакомство с LIFERAY

Дмитрий Гаврилов

Знакомство с Liferay

• Что такое Liferay Portal• Что такое Portlet• Для чего нужен Liferay• Плюсы и минусы Liferay

It's a WebSite...

It's a Portal...

It's a CMS...

It is Liferay !

Что такое портлет ?

Портлет — подключаемый, сменный компонент пользовательского интерфейса веб-портала (элемент веб-страницы).

Похоже на сервлет !

Управляются специальным контейнером

Генерируют динамический контент

Жизненный цикл управляется контейнером

Клиет парадигма request/response

Непохоже на сервлет !

Фрагменты разметки.

Не могут быть адресованы напрямую.

Не могут генерировать независимый контент.

Дополнительный функционал (моды, и.т.д)

Flex+AIR portal container for Liferay

WEB.XML<web-app> <display-name>Hello World Portlet </display-name> <welcome-file-list <welcome-file>index.jsp</welcome-file-list></web-app>

Portlet.xml<portlet> <description>HelloWorldDescription </description> <portlet-name>HelloWorld…………………………………………</portlet>

Web Project

Liferay-portlet.xml<liferay-portlet-app><portlet><portlet-name>HellowWourld</portlet-name>…………….…………….</ liferay-portlet-app>

Liferay-display.xml<liferay-portlet-app>...<role-mapper><role-name>user</role-name><role-link>User</role-link></role-mapper></ liferay-portlet-app>

public class HelloWorld extends GenericPortlet { protected void doView(RenderRequest request,

RenderResponse response) throws PortletException, IOException { response.setContentType("text/html");

response.getWriter().println("Hello Portlet"); }}

init(PortletConfig config)

processAction(ActionRequest request, ActionResponse response)

render(RenderRequest request, RenderResponse response)

destroy()

Спецификация Java-портлетов JSR 168

• Поддержка MVC паттерна

• Моды ( состояния ) портлетов

• Статусы окон ( размер страницы портала и.т.д )

• Packaging формат

Спецификация Java-портлетов JSR 286

• Inter-Portlet Communication (взаимодействие

между портлетами)

• AJAX, JSON

• Filters and listeners

• WASP

Любой портал, который заявляет, что он потдерживает JSR 286 или JSR 168, должен это поддерживать.

Сайты-визитнки

Корпоративные порталы

Сайты с CMS

Интернет магазины

Интернет банки, Социальные сети

Для чего нужен Liferay

Сайты-визитнки

Корпоративные порталы

Сайты с CMS

Интернет магазины

Интернет банки, Социальные сети

Для чего нужен Liferay

• Большой BOX-IN:

User management

Social networking

Security

Integrations

Reports

Workflow features

+

• Разработки портлетов на разных языках (Ruby,

php,…)

• Open-Source Java (есть платная версия)

• ESB Liferay

• Хороший код

• Обновляется

• It's easy to use

+

• Мало документации

• Сложно начать

• Тяжёлая разработка

• Уязвимости и баги (а где их нет ? )

-

Другие порталы

• Oracle Portal http://www.oracle.com/technetwork/middleware/portal/overview/index.html

• Microsoft SharePoint Portal Server http://en.wikipedia.org/wiki/Microsoft_SharePoint

• JBoss Portal

http://www.jboss.org/jbossportal

Примеры портлетов под Liferay• Hibernate :

http://www.liferay.com/downloads/liferay-portal/community-plugins/-/software_catalog/products/2030370

• Spring : http://www.liferay.com/downloads/liferay-portal/community-plugins/-/software_catalog/products/2030593

• Service Builder : http://www.liferay.com/downloads/liferay-portal/community-plugins/-/software_catalog/products/2030579

• JSP : http://www.liferay.com/downloads/liferay-portal/community-plugins/-/software_catalog/products/2030504

• JSF Technologies : http://www.liferay.com/downloads/liferay-portal/community-plugins/-/software_catalog/products/2030470

• PHP : http://www.liferay.com/downloads/liferay-portal/community-plugins/-/software_catalog/products/2030529

• Ruby : http://www.liferay.com/downloads/liferay-portal/community-plugins/-/software_catalog/products/2030564