Содержание
- Проект Liferay
- Liferay vs MS SharePoint
- Установка Liferay в Ubuntu Linux
- Знакомство с интерфейсом Liferay
- Вывод
- Задача
- Выбор технологии
- Особенности реализации
- Результат
- Проблемы и решения
- Выводы
- Forrester
- Gartner
- Решения на Liferay
- Преимущества Liferay
- Нам доверяют
- Что мы делаем
- Заявка на консультацию или индивидуальное демо
Содержание статьи
Корпоративные порталы (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 найдем большое количество портлетов
Хакер #191. Анализ безопасности паркоматов
Портлеты можно создавать самостоятельно на разных языках программирования: 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 напрямую конкурирует с 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 нет, в ответ не получаем список пакетов, которые нужно установить. Ставим:
Далее необходимо установить переменные JAVA_HOME:
Скачиваем нужный файл и распаковываем в каталог.
$ sudo unzip liferay-portal-tomcat-jre-6.2-ce-ga2-20140321144642639.zip –d /opt
Собственно, это всё. В ответ получим список переменных. Если ошибок не последовало (tail -f ../logs/catalina.out, netstat -ant | grep 8080), переходим на портал. Открываем браузер и подключаемся к порту 8080 (http://localhost:8080). Вначале предстоит пройти установки, предложенные 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 по умолчанию, поэтому и мы выберем его.
Переходим к порталу. Принимаем условия лицензионного соглашения, указываем пароль администратора и ключевое слово для его восстановления.
Знакомство с интерфейсом 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
В других вкладках Control Panel можем просмотреть ресурсы, свойства системы/портала, установить уровни журналирования, указать данные SMTP/POP3-сервера, выполнить некоторые операции администрирования (очистить ОЗУ, сбросить кеш, проверить таблицы БД и другие), ограничить максимальный размер загружаемого файла и указать список разрешенных расширений. В случае необходимости создания нескольких порталов в Admin есть соседствующий пункт. Процесс очень прост: нажимаем «Добавить» и указываем название, почтовый домен, виртуальный хост и опционально максимальное количество пользователей. Описывать все настройки нет смысла, все они логичны, назначение многих понятно из названия.
Вывод
Liferay представляет собой очень мощное, но одновременно понятное в конфигурировании и сопровождении решение, которое прекрасно интегрируется практически в любую сеть и уже заслужило доверие именитых организаций.

Многие из нас уже не раз писали разного рода магазины. Но большие e-commerce проекты в быстро растущей и развивающейся компании разрабатывать приходится нечасто. К таким решениям предъявляются дополнительные требования, такие как конфигурируемость, адаптивность к изменениям, возможности встраивания в другие системы и прочее. Для написания такого решения компания Netcracker использовала Liferay Portal фреймворк. В итоге получили достаточно преимуществ, но и без проблем не обошлось.
Задача
Выбор технологии
В качестве платформы для создания решения был выбран Liferay Portal — это портальное решение, поддерживающее спецификацию JSR-168 и JSR-286 (портлетная спецификация), содержащее в себе много разнообразных модулей, которые из коробки позволяют строить расширяемые, управляемые и конфигурируемые приложения. Кроме всего прочего, Liferay Portal (далее Liferay) включает в себя полноценную CMS, интеграцию с социальными сетями, форумы, чаты и прочее. Liferay позволяет строить страницы из кубиков, называемых портлетами, создавать которые могут как сами разработчики решения, так и сторонние компании, используя спецификацию JSR-286.
Liferay является одним из самых популярных бесплатных решений для построения корпоративных порталов и порталов общего доступа. Например, известный многим Java-разработчикам JUG.ru построен именно на нем.
Благодаря архитектуре, предлагаемой Liferay, конфигурация без написания кода будет сводиться к накидыванию на страницы нужных блоков (портлетов), заданию им параметров и прав доступа/ отображения.
Кроме того, Liferay предлагает очень хороший набор модулей Out-of-The-Box типа CMS, интеграцию с социальными сетями, оптимизацию для поисковых машин, интеграцию с системами Single Sign On и сторонними аналитическими сервисами.
Особенности реализации
Обдумывая задачи 1 и 2 (описанные выше), мы поняли, что необходимо дать возможность самому заказчику напрямую влиять на отображение каждого портлета и всего сайта в целом. Кроме того, для разгрузки сервера и улучшения восприятия сайта, хотелось сделать многие операции асинхронными и динамичными. С этой целью в проекте начали использовать темплейтный движок Google Closure Templates.
Этот движок позволяет с легкостью использовать один раз написанный шаблон как на сервере, так и на клиенте. Кроме того, очень качественно продумана локализация, интернационализация, разбивка на подшаблоны и многое другое. Больше всего привлекали лаконичность, уход от логики в шаблонах, избавление от многих типов стандартных ошибок (типа эскейпинга и пр.). Также нравилось, что шаблоны являются компилируемыми сущностями, что позволяет серьезно увеличить производительность как на сервере, так и на клиенте.
Решили сделать так, чтобы заказчик всегда мог подправить шаблон для любого портлета (кубика страницы) на свое усмотрение. Общий же вид портала можно править в шаблоне темы.
Для удобства разработки был написан микрофреймворк, позволяющий писать каждый портлет с использованием Spring MVC и Google Closure Templates в качестве View, а также небольшой JavaScript класс, инкапсулирующий в себе: всю логику асинхронного доступа к портлетам, отложенную их отрисовку по шаблону на клиенте, получение данных, доступа к DOM контейнеру портлета и прочее. Также была добавлена возможность связать JS класс, отвечающий за динамику в данном портлете, и сам портлет.
Благодаря этому разработчик не задумывается о том, что шаблоны должны компилироваться и пишет привычный для него код на Spring, HTML, JavaScript.
Результат
Liferay Portal оказался достаточно стабильным порталом. Порадовала его изначальная направленность на горизонтальное масштабирование, наличие кучи Java API’s и точек расширения, позволяющих поменять чуть ли не все что угодно. Также очень порадовало большое количество конфигурационных свойств, изменение которых позволяло быстро переходить от высоко оптимизированного кода страницы и статики к его девелоперской конфигурации, в которой намного проще отлаживаться. Вообще, создалось впечатление, что платформа создана программистами для программистов!
Google Closure Templates оправдали абсолютно все ожидания. Теперь это мой фаворит среди шаблонизаторов!
Возможность строить страницы для сайта из кубиков, которые напрямую друг с другом не связаны, а общаются только по шине событий, действительно прекрасна. Код получается хорошо структурированным, разбитым на логические части. При этом получаешь дополнительные преимущества: возможность использовать один и тот же портлет с разными внешними видами на разных страницах без единой строчки кода, простоту изменения внешнего вида страницы за счет легкого (drag&drop) перемещения блоков по странице, независимость работы всей страницы от работоспособности конкретного портлета.
Проблемы и решения
Главной проблемой, с которой мы столкнулись и которую до сих пор не решили красиво, стала конфигурация Liferay. Дело в том, что она хранит в себе практически все, что позволяет сайт назвать сайтом: содержимое CMS, настройки каждого портлета, привязанные к странице, темы страниц, лэйауты и многое другое. Поэтому есть серьезная необходимость как-то уметь переносить эту конфигурацию с одного места на другое. Кроме того, необходимо эту конфигурацию хранить и версионировать. Ну и вдобавок при разработке очень бы хотелось иметь возможность мержить изменения конфигурации. Пока мы видим два пути переноса конфигурации в Liferay:
- Первый путь – Staging environment.Суть его в том, что ставятся два инстанса Liferay: один — это мастер изменений, второй – продакшн. На первом вносишь все изменения, убеждаешься, что они работают, и после этого нажимаешь кнопку [Применить]. После этого все изменения чудным образом перемещаются на продакшн сервер. Но, к сожалению, этот подход не удовлетворяет многим требованиям, описанным выше.
- Второй путь – Export/Import – казалось бы, идеальная и правильная штука, но и тут не обошлось без сюрпризов. Экспорт ведется в специальном формате LAR, который является обычным зипником с кучей XML. А проблема в том, что никакой логики в этих XML не наблюдается. Каждый тип конфигурации, каждый тип данных и прочее переводится в XML по-своему! Причем в этом XML такое количество постоянно меняющейся и зависящей от окружения служебной информации, что их мерж оказывается просто невозможным. Так при импорте одинаковой конфигурации с двух разных серверов получается результат различный на 90%.
Проблему конфигурации Liferay решаем пока просто хранением готового LAR-файла. Мержить его невозможно, но можно хотя бы версионировать изменения и откатываться за минуты.
Особенные трудности доставляет то, что в портлетных технологиях считается большим плюсом. Дело в том, что сам Liferay – это отдельное Java веб-приложение. А все портлеты должны быть оформлены как другое отдельное веб-приложение. Это значит, что контексты, класслоадеры, сессии, реквесты и прочее у них разные. Это приводит к куче проблем как при использовании Spring, так и при попытке сделать некоторые базовые вещи, которые можно было бы использовать во всех портлетах. Liferay эту проблему еще и усложняет, добавляя черную магию (постоянную подмену класслоадеров), то копируя, то не копируя параметры реквестов и сессий из приложения в приложение и изменяя код портлетов при деплое.
В общем, Liferay подготовил нам немало приключений, но большинство из них было возможно решить за счет предоставленных точек расширения и большого сообщества вокруг платформы.
Выводы
Решение Liferay еще не вышло в полноценный продакшн, но кое какие-то выводы можно сделать:
- Liferay – мощный инструмент для построения как внутренних, так и массовых порталов.
- Liferay позволил решить поставленные перед нами задачи без дополнительных капитальных вложений в разработку своего «велосипеда».
- Liferay – система, позволяющая делать защищенные, нагруженные и богатые функционалом решения настолько гибко, насколько это возможно.
Несмотря на все это, есть что улучшить. В ближайшее время планируем сделать исследование по следам полученного опыта, чтобы выяснить, есть ли еще какие-нибудь решения того же класса, помогающие решить задачу проще/правильнее. Если есть варианты – прошу в комментарии, будем благодарны.
Всем спасибо за то, что дочитали статью до конца. Надеюсь, она была достаточно интересна.
Forrester
Узнайте, почему Forrester считает портальные технологии ключом к цифровой стратегии любой компании
Gartner
9 лет подряд Gartner подтверждает лидирующую позицию Liferay на рынке портальных решений
Решения на Liferay
B2C
Внешний высоконагруженный портал для работы с клиентами
B2B
Портал, автоматизирующий работу с партнерами
Внутренний портал для взаимодействия сотрудников
DXP
Единый интерфейс, объединяющий внутренние и внешние сервисы компании
Типовые проблемы наших клиентов
- Отсутствие автоматизированной работы с партнерами
- Отсутствие персонального доступа клиента/партнера к актуальной информации
- Длительный срок разработки собственного решения
- Высокие затраты на большинство портальных решений из сегмента лидеров
Решение от EmDev
В качестве единой фронтальной системы для объединения и автоматизации бизнес-процессов мы предлагаем использовать корпоративный портал Liferay. Это комплексное решение, позволяющее объединить под одной платформой процессы взаимодействия с партнерами и обслуживания клиентов по всем каналам: веб-браузер, мобильное устройство, телефония.
Преимущества Liferay
Нагрузки Enterprise уровня
Независимость от инфраструктуры
Низкая совокупная стоимость владения
Международные стандарты безопасности
Большой набор готовых модулей
8 лет работы с Liferay
Многократный призер Liferay Community Awards
Десятки успешных внедрений
Нам доверяют
Что мы делаем
Продажа лицензий Liferay
Приобретая лицензии Liferay только у нас, вы получаете русскоязычную линию поддержки
Внедрение и обучение
Для клиентов мы проводим обучение по индивидуальной программе
Поддержка на русском языке
Соглашение об уровне оказания услуг (SLA) составляется в соответствии с потребностями клиента
Разработка решений на базе портала
Компания EmDev предлагает услуги как расширения, так и глубокой модернизации функционала Liferay
Заявка на консультацию или индивидуальное демо
Заполните первичную информацию и наш специалист свяжется с вами.
Возможна подготовка индивидуального демо-стенда. Мы можем провести как удаленную демонстрацию функционала, так и очный показ в вашем офисе в удобное вам время.
Вы также можете связаться с нами по e-mail или бесплатному телефону горячей линии:
Спасибо, что выбрали EmDev возможным поставщиком портального решения!
Сайт использует файлы cookie. Они позволяют узнавать вас и получать информацию о вашем пользовательском опыте. Это нужно, чтобы улучшать сайт. Посещая страницы сайта и предоставляя свои данные, вы позволяете нам предоставлять их сторонним партнерам. Если вы согласны, продолжайте пользоваться сайтом. Если нет – установите специальные настройки в браузере или обратитесь в техподдержку.
Простые решения для сложных B2B-процессов
(с) ООО «ЕМДЕВ», 2005-
Россия, Санкт-Петербург,
ул. Мира, д. 3 литера А, оф. 437С
+7 (812) 385-57-78






