1. 程式人生 > >《compass-reference》翻譯計劃之:1.1概述和1.2所涉及技術(續)

《compass-reference》翻譯計劃之:1.1概述和1.2所涉及技術(續)

1.2.2. 領域模型

 

Compass的一個主要特性就是OSEM(物件/搜尋引擎對映)。可以採用annotation或者xml定義(或聯合使用),把豐富的領域模型對映到搜尋引擎中。想了解更多的內容,請閱讀第6章:OSEM-物件/搜尋引擎對映。

 

1.2.3. ... Xml 模型

Compass的另一個主要特性就是XSEMXML/搜尋引擎對映)。如果你的應用是構建在XML資料的基礎上,你就可以採用基於xpath表示式上的xml對映定義,直接把它對映到搜尋引擎中。想要了解更多的內容,請閱讀第7章:XSEM-XML對映到搜尋引擎中。

 

1.2.4. 無模型

 

如果應用中沒有指定的領域模型(例如一個基於properties的訊息系統),可以採用RSEM(資源/搜尋引擎對映)。一個Resource可以當作是一個雜湊表,允許把它當作完全開放的資料儲存在Compass中。一個資源對映定義必須要有資源的型別(types),同時至少定義一個資源id(當作其身份的識別)。另外可以增加資源的屬性對映。想了解更多的內容,請閱讀第18章:RESM-資源/搜尋引擎對映。

 

 

1.2.5. ... ORM 框架

 

構建於Compass核心之上,Compass Gps能跟大部分的流行

ORM框架整合。這種整合由以下兩個特點組成:

 

索引操作

通過ORM框架,使用CompssOSEM方式)把資料庫中的資料,自動索引到搜尋引擎中。在OSEMORM中定義的物件能被直接索引,而且可以新增自定義的過濾器。

 

映象操作

ORM框架中,必須支援事件註冊機制,而Compass能自動註冊,這是利用其自身的事件監聽器,通過ORMAPI把資料庫中的改變反射到搜尋引擎中。

 

想了解更多的內容,請閱讀第14章:介紹。ORM框架支援在第16章:嵌入Hibernate,第18JPAJava持久化API),第19章:嵌入OpenJPA

,第22章:JDOJava資料物件),第23章:OJB(物件關聯代理程式)和第24章:iBatis

 

1.2.6.  Spring 框架

 

Compass的目標:無縫整合Spring框架(開發者用它就感覺在用Spring一樣)。

 

首先要整合的跟Spring整合ORM類似,在Spring context中使用LocalCompassBeanCompassDaoSupport來配置Compass的持久化。想了解更多內容,請閱讀第25章:介紹和第26章:DAO 支援。

 

其次是Spring AOP的整合,通過Spring的原子應用,提供關於促進映象資料變動的簡單參考說明。對於應用中有一個數據源或者沒有Gps設計的情況(或者沒有映象能力,如:iBatis),這個映象參考說明能使資料來源和Compass索引同步變動。想了解更多內容,請閱讀的第31章:Spring AOP

 

再次是SpringPlatformTransactionManager的抽象整合,Compass使用SpringSyncTransactionFactory來跟Spring的事務同步運作。這就允許Compass工作在Spring指定的事務管理環境下,就像HibernateTransactionManager一樣。想了解更多內容,請閱讀的第27章:Spring 事務。

 

還有,在web應用中使用Spring MVCCompass提供了一個搜尋和索引控制器。索引控制器能在一個CompassGps中自動完成索引操作,只有初始化檢視和結果檢視需要手工來操作。搜尋控制器能自動完成搜尋操作(採用分頁),只有初始化搜尋和搜尋結果檢視(通常是同一個)需要手工來操作。想了解更多內容,請閱讀第32章:Spring MVC支援。

 

最後,LocalCompassBean配置時可以使用基於Spring2的新schema格式。

 

------------------------------------------------------------------------------------------------

 

 

注:“《compass-reference》翻譯計劃”