Знакомство с 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