2011-06-17 218 views
29

我剛剛熟悉Apache JackRabbit。我爲文檔管理做了一個多用戶存儲庫。ModeShape提供的JackRabbit不提供什麼?

如果有人使用他們兩個,你能否回答這些問題?

  1. ModeShape以某種方式鏈接到JBoss?我對JBoss AS或任何其他JBoss工具沒有太多的經驗。我看到了對tomcat的支持,但是很多JBossy的東西

  2. 文檔說未來的版本應該有UI集成,是不是遠景?它會是什麼樣的UI集成?有沒有使用ModeShape的原因是Hippo CMS和JackRabbit的情況?這是一個恥辱,Gatein不使用它。

  3. JackRabbit在全文搜索,索引和文本內容的整體處理方面與ModeShape相比如何?

  4. CMIS如何支持?我看到一個未解決的問題MODE-650。 Jackrabbit由OpenCMIS(Apache chmistry)支持,即使在不久的將來也可用於輔助類型。

  5. 關於支持/ utils的庫,供開發人員方便使用節點

我感興趣的任何其他比較意見工作時什麼,謝謝

回答

39

我可以回答大家的一些問題。完全披露:我是ModeShape的創始人和項目負責人。

簡而言之,ModeShape是一個輕量級的,可嵌入的,可擴展的開源JCR存儲庫的實現,聯邦成員和來自多個系統,包括文件系統,數據庫,數據網格,其他存儲庫等。您可以使用JCR API訪問統一內容您已有的信息,或者像傳統的JCR系統一樣使用它。

下面是一些振型的更高級別的功能:

  • 支持所有的JCR 2.0所需的功能:存儲庫採集;認證;讀/導航;查詢;出口;節點類型發現;權限和能力檢查
  • 支持大部分JCR 2.0可選功能:寫入;進口;觀察;工作區管理;版本;鎖定;節點類型管理;同名兄弟姐妹;可訂購的子節點;可共享節點;和mix:etag,mix:createdmix:lastModified mixin具有自動處理的屬性。
  • 支持基於JCR-SQL2全文搜索表達式語法的JCR 1.0和JCR 2.0語言(例如XPath,JCR-SQL,JCR-SQL2和JCR-QOM)以及全文搜索語言。另外,振型支持一些非常有用的擴展到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模型和VDBs。爲其他文件類型編寫順序器也很容易。
  • 自動和可擴展的MIME類型檢測,使用文件擴展名和基於內容的檢測使用Aperture進行即時檢測。
  • 可擴展的文本提取框架,使用Tika可爲Microsoft Office,PDF,HTML,純文本和XML文件提供開箱即用的支持。
  • 使用JGroups進行簡單的羣集。
  • 將ModeShape嵌入到您自己的應用程序中。
  • RESTful API(需要部署到應用程序服務器中)。

這些只是一些亮點。有關這些和其他ModeShape功能的詳細信息,請參閱ModeShape documentation

現在,這裏有一些具體的解答您的問題編號:

  1. 振形在JBoss.org託管,並使用/與其他的JBoss技術集成,因爲我們認爲它更好地重用最佳的圖書館。但是ModeShape絕對不會綁定到JBoss應用程序服務器。 ModeShape可以在其他應用程序服務器上使用,方式與其他JCR實現(通常嵌入到Web應用程序中)完全相同。另外,ModeShape可以嵌入任何應用程序;畢竟,它只是一個普通的Java庫。它甚至使用SLF4J,以便ModeShape日誌消息可以發送到應用程序的日誌框架。

    現在,儘管如此,我們通過一個簡單的套件讓deploy ModeShape to a JBoss AS installation更容易:簡單地解壓縮,稍微定製一下配置(取決於您的需要),然後啓動您的應用服務器。 ModeShape將在應用程序服務器中作爲服務運行,允許您部署的應用程序簡單查找,使用和共享存儲庫。ModeShape甚至可以使用JBoss AS控制檯進行監控。

  2. 我相信你指的是我們計劃開發一個倉庫可視化工具(不是一個完全成熟的CMS系統少得多)。關於這方面的工作剛剛開始,我們歡迎任何見解,功能要求和對與我們合作的興趣。我知道Magnolia可以在ModeShape上運行,但不知道其他CMS應用程序是否可以執行此操作。 JBoss Enterprise Data Services (EDS) platform還包含ModeShape並將其用作元數據存儲庫。 JBoss Business Rules Management System也可以使用ModeShape作爲其JCR存儲庫。

  3. 振形和兔崽子都在內部使用Lucene的全文檢索和查詢。在這方面,他們非常相似。當然,振形的執行搜索和查詢分析和執行的比長耳大野兔不同,實際上是由一些實施MetaMatrix的以關係爲導向的整合&聯邦引擎(現在的JBoss EDS的一部分)相同的人編寫的。因此,ModeShape爲其每種查詢語言都有一個單獨的解析器,但在此之後,所有查詢的所有驗證,計劃,計劃和執行都以相同的方式完成。我們對查詢引擎的功能和性能感到非常自豪!

  4. ModeShape沒有連接到其他CMIS系統的連接器,但正如您指出它目前正在工作(MODE-650)。我們還希望與Apache化學團隊合作,確保JCR適配器與ModeShape協同工作。我們沒有時間這樣做。

  5. 振形確實有JcrTools實用工具類,可能是有用的。但是在JCR API之上編寫的任何實用程序類都應該工作得很好。

希望幫助!振形的

+1

哇,蘭德爾你可能讓我放棄了5天基於jackrabbit的倉庫工作,並將其重寫到ModeShape。大壩:-)謝謝你帶來一些見解,很好的概述。 – lisak

+0

排序器的設計和思想是輝煌的。非常有用和易於維護 – lisak

+0

順便說一句,你很可能已經知道,但關於用戶界面可視化,這個github.com/sourcesense/modeshape-stone是一個與Apache Sling一起運行的2.4Final分支,那怎麼辦? – lisak

4

文件似乎更好。與其他apache項目相比,Jackrabbit的人員提供的文檔有限。我想,如果你需要花哨的(企業)功能,他們希望你付出代價。另外請注意,你幾乎被迫使用一個sql數據庫作爲後端。因爲幾乎所有其他後端「不適合生產使用」。相較於振形誰just comes out and says it

這其實是振形的主要目的:提供一個JCR實現,提供了訪問存儲在許多不同類型的系統,包括多個系統的聯合內容。 ModeShape存儲庫不是另一個信息孤島,而是它是您環境中已有信息的JCR視圖:文件系統,數據庫,其他存儲庫,服務,應用程序等.ModeShape可幫助您瞭解系統和您已經擁有的信息,通過標準的Java API

我寧願更清晰,而不是讓人們搜索他們的文檔和谷歌的信息不存在。

+3

「其他後端」不適合生產使用「 - 您在哪裏看到的?我以爲Jackrabbit只是一個文件系統支持的存儲庫?當然,我們在這裏支付的CQ CRX使用文件系統存儲庫。 – Rup

0

以上比較已過時;現在您需要將比例分享與長耳老虎橡木進行比較。 http://jackrabbit.apache.org/oak/

兔崽子橡樹是實現一個可伸縮的高性能和分級 內容庫用作現代 世界級的網站和其他要求苛刻的內容應用的基礎的努力。

相關問題