Что предлагает ModeShape, чего нет у JackRabbit? - PullRequest
29 голосов
/ 18 июня 2011

Я только что ознакомился с Apache JackRabbit. Я сделал небольшой многопользовательский репозиторий для управления документами.

Если кто-нибудь использовал оба из них, не могли бы вы ответить на эти вопросы?

  1. Связан ли ModeShape с JBoss? У меня нет большого опыта работы с JBoss AS или другими инструментами JBoss. Я вижу поддержку Tomcat, но много JBossy вещей

  2. В документации сказано, что будущие выпуски должны иметь интеграцию с пользовательским интерфейсом, это будущее? Что это за интеграция с пользовательским интерфейсом? Есть ли что-то, что использует ModeShape, как в случае Hippo CMS с JackRabbit? Жаль, что Гейтин не использует его.

  3. Как JackRabbit сравнивается с ModeShape в отношении полнотекстового поиска, индексации и общей обработки текстового содержимого?

  4. Как насчет поддержки CMIS? Я вижу нерешенную проблему MODE-650 . Jackrabbit поддерживается OpenCMIS (Apache chmistry), даже для вторичных типов в ближайшем будущем.

  5. Что насчет библиотек поддержки / утилит, для удобства разработчиков при работе с узлами

Меня интересуют любые другие комментарии сравнения, спасибо

Ответы [ 3 ]

38 голосов
/ 19 июня 2011

Я могу ответить на некоторые ваши вопросы.Полное раскрытие: я основатель и руководитель проекта для ModeShape.

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

Вот некоторые изОсобенности уровня ModeShape:

  • Поддерживает все необходимые функции JCR 2.0: получение хранилища;аутентификация;чтение / навигации;запрос;экспорт;обнаружение типа узла;проверка разрешений и возможностей
  • Поддерживает большинство дополнительных функций JCR 2.0: запись;Импортировать;наблюдение;управление рабочим пространством;управление версиями;блокировки;управление типами узлов;одноименные братья и сестры;заказываемые дочерние узлы;разделяемые узлы;и mix:etag, mix:created и mix:lastModified mixins с автоматически созданными свойствами.
  • Поддерживает языки JCR 1.0 и JCR 2.0 (например, XPath, JCR-SQL, JCR-SQL2 и JCR-QOM) плюсязык полнотекстового поиска, основанный на грамматике выражений полнотекстового поиска JCR-SQL2.Кроме того, ModeShape поддерживает некоторые очень полезные расширения для JCR-SQL2:
    • подзапросов в критериях
    • операций над наборами (например, "UNION", "INTERSECT", "EXCEPT"каждый с необязательным предложением "ALL")
    • ограничения и смещения
    • удаление дубликатов (например, "SELECT DISTINCT")
    • дополнительные критерии глубины, задания и пути
    • набор и диапазон критериев (например, "IN", "NOT IN" и "BETWEEN")
    • арифметические критерии (например, "SCORE(t1) + SCORE(t2)")
    • полное внешнее объединение и перекрестное объединение
    • и более
  • Выбор из нескольких вариантов хранения, включая RDBMS (через Hibernate ),сетки данных (например, Infinispan ), файловые системы или при необходимости создайте собственные коннекторы хранения.
  • Используйте JCR API для доступа к информации в существующих сервисах, файловых системах и репозиториях.Соединители ModeShape проецируют внешнюю информацию в репозиторий JCR, потенциально объединяя информацию из нескольких систем в одно рабочее пространство.Также можно создавать собственные соединители для доступа к другим системам.
  • Загружайте файлы и позволяйте ModeShape автоматически анализировать и извлекать структурированную информацию, представляющую содержимое этих файлов.Эта производная информация хранится в хранилище, где ее можно запрашивать и получать к ней доступ, как и к любому другому содержимому.ModeShape поддерживает несколько готовых типов файлов, включая: CND, XML, XSD, WSDL, DDL, CSV, ZIP / JAR / EAR / WAR, исходный код Java, файлы классов Java, Microsoft Office, метаданные изображения и Teiid модели и VDB.Написание секвенсоров для файлов других типов также очень просто.
  • Автоматическое и расширяемое обнаружение MIME-типов с готовым обнаружением с использованием расширений файлов и обнаружением на основе содержимого с использованием Aperture .
  • Расширяемая структура извлечения текста с готовой поддержкой файлов Microsoft Office, PDF, HTML, простого текста и XML с использованием Tika .
  • Simpleкластеризация с использованием JGroups.
  • Встраивание ModeShape в ваше собственное приложение.
  • RESTful API (требуется развертывание на сервере приложений).

Это лишь некоторые из основных моментов,Подробнее об этих и других функциях ModeShape см. Документацию ModeShape .

Теперь приведем несколько конкретных ответов на ваши пронумерованные вопросы:

  1. ModeShape размещается на JBoss.org и использует / интегрируется с другими технологиями JBoss, потому что мы решили, что лучше использовать лучшие в своем классе библиотеки.Но ModeShape определенно не привязан к серверу приложений JBoss .ModeShape можно использовать на других серверах приложений практически так же, как и в других реализациях JCR (обычно встроенных в веб-приложение).Плюс, ModeShape может быть встроен в любое приложение ;в конце концов, это просто обычная библиотека Java.Он даже использует SLF4J, так что сообщения журнала ModeShape могут быть отправлены в каркас журналирования приложения.

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

  2. Я полагаю, вы имеете в виду наши планы по разработке инструмента визуализации репозитория (гораздо меньше, чем полноценная система CMS).Работа над этим началась совсем недавно, и мы будем рады любым предложениям, запросам о функциональности и интересу к сотрудничеству с нами.Я знаю, что Magnolia может работать поверх ModeShape, но не уверен, что другие приложения CMS могут это сделать.Платформа JBoss Enterprise Data Services (EDS) также включает ModeShape и использует его в качестве хранилища метаданных. Система управления бизнес-правилами JBoss также может использовать ModeShape в качестве своего хранилища JCR.

  3. ModeShape и Jackrabbit оба используют Lucene для полнотекстового поиска и запросов.В этом отношении они довольно похожи.Конечно, реализация разбора и выполнения поиска и выполнения в ModeShape отличается от Jackrabbits, и на самом деле была написана некоторыми из тех же людей, которые реализовали реляционно-ориентированный механизм интеграции и федерации MetaMatrix (теперь часть JBoss EDS).В результате ModeShape имеет отдельный синтаксический анализатор для каждого из своих языков запросов, но после этого вся проверка, планирование, планирование и выполнение всех запросов выполняется одинаково.Мы очень гордимся возможностями и производительностью нашего механизма запросов!

  4. ModeShape не имеет разъема для других систем CMIS, но, как вы заметили, он в данный момент в работе ( РЕЖИМ-650 ).Мы также хотели бы поработать с командой Apache Chemistry, чтобы убедиться, что адаптер JCR работает с ModeShape.У нас просто не было времени для этого.

  5. ModeShape имеет служебный класс JcrTools , который может оказаться полезным.Но любой служебный класс, написанный поверх API JCR, должен работать просто отлично.

Надеюсь, это поможет!

4 голосов
/ 03 апреля 2012

Документация по modehape кажется лучше. Люди в Jackrabbit предоставляют ограниченную документацию по сравнению с другими проектами Apache. Я полагаю, что если вам нужны необычные (корпоративные) функции, они хотят, чтобы вы за это заплатили. Также обратите внимание, что вы почти вынуждены использовать базу данных sql в качестве бэкэнда. Потому что почти все остальные бэкэнды «не предназначены для производственного использования». Сравните с ModeShape, который просто выходит и говорит это :

Это фактически основная цель ModeShape: предоставить реализацию JCR, которая обеспечивает доступ к контенту, хранящемуся во многих различных типах систем, включая объединение нескольких систем. Хранилище ModeShape - это еще не много информации, а скорее представление JCR той информации, которая у вас уже есть в вашей среде: файловые системы, базы данных, другие репозитории, службы, приложения и т. Д. ModeShape может помочь вам понять системы и информация, которую вы уже имеете, через стандартный Java API

Я бы предпочел эту ясность, чем позволить людям искать в своем документе и в Google информацию, которой не существует.

1 голос
/ 05 июня 2017

Сравнение выше устарело;Теперь вам нужно сравнить модшер с дубом крольчатника.http://jackrabbit.apache.org/oak/

Дуб Jackrabbit - это попытка реализовать масштабируемое и производительное иерархическое хранилище контента для использования в качестве основы современных веб-сайтов мирового уровня и других требовательных приложений для контента.

...