Что предлагает ModeShape, чего нет у JackRabbit?

Я только что ознакомился с 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 ответа

Решение

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

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

Вот некоторые из высокоуровневых возможностей ModeShape:

  • Поддерживает все необходимые функции JCR 2.0: приобретение репозитория; аутентификация; чтение / навигации; запрос; экспорт; обнаружение типа узла; проверка прав и возможностей
  • Поддерживает большинство дополнительных функций JCR 2.0: написание; Импортировать; наблюдение; управление рабочим пространством; управление версиями; блокировки; управление типами узлов; одноименные братья и сестры; заказываемые дочерние узлы; разделяемые узлы; а также mix:etag, mix:created а также mix:lastModified миксины с автоматически созданными свойствами.
  • Поддерживает языки 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) ")
    • полное внешнее соединение и перекрестное соединение
    • и больше
  • Выберите один из нескольких вариантов хранения, в том числе СУБД (через Hibernate), сетки данных (например, Infinispan), файловые системы или напишите свои собственные коннекторы хранения при необходимости.
  • Используйте API JCR для доступа к информации в существующих сервисах, файловых системах и репозиториях. Соединители 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.
  • Простая кластеризация с использованием 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, но, как вы заметили, он в данный момент работает ( MODE-650). Мы также хотели бы поработать с командой Apache Chemistry, чтобы убедиться, что адаптер JCR работает с ModeShape. У нас просто не было времени на это.

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

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

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

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

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

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

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

Другие вопросы по тегам