"dRS Product Information V1.0" 中文版發布了,
請在這里下載:
dRS 產品信息 V1.0 中文版
。
-------------------------------------------
1.0 版本
db4o
復制系統
(dRS)
db4o
復制系統
(
dRS
),基于
Hibernate
的強大能力,允許用戶在領先的開源對象數據庫
do4o
的分布式實例和類似
Oracle
、
MySQL
這樣的所有普通關系型數據庫之間構建雙向對象同步應用程序。當處理現有
IT
環境中關系型數據庫技術的數據一致性時,
dRS
使
db4o
的原生對象持久化體系能適用于所有的
Java
和
.NET
開發者。
dRS 100%
的面向對象,尤其適合敏捷企業開發和軟件制造商的產品快速更替,以及大多數的移動業務環境。相比上世紀
80
年代利用關系型數據庫技術設計的集中式數據存儲,在復制數據方面軟件管理者能削減
90%
的開發費用和時間,并且關系型數據庫與
Java
、
.NET
面向對象軟件體系也有著本質的不協調。
|
db4o
是開源對象數據庫,它能使
Java
與
.NET
開發者大幅削減開發時間以及開支,并能達到史無前例的性能。
db4o
原生對象數據庫引擎獨一無二的設計使它成為了嵌入式設備和裝置、移動套裝軟件或桌面平臺或實時控制系統的理想選擇
——
簡而言之:適用于所有不需要
DBA
的環境。
|
db4o
對象數據庫的設計目標是嵌入進分布式應用軟件以及需要軟件支持的設備上,尤其是資源受限和性能要求苛刻以及無需
DBA
的場合。列舉一下
db4o
客戶的應用
Indra
高速列車控制系統
,
波音
P8-A
軍用飛機
,
能運行在現有
PDA
上的
Easterndata
移動入戶送貨系統
。在大部分案例中,客戶端
db4o
數據庫實例部分地連接到運行了
Oracle
和
MySQL
等關系型數據庫(
RDBMS
)的企業級服務器端環境中。基于這些連接,在分布式數據集之間,
dRS
提供了自動的,單向或雙向的數據同步。
db4o
復制系統
(
dRS
),適用于
db4o-
到
-Hibernate/RDBMS
、
db4o-
到
-db4o
、以及
Hibernate/RDBMS-
到
-Hibernate/RDBMS
的復制。
dRS
目前版本是
1.0
并運行在
Java 1.2
或更高版本上。
基于
GPL
許可,你可以到
db4o
下載中心
(
http://www.db4o.com/community/ontheroad/downloadcenter/
)
免費下載,付費商業授權(非
GPL
)可發郵件到
sales@db4o.com
申請
。
|
|
為企業賦予敏捷和移動特性
dRS
的面向對象復制手段是專門為敏捷企業的產品快速更替和大量的移動業務環境而設計。
dRS
在簡化分布式數據庫實例同步以及頻繁的重構軟件代碼方面做了很多優化,這在以前是無法同時完成的。
假設這樣的范例,業務對象 “ customer ” (包含消費者賬戶信息)需要在售貨員的已聯網 PDA 和后臺企業服務器之間同步。哪些組成了對象 “ customer ” ,哪些又應該和父對象一起被復制,類中的父-子關系提供了自然的描述。為了完成這些業務對象的完整復制,開發者只需要連接兩個數據庫實例并請求更新“ customer ”對象再同步他們即可 —— 僅僅需要一行代碼:
ReplicationSession?replication? = ? new ?GenericReplicationSession(db4oProvider,?hibernateProvider);?
// Query?for?objects?changed?from?db4o?
Iterator4?itor? = ?db4oProvider.objectsChangedSinceLastReplication();?
// Iterate?changed?objects,?replicate?them?
while ?(itor.hasNext())?{?
Customer?customer? = ?(Customer)?itor.next();?
replication.replicate(customer);?
?}
// commit?the?replication?session?
replication.commit();?
通常的關系型技術,業務對象
“
customer
”
將包含很多有關聯的表,這些表由硬連線(
hard-wired
)、靜態自定義代碼(
static application code
)以及由多行非原生
SQL
書寫的字符串互相參考,導致重構非常棘手。
面向對象復制
????????
|
關系型復制
|
當正在爭論這些問題時(參考
Scott Ambler
著
,
“
Agile Techniques for Object Databases
”
),對象-關系的不協調匹配將會對軟件自身的重構帶來嚴重的制約,一旦分布式數據庫需要進行數據同步的話,這個問題將會變得更加嚴重。
利用
db4o
原生面向對象持久化手段,開發者可以通過敏捷開發提高生產力,再也無需被原有的持久化方案所約束。這得有恩于自動
schema
的進步,
db4o
自動適應任何被更新的對象模型,使頻繁的軟件重構成為可能,甚至是高度分布式的數據體系。
因此,企業能更容易的適應快速變化的環境,無需擔憂急速膨脹的花費和軟件質量以及逐漸降低的可維護性。無需遵循
“
不要改變正在運行的系統
”
原則,企業部署
db4objects
的原生對象持久化方案,能抑制用戶日益增長的需求給企業帶來的沖擊,并提供更加豐富的功能和細化的軟件解決方案,尤其適合移動方面的應用。
特色:面向對象的同步沖突解決方案
dRS
獨一無二的特色是它的應用程序數據驅動(
application-data-driven
)沖突解決方案。應用程序數據模型應該是唯一存儲面向數據業務邏輯的地方,可作為解決沖突問題的方案,這是不二的選擇。
public ?Object?resolve?(Object?copyA,?Object?copyB)?{?
if (((Customer)copyA).changedBy().isCustomerOwner()?
return ?copyA;?
if (((Customer)copyB).changedBy().isCustomerOwner()?
return ?copyB;?
return ? null ;?
}};
以上范例,業務對象“ customer ”在售貨員手持 PDA (離線狀態)和后臺 CRM 數據庫中都有一個可修改的電話號碼。業務邏輯需要知道售貨員是否已確認客戶的“身份”,以便能覆蓋后臺數據,除非有特例發生(比如,對售貨員來說,用戶的某些特殊權限或例如自助服務交易等這些更 “ 高級 ” 的身份)。所以業務邏輯不能被固化(比如用關系型復制技術)在應用程序中,但是可以和對象一起存儲,讓它有足夠的“聰明”自動同步所有相關聯的和最接近的業務規則。
安裝
安裝db4o 復制系統是為了更簡潔地操作關系型數據庫。只需從db4o 下載中心www.db4o.com/community/ontheroad/downloadcenter/下載 db4o 核心包以及包括 Hibernate 在內的db4o 復制系統。安裝并配置 Hibernate 連接到你的關系型數據庫,接著為持久類創建 Hibernate 映射文件。
如果在你的關系型數據庫中已經有了數據,dRS 將更新 schema 以便記錄對象版本。如果你的數據庫是空的,dRS 系統將自動創建存儲對象的表。接著,啟動復制會話,傳遞你想要復制的對象。最后提交——進行兩個數據庫之間的同步。更多信息請參考用戶指南,其中包含了大量的范例,能幫助你快速學習,并在 10 分鐘內運行成功。
請注意!引用、轉貼本文應注明原作者:Rosen Jiang 以及出處: http://www.aygfsteel.com/rosen