понедельник, 10 декабря 2012 г.

Liferay vs BackBase


Какое-то время назад было необходимо сравнить Liferay  и BackBase.  Возможно результат этого сравнения окажется кому-то полезным.
Сразу оговорюсь - сравнение ни в коем случае не претендует на объективность - все-таки я слишком "заинтересованное" лицо, хотя я честно старался быть максимально объективным :)

Так же данное сравнение ни в коем случае не является официальной позицией компании Liferay  или EmDev -  в данном случае это мое личное, оценочное суждение.

Итак:
В красном углу рынка - портал Liferay: http://www.liferay.com
В синем углу:  портал BackBase: http://backbase.com/

Оба продукта входят в квадрант Гартнера по корпоративным порталам, правда Liferay уже два года как переместился в число лидеров, а BackBase просто ворвался в этот отчет - в 2009 его не было и в помине, в 2010-ом он попал в список нишевых игроков и теперь перешел в разряд в visionaries:
И Liferay  и BackBase входят в gartner quadrant


Основное отличие Liferay и BackBase (из которого вытекают многие отличия по конкретным пунктам):
1. Liferay это портал "широкого профиля" предназначенный для широкого спектра задач
2. BackBase - узкопрофильный портал для решения конкретной задачи (The Lean Portal в терминах самого backbase)

То есть если вам надо только публичный сайт для банка (банки - основная специализация BackBase) - возможно вы сможете выполнить внедрение быстрее и дешевле используя BackBase, если же вам необходимо общее решение ("общий фронт") не только для организации пользовательского портала, но и для организации работы back office  или например обслуживание клиентов через call-center (основные каналы обслуживания клиента - веб-сайта, офис банка, кол-центр) - сделать это средствами BackBase боюсь будет невозможно (ну или тяжело).

Отсутствие орг-структуры

Одно из существенных ограничений которое бросается в глаза при рассмотрении BackBase - это отсутствие возможности отображения орг-структуры компании в рамках портала (я о крайней мере не нашел). Структура пользователей в BackBase -  плоская. Пользователи могут быть только объединены в роли.

При организации просто какого-то публичного сайта - это может быть и достаточно, но если говорить о комплексной информационной системе, где обработка каких-либо запросов пользователя (как и в целом работа сотрудников) возможна только в контексте орг-структуры, данный факт накладывает существенное ограничение на использование BackBase.

Организация  Intranet решений

В whitepapers вся информация посвящена исключительно только построению интернет-сайтов. Описания какой-либо функциональности для построения интранет решения (например для организации совместной работы сотрудников организации по обслуживанию клиентов и выполнения тех или иных действий в рамках бизнес-процессов организации) отсутствуют.

 Liferay в свою очередь представляет решения как для построения интернет порталов, так и интранет решений.


Построение внешних сайтов:

Как мне кажется функциональность Liferay  и  BackBase  тут сравнима:

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


Однако как мне видится - в данном направлении поддержка мобильных версий и персонализации выполнена в  BackBase лучше:

  1. Стандартные widget-ы BackBase уже поддерживают адаптацию для мобильной платформы. В Liferay такую адаптацию придется программировать (в виде специальной css) самостоятельно - Liferay только дает возможность определить тип платформы и задать некоторые специальные стили. То есть "из коробки" Liferay со стандартной темой не будет красиво адаптироваться под мобильные платформы. Однако как можно посмотреть на примере того же http://www.liferay.com - такое относительно несложно реализуется
  2. Персонализация в Liferay возможно путем задания прав доступа на отображение некоторых portlet-ов (widget-ов) на странице в зависимости от роли пользователя. Это не так удобно как в BackBase.  Мы в принципе продумывали реализации персонализации по группам пользователей (с включением пользователей в группы на основании бизнес-правил) - примерная оценка такой доработки 1-2 человеко-месяца - но опять-таки - в BackBase есть из коробки и удобно - в  Liferayнадо допиливать - ибо то что есть не совсем удобно

Однако тут есть существенное отличие - обе системы поддерживают portal instance - хостинг нескольких логических порталов одним приложением. Однако в BackBase нет понятия "сайта" в рамках одного портала - то есть один портал и есть один сайт - структура портала в данном случае получается "плоская".
В Liferay есть понятие сайта - сайт может быть как сайтом какой-то единицы орг-структуры, так и просто некоторый сайт не привязанный к орг-структуре. Тем самым можно создавать порталы объединяющие в себе различные сайты  и образующие единое информационное пространство. Обычно орг-структурой и сайтами орг-единиц мы отображаем "вертикальную" структуру организации, а сайтами (сообществами, проектами) - горизонтальную - когда например для решения какой-то задачи (проекта) мы организуем отдельный сайт и добавляем туда пользователей из различных элементов орг-структуры.

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

Интеграционные возможности:

С точки зрения поддерживаемых API - схожи: REST, SOAP, XML, J2EE, JSP, Spring, JMX and Hibernate, CMIS & WebDav - это все есть и в  BackBase  и в Liferay
Интеграция UI:  HTML5, CSS3, JSON, OpenSocial and various W3C standards   - тут тоже паритет
Package Existing Web Applications as a Widget :   возможность  встраивания внешних приложений в портал - в обоих системах поддерживается и  Server Side rendering (SSR) (в терминах Liferay - WebProxy),  и Client Side rendering (CSR) (в терминах LIferay - iFrame)
   
Интеграция с другими системами - хоть BackBase  и позиционируется как портал для банковских решений - информации о встроенной интеграции с какими либо существующими банковскими системами не указано.
На сайте Backbase есть список банковских партнеров (http://www.backbase.com/company/partners/) - однако насколько решения этих западных компаний применимы к российской действительности - вопрос спорный.

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

В BackBase  встроена функциональность по интеграции внешних сервисов с фильтрацией, трансформацией данных и пр. - однако стандартно такие задач решаются с использованием ESB (причем уверен что функционал любого ESB решения значительно шире и мощней того что встроено в BackBase)

SignleSignOn: Список поддерживаемых решений выглядит одинаково для обоих систем. И там и там он расширяем.
Агрегация публикуемого контента - и там и там поддерживается  CMIS, WebDav, RSS/Atom
Searching & Indexing: и там и там используется Lucene и Solr


Модель безопасности:

В обоих случаях назначение прав доступа происходит через роли.
Однако тут есть ключевое отличие - в BackBase структура пользователей (повторюсь опять) плоская - и как я говорил выше - в  Backbase нельзя отобразить структуру организации.
Тем самым - нельзя выдать какие-то права пользователю в рамках одной организации или сайта. Если пользователь Администратор - то он Администратор всего портала.
Так как в принципе нет сайтов (групп) то нельзя назначить права доступа только в контексте какой-то группы.

Workflow:

В BackBase есть встроенная поддержка Workflow - Backbase forms, однако поддержка Workflow  в  Liferay намного шире, мало того - она гибкая и позволяет подключать собственные решения.
Вместо использования стандартного Workflow Engine - Kaleo можно подключить (как например делаем мы) - Activiti полноценно реализующий стандарт BPMN 2.0.
Есть интеграция и с более серьезными  BPMS решениями -  Intalio & Bonita
В Workflow Liferay можно (в том числе используя онлайн графические редакторы с поддержкой стандартной нотации BPMN ) описать не только бизнес-процесс публикации какого-то контента - но и в принципе любые бизнес-процессы организации как состоящие из задач назначаемых пользователям, так и задач выполняемых автоматически - тем или иным сервисом).


Сообщество и экосистема

Существенное отличие (как мне кажется) между BackBase  и Liferay в том, что BackBase это "закрытая" система  а Liferay - это "открытая".
Приобретая BackBase вы получаете законченный продукт который вы в дальнейшем можете дорабатывать собственными силами или используя услуги партнера - системного интегратора. В какой-то мере вы попадаете в зависимость от них.

В Liferay за годы существования продукта было создано огромное сообщество и экосистема из компаний реализующих свои решения на базе Liferay, или интегрирующие свои продукты с  Liferay. Используя Liferay вы получаете все исходные коды - что позволяет вам в случае необходимости полностью "контролировать" продукт.
Вы можете использовать с Liferay не только решения и дополнения, поставляемые самой компанией Liferay, но и решения третих компаний (которые легко могут быть установлены через Liferay Marketplace - когда они там появятся :) ).

Для Liferay существует большое количество решений по интеграции со сторонними продуктами -  Alfresco, Nuxeo, JasperReports Server, Pentaho, Intalio, Bonita, Activiti, есть решение по организации кол-центра на базе Liferay.

ВЫВОДЫ

Сразу повторюсь - хоть я и старался быть крайне объективным - мое мнение может быть предвзято. К тому же я неплохо знаю Liferay - не сравнить со знанием BackBase.

Основное отличие как я и описывал выше - BackBase - нишевое решение решающее одну конкретную задачу - организацию внешнего сайта.
И тут у него есть ряд преимуществ перед Liferay - более простая сегментация контента под различные группы пользователей.

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

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

Комментариев нет: