Корпоративные порталы (Enterprise Information Portal — EIP) из моды постепенно превратились в незаменимый инструмент бизнеса, обеспечивая сотрудников единой точкой доступа к данным, инструментами управления бизнес-процессами и средствами обмена информацией. Проект Liferay, распространяемый под Open Source лицензией, вполне успешно конкурирует с большинством коммерческих решений.

 

Проект Liferay

Liferay представляет собой веб-платформу для строительства бизнес-решений, объединяющую разные приложения в единое информационное пространство. С его помощью можно построить порталы с интеграцией корпоративных приложений, динамические веб-сайты, базу знаний и социальные сети. Сотрудники для доступа к данным и обмена информацией будут использовать одно приложение. Распространяется с исходным кодом под двойной лицензией: GNU GPL и коммерческой. Liferay далеко не новичок на рынке и пользуется в мире популярностью. Начиная с 2011 года аналитическое агентство Gartner в отчете Magic Quadrant for Horizontal Portals относит Liferay к лидерам, где он находится рядом с решениями от Microsoft, IBM, SAP и Oracle. С официального сайта портал скачали более четырех миллионов раз, разработчики говорят о примерно 350–500 тысячах установок в организациях самого разного назначения. Cреди них и компании с мировым именем: министерство обороны Франции, Cisco, Andorra Telecom и многие другие.

Как и принято в любых подобных системах, Liferay легко адаптируется под любые условия. После установки базовая система содержит только некоторый оптимальный набор. Все дополнительные функции Liferay реализованы посредством подключения модулей, называемых портлетами. В Liferay Marketplace доступно большое число готовых к использованию компонентов, часть из которых распространяется бесплатно.

В Liferay Marketplace найдем большое количество портлетов
В Liferay Marketplace найдем большое количество портлетов

Портлеты можно создавать самостоятельно на разных языках программирования: Java, PHP, Ruby, Python, фреймворке Grails и других. Разработчики предоставляют IDE, SDK и API, упрощающие создание приложений. Поэтому портлеты и темы для Liferay можно найти поиском в GitHub, sf.net, Google Code и других ресурсах. Документация и открытость проекта позволяет при необходимости легко подключить любое приложение. К слову, текущая версия Liferay в установке по умолчанию не поддерживает русский, локализация выполнена за счет портлета (для русского 86%).

Сервер Liferay готов к применению в организациях любого размера, легко масштабируется, может работать в кластере и развертываться в облаке. Поддерживается интеграция со службами каталогов LDAP и Active Directory, системами Single Sign-On (CAS, OpenSSO, NTML, SiteMinder). Для работы с почтой подойдет любой SMTP/S, IMAP/S или POP3/S сервер. Все приложения и информация при помощи различных методов (SOAP, REST, RSS, внутренние API) интегрируются в единый интерфейс, упрощающий работу с Liferay. На сегодня это десятки продуктов: для генерации отчетов, системы электронного документооборота, CMS, ERP/CRM, система бизнес-аналитики Pentaho BI, Libre/OpenOffice и многое другое. Все это позволяет быстро и с минимумом затрат внедрить корпоративный портал с нужными функциями.

Портал, созданный с применением Liferay, может включать в себя систему управления контентом, блоги, wiki, форум, базу знаний, доску сообщений, соцсеть, документооборот (с поддержкой MS Office), средства организации совместной работы (календарь, задачи, оповещение, обмен сообщениями), управление бизнес-процессами и взаимодействием с клиентами, планирование ресурсов и многое другое. Пользователь, кроме мессенджера, получает доступ к электронной почте посредством встроенного веб-клиента. Также реализована система оповещений и рассылки (email, RSS, SMS или любого другого).

Одна установка Liferay может обслуживать несколько организаций и сайтов. Портал поддерживает одновременно несколько языков интерфейса, при подключении выдается страница по настройкам браузера. Внешний вид портала автоматически подстраивается под размер экрана, в том числе под мобильные устройства.

Реализована система доступа, основанная на принадлежности к организации, роли и группе. В итоге пользователь получает доступ к документам и приложениям только на основании от своей роли, группы и организации. Информация, выкладываемая в блог или сайт, может премодерироваться и публикуется только после утверждения уполномоченным лицом. После установки уже имеется несколько встроенных ролей и групп под основные операции, но легко создать новые. Анонимный пользователь получает доступ к каким-то базовым страницам, а сотрудники или бизнес-клиенты обладают изначально большими правами.

Для создания контента предлагается встроенный редактор с функцией проверки правописания, но в Marketplace доступно несколько альтернатив. Любая информация в Liferay структурируется при помощи тегов и категорий. Liferay поддерживает протокол MS SharePoint, то есть пользователи могут работать с файлами MS Office, находящимися на локальных дисках, и загружать их в хранилище Liferay. Поддерживаются версии документа, блокировка редактирования, автоматическая конвертация формата, галерея изображений, поиск, доступ по WebDAV, публикация и многое другое. Внешний вид портала, веб-сайта или отдельной страницы меняется при помощи тем и макетов. Внешний вид и функциональность кабинета полностью настраивается как администратором, так и самим пользователем при помощи тем, шаблонов, портлетов и виджетов. Для статей, записей и подобного также предусмотрены шаблоны, что позволяет стандартизировать документацию. Реализован и каталог программного обеспечения, он позволяет определить набор ПО, доступного пользователям для загрузки.

Проект разработал собственный клиент синхронизации документов с порталом Liferay Sync, поддерживающий drag’n’drop, журналирование изменений и откат к предыдущим версиям, возможность редактирования файла сразу несколькими пользователями. Доступны версии для Windows, OS X, iOS и Android. При такой функциональности какой-то особой подготовки от пользователя и администратора не требуется. Все действия выполняются интуитивно, поддерживается drag’n’drop, AJAX делает среду интерактивной.

Теперь самое интересное. Liferay выпускается под двойной лицензией: Community Edition под лицензией GNU GPL и коммерческой Enterprise Edition. Возможности CE несколько урезаны: недоступна поддержка 24 х 7 х 1, встроенные функции аналитики, аудита, контроля производительности. Но что-то из этого можно компенсировать при помощи бесплатных плагинов. Все основные функции портала остались нетронутыми, и на первых порах смысла в покупке EE нет, достаточно использовать CE, чтобы как минимум присмотреться к Liferay. В ЕЕ плата берется в зависимости от функциональности сервера, никаких клиентских лицензий (вроде Client Access License, используемой в продуктах Microsoft) не предусмотрено, поэтому в случае расширения ничего доплачивать не придется. Стоит отдельно отметить большое количество официальных партнеров, занимающихся внедрением Liferay по всему миру.

На сегодня актуальная версия — 6.2, но уже ведется разработка 7.0.0, и можно ознакомиться с предрелизом. Проект предоставляет хорошую подборку документации (на английском). Поэтому ответ можно найти на любой вопрос и без официальной поддержки. Но иногда документация запаздывает, поэтому некоторые вопросы по версии 6.2 следует смотреть в более ранних релизах. Например, Getting Started на момент написания этих строк для 6.2 отсутствовал.

Также следует отметить наличие еще одного продукта Liferay Social Office, ориентированного на организацию совместной работы, с базовыми функциями портала.

 

Liferay vs MS SharePoint

Нетрудно заметить, что Liferay напрямую конкурирует с MS SharePoint. Даже сами разработчики в первое время не стеснялись называть его открытым аналогом SP. Между любыми решениями для организации порталов много общего (Oracle Portal, IBM WebSphere Portal, SAP NetWeaver Portal не исключение), все они предоставляют базовый набор функций, и подчас он практически полностью совпадает. Но есть, конечно, и различия в организации. Самое главное — это отсутствие привязки к разработкам одного производителя. Естественно, что SP интегрирован с другими решениями Microsoft (сервер, MS SQL, MS Office и другими), без которых его функциональность либо нельзя использовать, либо функции будут неполными. То есть, чтобы все заработало по полной, понадобятся лицензии и еще на ряд продуктов, даже если они больше нигде использоваться не будут. И если подсчитать, то эти затраты будут немалы.

Аналогичная ситуация и с другими портальными решениями. Liferay здесь сильно выигрывает, так как не зависит от одного поставщика и прекрасно вписывается в уже существующую инфраструктуру, не требуя при внедрении дополнительных расходов на приобретение ПО. Администратор будет работать с привычными продуктами. На eApps готовый сервер с Liferay-Tomcat обойдется всего в 34 доллара в месяц, при этом будет доступна круглосуточная поддержка и прочие вкусности. Есть и минусы. Сегодня нетрудно найти специалиста по SP, а вот внедрением Liferay занимаются не так много компаний. Но при самостоятельном внедрении отыскать нужную информацию не так уж и сложно.

 

Установка Liferay в Ubuntu Linux

Liferay написан на Java и поэтому работает на любой платформе, для которой доступна JRE и сервер приложений. Официально поддерживается работа с ОС Windows, *nix, OS X. По умолчанию в качестве СУБД используется Hypersonic SQL, которая ставится автоматически, но она подходит для тестовых сред и небольших нагрузок. В промышленных средах лучше подключить: MySQL, PostgreSQL, MS SQL, Oracle, DB2, Sybase или Ingres. Готовые образы с предустановленным Liferay можно найти в Amazon AWS, Bitnami, eApps и многих других облачных сервисах. Это самый простой и быстрый способ протестировать в работе Liferay (хотя развертывание Liferay на подготовленную ОС занимает от силы минут пять). Для теста подойдет любой современный компьютер с 2+ Гб ОЗУ (на облачных серверах минимально работает и с 1 Гб). Проект предлагает готовые комплекты с серверами приложений Tomcat, Geronimo, GlassFish, JBoss, Jetty, JOnAS, Resin и исходный код. Установим Liferay CE с сервером приложений Tomcat на систему, работающую под управлением Ubuntu 14.04 LTS с СУБД MySQL. Выбор сервера приложений — вопрос вкуса. Другие варианты установки отличаются только особенностями конфигурирования используемых приложений. В случае необходимости миграции на другую СУБД в панели управления предложен удобный инструмент. Проверяем наличие JDK:

$ java -version

Если Java нет, в ответ не получаем список пакетов, которые нужно установить. Ставим:

$ sudo apt-get update
$ sudo apt-get install unzip default-jdk default-jre mysql-server mysql-client

Далее необходимо установить переменные JAVA_HOME:

$ sudo nano /etc/bash.bashrc
JAVA_HOME=/usr/lib/jvm/default-java
export PATH=$PATH:$HOME/bin:$JAVA_HOME/bin

Скачиваем нужный файл и распаковываем в каталог.

$ sudo unzip liferay-portal-tomcat-jre-6.2-ce-ga2-20140321144642639.zip –d /opt

Запускаем:

$ cd /opt/liferay-portal-6.2-ce-ga2/tomcat-7.0.42/bin/
$ sudo ./startup.sh

Собственно, это всё. В ответ получим список переменных. Если ошибок не последовало (tail -f ../logs/catalina.out, netstat -ant | grep 8080), переходим на портал. Открываем браузер и подключаемся к порту 8080 (http://localhost:8080). Вначале предстоит пройти установки, предложенные Basic Configuration.

Окно Basic Configuration
Окно Basic Configuration

Здесь три подраздела:

  • Portal — название и язык по умолчанию, флажок Add Sample Data позволит добавить записи и наглядно оценить возможности портала;
  • Administrator User — данные администратора (имя и email);
  • Database — выбор СУБД для работы, по умолчанию стоит Hypersonic.

В принципе, все понятно. Нам нужна MySQL. В поле Database выбираем Change и из списка MySQL, вводим учетную запись и пароль и нажимаем Finish Configuration. Некоторое время придется подождать, пока будет выполнена установка. Настройки будут сохранены в файле portal-setup-wizard.properties.

Единственный минус такого способа — для подключения будет использоваться учетная запись администратора БД, что в промышленных установках не очень хорошо с точки зрения безопасности. Хотя после тестирования данные учетной записи можно легко поправить, прописав новую информацию в файл portal-ext.properties.

Пару слов о конфигурационных файлах. Все настройки изначально сохранены в JAR-файлах, но трогать их нельзя. Все изменения следует заносить в overriding-файлы с расширением properties. Но администратор может редактировать только два из них — portal-ext.properties и portal-setup-wizard.properties. Эти два файла считываются последними и переопределяют установки в других файлах. Сделать это можно в любом текстовом редакторе. Малое количество упрощает перенос настроек между несколькими серверами. Параметров внутри много, и все они расписаны в документации. Некоторые настройки доступны только в них. Например, возможность просмотра сессий пользователей, нагружающих систему, доступна лишь после активации ее в конфигурационном файле.

Как вариант, можем сразу создать БД и нужную учетную запись. Название базы lportal используется в Liferay по умолчанию, поэтому и мы выберем его.

$ mysql -u root -p
mysql> CREATE DATABASE lportal DEFAULT CHARACTER SET utf8;
mysql> GRANT ALL PRIVILEGES ON lportal.* TO 'liferay' IDENTIFIED BY 'password';
mysql> quit;

Переходим к порталу. Принимаем условия лицензионного соглашения, указываем пароль администратора и ключевое слово для его восстановления.

 

Знакомство с интерфейсом Liferay

В результате получаем готовый портал. Точнее, в зависимости от задач, его еще настраивать и настраивать, но основа уже есть, и дальнейшие действия не требуют особой подготовки. После входа встречает приветственная страница Welcome To Liferay Portal, здесь мы получаем ссылки на основную документацию, которая может пригодиться при первом знакомстве. Для управления потребуется указать данные админа или, если это новый пользователь, создать учетную запись. Настройкам поддается буквально все: цвет, расположение, текст и так далее. Управление любыми указанными настройками понятно и логично, с ними справится пользователь без особой подготовки, поэтому расписывать их смысла нет. Но, учитывая, что их много, при первом знакомстве лучше просто все перепробовать самому.

Меню вверху страницы позволяет управлять сайтом, персональными настройками пользователя (включая добавление новых страниц) и администрировать Liferay. Под кнопкой Admin скрывается две основные настройки: в Site Administration добавить объект (страницу, статью, документ, вики, теги, навигацию и прочее), управлять страницей, макетом и настройками сайта.

Настройка страницы
Настройка страницы

Здесь же выбирается логотип, тема сайта, указывается описание, стиль ссылок, вид с мобильных устройств, правка CSS и многое другое. Глобальные установки Liferay доступны только для администратора в панели управления (Control Panel).

Здесь четыре основных пункта:

  • Users — управление учетными записями пользователей и организаций, группами и ролями, политикой паролей, мониторинг активности;
  • Sites — управление сайтами, шаблонами сайтов и страниц;
  • Apps — установка и конфигурация портлетов, управление лицензией;
  • Configuration — установки портала, функции администрирования.

Портлеты поставляются в виде WAR/LPKG-архивов. С помощью меню вверху страницы их можно установить (Admin -> Control Panel -> Configuration -> AppManager -> Install), указав URL или файл на локальном носителе. Чтобы скачать портлет, потребуется учетная запись в Store.

Например, в Liferay CE 6.2 почему-то убрали поддержку русского по умолчанию. Но это несложно решить. Скачиваем (его легко найти поиском) и устанавливаем портлет, как написано выше. Затем идем в Admin -> Control Panel -> Configuration -> Portal Settings -> Display settings и редактируем список доступных языков Available Languages. Сохраняем результат. После этого русский будет в списке Default Language. Выбираем. Здесь же регулируем часовой пояс, лого сайта, доступ к приложениям Google и прочие настройки.

Локализация Liferay
Локализация Liferay

В других вкладках Control Panel можем просмотреть ресурсы, свойства системы/портала, установить уровни журналирования, указать данные SMTP/POP3-сервера, выполнить некоторые операции администрирования (очистить ОЗУ, сбросить кеш, проверить таблицы БД и другие), ограничить максимальный размер загружаемого файла и указать список разрешенных расширений. В случае необходимости создания нескольких порталов в Admin есть соседствующий пункт. Процесс очень прост: нажимаем «Добавить» и указываем название, почтовый домен, виртуальный хост и опционально максимальное количество пользователей. Описывать все настройки нет смысла, все они логичны, назначение многих понятно из названия.

 

Вывод

Liferay представляет собой очень мощное, но одновременно понятное в конфигурировании и сопровождении решение, которое прекрасно интегрируется практически в любую сеть и уже заслужило доверие именитых организаций.

Теги:

10 комментариев

  1. 02.02.2015 at 17:05

    Крутая штука.. но когда дело доходит до портлетов, становится страшно. Особенно когда клиент хочет интегрировать свое старое приложение в виде портлета…

  2. http://weinard.in.ua/

    02.02.2015 at 17:43

    а языковые пакеты есть какие нибудь кроме английского?

  3. 03.02.2015 at 00:29

    Спасибо за очередной рекламный прогон!

    • 03.02.2015 at 03:14

      Лайфхак: когда материал рекламного характера, это указано явно — «на правах рекламы» или «спецпроект».

      • 03.02.2015 at 10:54

        понятие product placement еще никто не отменял.

        • 04.02.2015 at 14:25

          Product placement — это когда в «Иронии судьбы – 2» **как бы невзначай** показывают водку «Журавли». А в этой статье открыто рассказывается про платформу Liferay, без всяких попыток скрыто что-то пропихнуть.

          Не то, что бы было, в чем оправдываться, просто правда хочется понять, почему вы решили, что это реклама. Нам это важно: вдруг со стороны статья выглядит, как дешевая джинса :).

          • 04.02.2015 at 14:35

            Если исходить с позиции отрицания вами присутстивя в материале рекламы, то статья отличная, хоть и несколько сжатая. Но общее представление получить можно, а лучшая теория это практика. Хотелось бы увидеть статью про opencloud — пожелание.

            • 04.02.2015 at 17:13

              А почему бы и да. Мы любим продукты, в названии которых есть слова «open» и «cloud» :). Подумаем обязательно

  4. http://www.cyberkatze.de/

    13.03.2015 at 11:49

    самое интересное начинается с верстки дизайна )))) и подгона портлетов под клиента!

    а так система крутая, особенно мультиязычность контента на лету и возможность модернизации шаблонов/структур для контента.

    самое главное не увлекаться маркетплейсом. %) а то потом часами можно сидеть и не понимать откуда прут в логах сервера эксепшины.

Оставить мнение

Check Also

WTF is APT? Продвинутые атаки, хитрости и методы защиты

Наверняка ты уже читал о масштабных сетевых атаках, от которых пострадали банки, крупные п…