程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> 利用 DB2 Everyplace 構建移動 CRM 解決方案

利用 DB2 Everyplace 構建移動 CRM 解決方案

編輯:DB2教程

引言

DB2 Everyplace 提供包括嵌入式數據庫在內的數據同步整體解決方案,從而為構建移動 CRM 系統提供強大的技術支持。本文首先介紹了 DB2 Everyplace 產品的結構和功能,隨後闡述了移動 CRM 系統的體系結構,最後以一個具體實例詳細講述了如何利用 DB2 Everyplace 來開發移動 CRM 系統。

DB2 Everyplace 產品介紹

DB2 Everyplace 是面向個人數字助理 ( PDA ) 和智能電話等移動設備的移動數據解決方案,通過小如指紋的移動數據庫以及客戶 / 服務器模式的同步解決方案,從而允許企業數據無縫地從後端的業務數據庫擴展到移動設備。

DB2 Everyplace 基於三層架構,由下面三部分組成:

移動數據庫 ( DB2e Database ) :用於管理和使用移動設備或嵌入式設備上的數據。

同步客戶端 ( DB2e Sync ClIEnt ) :負責數據在移動數據庫與同步服務器之間的同步。

同步服務器 ( Sync Server ):負責管理後台數據庫與移動數據庫之間的雙向數據同步,搭建起連接企業數據源與手持設備移動數據庫之間的橋梁。

在圖 1 中,我們可以看到應用 DB2 Everyplace 的一個系統模型,上面介紹的三部分分別位於移動設備端和同步服務器端。同步服務器可以看作是移動設備和後台數據庫的中間層,它支持多個業界著名的數據庫,包括 DB2,Oracle,Microsoft SQL Server 和 Informix 等。

本文是在 Window XP 的環境中使用 DB2 Everyplace ,其版本為 9.1.4 。

圖 1. DB2 Everyplace 產品的結構模型
利用 DB2 Everyplace 構建移動 CRM 解決方案

移動 CRM 解決方案的體系架構

移動 CRM 允許企業員工通過移動設備來接入公司的 CRM 系統,能夠及時地訪問客戶的深度數據,包括:基本信息、合同情況、投訴處理、任務日程安排、銷售機會跟蹤等。通過這些信息,企業員工尤其是銷售人員能夠全方位地了解到每個客戶的特點,為營銷活動提供依據,能夠為客戶提供更加個性化的服務。

對於銷售人員來說,移動 CRM 能夠為他們及時提供准確的數據,幫助他們更好的完成銷售工作;對於公司的管理人員來說,移動 CRM 能夠更快收集到銷售人員最新的錄入數據,這大大節省了後台決策人員的時間,同時反過來也可以將這些反饋回來的數據進行匯總,再次提供給銷售人員。這種及時的雙向數據溝通大大提高了團隊協作效率,從而為公司創造更多的價值。

CRM 系統的移動性得到企業越來越多的關注,很多系統集成商都在現有的 CRM 方案基礎上加入了移動性的支持。能否在升級系統以獲取移動性支持的同時,還保證對原有系統的改動最小化,是那些已經部署了 CRM 系統的企業在系統升級時的一個重要挑戰。

利用 DB2 Everyplace 構建的移動 CRM 系統不僅可以非常方便地使企業後端的 CRM 數據擴展到移動設備端,如 PDA 、智能手機、筆記本等。同時,由於移動 CRM 系統和企業原有 CRM 之間的接口只是後端的 CRM 數據庫,因此對原有系統可以做到非常小的改動。移動 CRM 解決方案體系架構如圖 2 所示。

圖 2. 移動 CRM 解決方案體系架構
利用 DB2 Everyplace 構建移動 CRM 解決方案

在圖 2 所示的系統架構圖中可以看出,通過作為中間層的同步服務器,可以方便地在移動設備和後台 CRM 數據庫之間共享客戶管理、商機管理、投訴管理、日程安排、銷售管理等信息。通過移動 CRM 系統,銷售人員可以通過各種手持設備來訪問這些關鍵數據,為成功營銷提供支持,將勝勢轉變成勝利。

在 Sync Server 端定制數據庫表

本章首先介紹在源數據中所涉及到的數據表結構以及表之間的關系,然後介紹如何在 Sync Server 中對這些數據庫表進行定制。

建立數據庫表以表示客戶、客戶代表及關聯信息

首先,我們假定原有的 CRM 數據庫含有客戶的基本信息,當然,在實際生產環境中,客戶資料將會更加詳盡。如下表 1 :

表 1. ClIEnt 數據庫表

表字段 數據類型 說明 ClIEntID Varchar(20), Primary Key 客戶的唯一編號 Name Varchar(20) 客戶姓名 Gender Char 性別 Birthday Date 生日 Hobby Varchar(40) 愛好

同樣,數據庫中還存在客戶代表的簡單信息,如下表 2 :

表 2. ClIEntRep 數據庫表

表字段 數據類型 說明 RepID Varchar(20), Primary Key 客戶代表的唯一編號 Name Varchar(20) 客戶代表姓名

同時,每位客戶代表會負責若干客戶,在這裡建立一張表格來記錄這一對應關系,如下表 3 :

表 3. Relationship 數據庫表

表字段 數據類型 說明 RepID Varchar(20), Primary Key,Foreign Key REFERENCES ClIEntRep( RepID ) 客戶代表的唯一編號 ClIEntID Varchar(20), Primary Key,Foreign Key REFERENCES Client( ClIEntID ) 客戶的唯一編號

在這裡我們假設公司有兩位客戶代表 John 和 David 分別負責客戶 Jane 和 Diana 。客戶代表和所負責客戶的關系圖如圖 3 所示:

圖 3. 客戶代表和客戶的關系圖
利用 DB2 Everyplace 構建移動 CRM 解決方案

具體的建表語句和數據插入語句請參見 下載中 CRM.ZIP 中的 CRM.SQL 文件。

在 Sync Server 端創建訂閱

DB2 Everyplace 提供了 6 種同步對象,包含了同步過程中各方面的信息,用戶可以通過對這些同步對象的配置來完成對同步服務器的配置,以下介紹其中最為常用的 4 種:

用戶 (USER):一個用戶, 使用 DB2 Everyplace 同步服務器來對源與目標之間的數據執行同步。為一個組指定一個用戶,以提供對該組的預定集中定義的預定的訪問。在本文所闡述的例子中,新建 2 個用戶:REP001 和 REP002 ,分別對應客戶代表 John 和 David 。同時在此處也需要為每一個用戶設置相應的密碼。

組 (GROUP):具有類似移動數據同步需求的用戶組 , 對每個組定義同步特征。在本文所闡述的例子中,新建 1 個組:CRM_GROUP 。

預訂集 (SUBSCRIPTION SET):預訂集合,要為組成員提供對預訂中定義的數據和文件的訪問,應該將預訂收集到一起,放在稱為預訂集的容器中,然後將此容器對象指定給組。 在本文所闡述的例子中,新建 1 個預定集:CRM_SUBSET 。

預訂 (SUBSCRIPTION):一個規范,說明要將源數據庫或服務器中的哪些信息復制至目標數據庫。 在本文所闡述的例子中,新建 1 個預定: CRM_SUB ,並將 CLIENT 、 CLIENTREP 和 RELATIONSHIP 這 3 個數據庫表作為該預定的復制目標。

具體的同步對象配置關系圖如圖 4 所示:

圖 4. 移動 CRM 系統的同步對象關系圖
利用 DB2 Everyplace 構建移動 CRM 解決方案

有兩種途徑可以在同步服務器中創建對 CRM 數據庫表的訂閱:

1. 通過 MDAC 來進行訂閱

MDAC( Mobile Devices Administration Center ,移動設備管理中心 ) 是用於管理 Sync Server 各個功能模塊的強大圖形工具 , 它允許用戶定義用戶組要訪問的數據和文件的子集。每當用戶請求數據同步時 , 同步服務器就會訪問此管理信息。

在 Windows 環境下可以通過以下路徑進入 MDAC :開始 > 程序 > IBM DB2 Everyplace > Enterprise Edition 9.1 > 管理工具 > 啟動移動設備管理中心。

2. 通過編寫 XML 腳本文件並運行自帶的腳本工具來進行訂閱

即利用 DB2 Everyplace 自帶的配置工具 dsyadminxml.bat 來將 XML 腳本的配置信息寫入到同步服務器的控制數據庫中去。

以上介紹了兩種在 Sync Server 中創建訂閱的方法,本文采用第二種訂閱方式。

首先需要編寫 XML 腳本文件 ( 命名為 CRM.XML ),以指定同步對象的相關配置信息。通過 CMD 進入命令行,進入 %DB2E_PATH%/Server/bin 路徑,可以找到 dsyadminxml.bat 批處理文件,其中 %DB2E_PATH% 指的是 DB2 Everyplace 的安裝路徑。運行 dsyadminxml.bat -d CRM.XML 便可以將 CRM.XML 中定義的配置信息創建到 Sync Server 中去。

在清單 1 中簡單列出 CRM.XML 文件中的大致內容,具體的文件內容請參見 下載中 CRM.ZIP 中的 CRM.XML 文件。

清單 1. 配置腳本 CRM.XML 部分內容

 <?XML version="1.0" encoding="UTF-8"?> 
 <!DOCTYPE Root SYSTEM "file:/com/ibm/mobileservices/XMLscripting/mdas3.dtd"> 
 <Root> 
  <AddJdbcMaster> 
   <Database>jdbc:db2:CRM_DB</Database> 
   <Driver>com.ibm.db2.jcc.DB2Driver</Driver> 
   <UserId>db2admin</UserId> 
   <Password>db2admin</PassWord> 
  </AddJdbcMaster> 
  <AddJdbcMirror> 
   <Database>jdbc:db2:CRM_DB_M</Database> 
   …… 
  </AddJdbcMirror> 
  <AddJdbcSubscription>    
   <Name>CRM_SUB</Name> 
   …… 
   <MasterDb>jdbc:db2:CRM_DB</MasterDb> 
   <MasterDriver>com.ibm.db2.jcc.DB2Driver</MasterDriver> 
   <MirrorDb>jdbc:db2:CRM_DB_M</MirrorDb> 
   <MirrorDriver>com.ibm.db2.jcc.DB2Driver</MirrorDriver> 
   <AddTable> 
     <TargetSchema>CRM</TargetSchema> 
     <TargetTable>CLIENTREP</TargetTable> 
     …… 
     <WhereClauseMirrorToMobile></WhereClauseMirrorToMobile> 
     <WhereClauseMasterToMirror></WhereClauseMasterToMirror> 
     …… 
     <AddColumn> 
      <SourceColumn>REPID</SourceColumn> 
      <TargetColumn>REPID</TargetColumn> 
      <Subscribe>Y</Subscribe> 
      <Replicate>Y</Replicate> 
      <Key>Y</Key> 
     </AddColumn> 
     <AddColumn> 
      <SourceColumn>NAME</SourceColumn> 
      <TargetColumn>NAME</TargetColumn> 
      <Subscribe>Y</Subscribe> 
      <Replicate>Y</Replicate> 
      <Key>N</Key> 
     </AddColumn> 
   </AddTable> 
   <AddTable> 
     <TargetSchema>CRM</TargetSchema> 
     <TargetTable>CLIENT</TargetTable> 
     …… 
   </AddTable> 
   <AddTable> 
     <TargetSchema>CRM</TargetSchema> 
     …… > 
   </AddTable> 
  </AddJdbcSubscription> 
  <AddSubscriptionSet> 
   <Name>CRM_SUBSET</Name> 
   <IncludeSubscription> 
     <Name>CRM_SUB</Name> 
   </IncludeSubscription> 
  </AddSubscriptionSet> 
  <AddGroup> 
   <Name>CRM_GROUP</Name> 
   <Enabled>Y</Enabled> 
   <IncludeSubscriptionSet> 
     <Name>CRM_SUBSET</Name> 
   </IncludeSubscriptionSet> 
  </AddGroup> 
  <AddUser> 
   <Name>REP001</Name> 
   <UserGroup>CRM_GROUP</UserGroup> 
   <Password>111</PassWord> 
  </AddUser> 
  <AddUser> 
   <Name>REP002</Name> 
   <UserGroup>CRM_GROUP</UserGroup> 
   <Password>111</PassWord> 
  </AddUser> 
 </Root> 

從清單 1 可以看出,在根節點 Root 下共有以下幾種節點: AddJdbcMaster 、 AddJdbcMirror 、 AddJdbcSubscription 、 AddSubscriptionSet 、 AddGroup 和 AddUser 。接下來分別加以解釋。

節點 AddJdbcMaster 用以添加源數據庫 ( 在本文中為 CRM_DB ) 的信息,包括數據庫的 URL ,所用連接 Driver ,用戶名和密碼。同樣, AddJdbcMirror 用以添加鏡像數據庫 ( 在本文中為 CRM_DB_M ) 的信息。

節點 AddSubscriptionSet 定義了預定集信息 ( CRM_SUBSET ),會使用到 AddJdbcSubscription 中的預定信息。

節點 AddJdbcSubscription 包含了一個預定 ( CRM_SUB ) 的重要信息:訂閱的表格屬於哪個源數據庫、關聯的鏡像數據庫信息,並且通過 AddTable 來訂閱源數據庫中的具體表格 ( Client 、 ClIEntRep 和 Relationship )。每一個 AddTable 節點添加一個數據庫表,並對其進行具體配置,在這裡會用到節點 AddJdbcMaster 和 AddJdbcMirror 提供的數據庫連接信息。

節點 AddGroup 包含了一個組所需要的信息 ( CRM_GROUP ),會使用到 AddSubscriptionSet 中的預定集信息。

節點 AddUser 包含了用戶信息 ( REP001 和 REP002 ),包括用戶名、密碼,以及屬於哪個組。

利用 Filter 功能來保證數據私密性

在客戶關系管理中,數據的私密性需要得到嚴格的保證。每個客戶代表只擁有自己所負責的客戶數據的操作權限,而不應該查看到其他客戶代表所負責的客戶數據。比如上文提到的客戶代表 John 專門負責與客戶 Jane 相關的各項事宜,他可以對 Jane 的資料進行查詢和增刪改,但卻不能夠查看到 Diana 的數據;同樣的, David 也只能查看到 Diana 的數據,而不能夠看到 Jane 的數據。

在 DB2 Everyplace 中提供了數據過濾 ( Data Filter ) 功能,可以很好的支持移動 CRM 系統數據私密性的需求。我們可以簡單地將過濾功能看成是同步服務器提供的一個視圖的功能,它能使移動用戶只能訪問到他能夠訪問到的數據,從而保證了數據的安全性和私密性。

在 DB2 Everyplace 中,數據同步是雙向的,但數據過濾卻只能是單向的:只對從後台數據庫到移動數據庫的數據進行過濾。可以看出數據過濾可以分成兩階段:從源數據庫到同步服務器的鏡像數據庫,以及從鏡像數據庫到移動數據庫。前者將不需要讓所有移動用戶得知的數據過濾掉;而後者針對特定移動用戶進行特定的過濾定制。

數據過濾包括垂直過濾 ( Vertical Filter ) 和水平過濾 ( Horizontal Filter ) 。當不希望用戶訪問到某些列的信息時,可以通過垂直過濾將這些列進行屏蔽;當不希望用戶訪問到某些數據行集時,可以通過水平過濾將這些具體的行集進行過濾。

既然不同的移動用戶 REP001( John ) 和 REP002( David ) 會訪問數據庫表中的不同數據,因此我們通過從鏡像數據庫到移動數據庫的水平過濾來實現數據過濾功能。

建立水平過濾的步驟

找到每個用戶在數據庫中的唯一標識。如本文的客戶代表 John 和 David ,他們在數據庫中的唯一標識是 ClIEntRep 表中的主鍵 RepId ,分別是 REP001 和 REP002 。

同步服務器 ( Sync Server ) 的組 ( GROUP ) 對象中定義一個變量用以區別不同用戶。本文定義了變量 :REP ,並且賦予初始值 'REP001' 。

在同步服務器 ( Sync Server ) 的用戶 ( USER ) 對象中,針對每一個用戶賦予不同的變量值。本文的 REP001 用戶的 :REP 值為 'REP001' , REP002 用戶的 :REP 值為 'REP002' 。當移動用戶和同步服務器進行通信時,同步服務器便可以得知當前會話 :REP 的具體值。

在數據庫中找到那些需要進行過濾的表。如果這些表中的數據含有用戶的標識信息,也就是步驟 1 所示主鍵的外鍵,則可以直接選出外鍵的值與步驟 3 所得到的變量值相同的記錄。如本文的 ClientRep 表和 Relationship 表都含有 RepId 這一列。如果表中不含有步驟 1 的外鍵,則必然存在一個或者多個中間表,這些中間表指明了數據過濾的表中的數據與用戶表示的對應關系,可以通過這樣的關系來選出屬於特定用戶的數據。如本文的 Client 表,並不含有 RepId 列,但是通過 Relationship 表,可以得知哪些 ClIEnt 數據屬於哪些用戶。

在同步服務器 ( Sync Server ) 的預定 ( SUBSCRIPTION ) 對象中,對那些需要進行數據過濾的數據庫表進行配置。根據步驟 4 的信息對數據庫表添加相應的 where 語句。在本文中,對於 CLIENTREP 和 Relationship 表,加入的 where 語句為 REPID = :REP ;對於 Client 表,加入的 where 語句為 CLIENTID IN ( SELECT CLIENTID FROM CRM.Relationship WHERE REPID = :REP ) 。

接下來介紹具體的 Filter 設置方法。在進行數據庫訂閱的配置時已經介紹過存在兩種方式來對同步服務器的同步信息進行設置,在進行 Filter 設置時也可以通過這兩種方式中的其中一種來進行相關配置。

通過 MDAC 來進行更新訂閱配置

在 GROUP 層定義變量

組 -> CRM_GROUP -> 編輯 -> 數據過濾器

添加 :REP ( 變量名需要以冒號作為第一個字符 ),缺省值 'REP001' ( 字符串要用單引號括起來 )

在 USER 層對變量進行賦值

用戶 -> REP001 -> 編輯 -> 數據過濾器

更改:雙擊參數 :REP ,輸入 'REP001' 來覆蓋默認值

用戶 -> REP002 -> 編輯 -> 數據過濾器

更改:雙擊參數 :REP ,輸入 'REP002' 來覆蓋默認值

在 SUBSCRIPTION 層定義過濾條件

預定 -> CRM_SUB -> 編輯 -> 標識 -> 定義預定

選中 CLIENT -> 高級 -> 行 -> 個別用戶的行的子集,輸入 CLIENTID IN (SELECT CLIENTID FROM CRM.Relationship WHERE REPID=:REP)

選中 CLIENTREP -> 高級 -> 行 -> 個別用戶的行的子集,輸入 REPID=:REP

選中 RELATIONSHIP -> 高級 -> 行 -> 個別用戶的行的子集,輸入 REPID=:REP

通過編寫 XML 腳本文件並運行自帶的腳本工具來更新訂閱配置

首先需要編寫腳本,這裡命名為 CRM_REMOVE.XML ,來將原有的訂閱控制信息刪除掉。具體命令與創建預定時類似,運行 dsyadminxml.bat -d CRM_REMOVE.XML 即可。

然後編寫新的訂閱腳本 CRM_FILTER.XML 來重新配置訂閱設置。設置成功後,同步服務器便會根據不用的用戶選擇不同的數據子集來進行同步,從而保證用戶只能訪問到有訪問權限的數據,對於他人的秘密數據將不會被同步到移動設備上來。

CMR_FILTER.XML 在 CRM.XML 文件的基礎上進行以下修改,加入一些過濾語句,形成了帶有過濾功能的訂閱腳本文件。

找到 TargetTable 是 CLIENTREP 的 AddTable 元素,在 WhereClauseMirrorToMobile 元素中加入語句 REPID = :REP ,如清單 2 所示。

找到 TargetTable 是 RELATIONSHIP 的 AddTable 元素,在 WhereClauseMirrorToMobile 元素中加入語句 REPID = :REP 。

找到 TargetTable 是 CLIENT 的 AddTable 元素,在 WhereClauseMirrorToMobile 元素中加入語句 CLIENTID IN ( SELECT CLIENTID FROM CRM.Relationship WHERE REPID = :REP ) 。

具體的預定刪除腳本文件和帶有 Filter 的預定創建腳本文件請參見 下載中 CRM.ZIP 中的 CRM_REMOVE.XML 和 CRM_FILTER.XML 文件。

清單 2. CMR_FILTER.XML 腳本文件片段

 <AddTable> 
  <TargetSchema>CRM</TargetSchema> 
  <TargetTable>CLIENTREP</TargetTable> 
  <SourceSchema>CRM</SourceSchema> 
  <SourceTable>CLIENTREP</SourceTable> 
  <DeleteAuth>Y</DeleteAuth> 
  <InsertAuth>Y</InsertAuth> 
  <UpdateAuth>Y</UpdateAuth> 
  <SelectAuth>Y</SelectAuth> 
  <WhereClauseMirrorToMobile>REPID=:REP</WhereClauseMirrorToMobile> 
  <WhereClauseMasterToMirror></WhereClauseMasterToMirror> 
  <JoinFilter>G</JoinFilter> 
  <Order>2</Order> 
  <Encrypt>N</Encrypt> 
  <AddColumn> 
   <SourceColumn>REPID</SourceColumn> 
   <TargetColumn>REPID</TargetColumn> 
   <Subscribe>Y</Subscribe> 
   <Replicate>Y</Replicate> 
   <Key>Y</Key> 
  </AddColumn> 
  <AddColumn> 
   <SourceColumn>NAME</SourceColumn> 
   <TargetColumn>NAME</TargetColumn> 
   <Subscribe>Y</Subscribe> 
   <Replicate>Y</Replicate> 
   <Key>N</Key> 
  </AddColumn> 
 </AddTable> 

將數據從源數據庫復制到鏡像數據庫

現在我們已經成功地在源數據庫 ( 也就是 CRM 數據庫 ) 中創建了 ClIEnt 等 3 張數據庫表,並插入了業務數據;在 Sync Server 端成功進行了配置,訂閱了源數據庫中的業務表,並創建了兩個同步用戶。為了使移動客戶端能夠同步到源數據庫中的數據,還需要在 Sync Server 端執行復制命令。

在這裡先簡單介紹一下鏡像數據庫的概念。在 DB2 Everyplace 產品架構中,並不是每一次移動設備與 Sync Server 進行同步都會訪問源數據庫,而是利用鏡像數據庫來進行同步數據的存儲。只有當發出復制命令時,Sync Server 才會進行沖突數據處理,並和源數據庫進行雙向數據復制,這樣減少了對源數據庫的訪問,減輕源數據庫的負載。

在 %DB2e_PATH%\Server\bin 目錄下可以找到復制工具 dsyreplicate.bat ,將鏡像數據庫 CRM_DB_M 作為參數,運行 dsyreplicate.bat CRM_DB_M 命令就會在源數據庫和 Sync Server 所管理的鏡像數據庫 CRM_DB_M 之間進行數據的雙向復制。

利用移動客戶端程序來同步數據

DB2 Everyplace 的移動端支持多種硬件平台 ( 包括 ARM 、X86 、XSCALE 等 ) 和操作系統 ( 包括 Linux 、neutrino 、palmos 、symbian7 、SymBian7s 、win32 、wince 等 )。在安裝父目錄的子目錄 ClIEnts 下可以找到針對不同移動設備的移動數據庫引擎和 Sync ClIEnt 的 API 文件。

從移動設備的設置信息 ( 見圖 5 ) 中可以看出,本文采用的移動設備的操作系統為 WinCE 5 ,處理器為 ARM,因此在 DB2 Everyplace 的相應目錄中找到同步所需要的文件包,復制到移動設備上點擊安裝。所需的文件列表如表 4 所示。

圖 5. 移動設備的操作系統、處理器信息
利用 DB2 Everyplace 構建移動 CRM 解決方案

表 4. 需要安裝在移動設備上的 cab 文件

路徑 文件 說明 %DB2e_PATH%\ClIEnts\wince\database\en_US\install sampwce502.armv4t.CAB 英文版的 DB2e CLP 程序 %DB2e_PATH%\ClIEnts\wince\database\\install db2ev502.armv4t.CAB DB2e 數據庫引擎 %DB2e_PATH%\ClIEnts\wince\sync\en_US\install syncv502.armv4t.CAB DB2e Sync ClIEnt 引擎

安裝完畢之後,在移動設備中會生成兩個新的目錄 DB2 Everyplace SyncServer 和 DB2 Everyplace Samples ,前者包含移動設備端的同步程序 db2sync.exe ,後者包含 DB2e 數據庫的命令行工具 DB2eCLP.exe 。

在這裡,我們模擬客戶代表 John 登錄移動設備,展示如何進行同步並查看數據的過程。在利用同步程序同步之前,需要進行相應的參數設置,包括 URL 、User 、PassWord 和 Target Path ,如圖 6 所示。其中 URL 指的是同步服務器的 IP 和端口號;User 是系統分配給 John 的用戶名,在 “在 Sync Server 端定制數據庫表” 一節中可以得知是 REP001 ;PassWord 需要填入在同步服務器中定義用戶時所設置的密碼;Target Path 指定了同步下來的數據將存放於 data 目錄下。

圖 6. 移動設備的同步設置
利用 DB2 Everyplace 構建移動 CRM 解決方案

在填寫完同步設置之後,點擊同步就可以開始同步過程。很快,就可以看到同步成功的提示信息。接下來,我們利用 DB2eCLP.exe 來查看同步下來的數據。輸入 select * from client 查詢命令後,就可以看到如圖 7 所示的查詢結果。從中我們可以看出,同步下來的 Client 表中的數據只包含 ( CLIENT001 , Jane , F , 1983-11-02, Swimming ) 一條數據。同理,我們可以查詢 ClIEntrep 和 Relationship 這兩張數據庫表中的數據,在此就不再贅述。

圖 7. 數據查詢結果
利用 DB2 Everyplace 構建移動 CRM 解決方案

至此,我們成功的在 Sync Server 端訂閱了數據庫 CRM_DB 中 ClIEnt 等 3 張表;利用 Filter 功能來保證客戶代表所訪問數據的私密性;隨後在移動設備端安裝同步所需要的文件;最後進行一次成功的同步,並通過 DB2eCLP 工具驗證了同步到移動設備上的數據。

結束語

DB2 Everyplace 是 IBM 公司的一款優秀的移動數據庫中間件產品,它為無線數據應用開發提供了強大的支持。本文介紹了如何利用 DB2 Everyplace 來構建移動 CRM 系統,並從客戶端和服務器端詳細介紹了這個系統的實現方法。

本文示例源代碼或素材下載

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved