CRM系統(tǒng):深入剖析Comp iere ERP & CRM數(shù)據(jù)模型的研究
深入剖析Comp iere ERP & CRM數(shù)據(jù)模型的研究
包海山
(內蒙古財經學院 職業(yè)學院,內蒙古 呼和浩特 010051)
[摘 要]設計一個成熟穩(wěn)定的ERP系統(tǒng)的關鍵是創(chuàng)建通用的數(shù)據(jù)模型框架和能夠適應企業(yè)業(yè)務流程的軟件體系。本文
通過“報價- 發(fā)票”業(yè)務流程中的銷售訂單業(yè)務深入分析Comp iere ERP & CRM (Web App lication版本)的通用數(shù)據(jù)模型及其動
態(tài)數(shù)據(jù)字典設計思想,為企業(yè)導入應用和客戶化定制提供基本思路。
[關鍵詞]Comp iere;開源ERP & CRM;數(shù)據(jù)模型;動態(tài)數(shù)據(jù)字典;業(yè)務流程
[中圖分類號] TP311. 52 [文獻標識碼]A [文章編號]1672 - 5344 (2008) 03 - 0084 - 05
一、引言
Comp iere ERP & CRM 系統(tǒng)(以下簡稱
Comp iere)是由美國ComPiere公司面向全球中小企
業(yè)用戶推出的開源企業(yè)資源管理/客戶關系管理系
統(tǒng)。自從2001年問世以來, Comp iere以其強大的企
業(yè)資源/客戶關系集成管理功能和后臺會計業(yè)務處
理能力、多企業(yè)、多組織、多會計模式、多語種、多貨
幣、多成本核算體系等國際化I18N設計思想,以及
純Java的多平臺支持、靈活方便的需求適應性配置
支持、高度的柔軟性和可擴充性、源代碼全部免費開
放等眾多優(yōu)勢,將全球中小型企業(yè)實現(xiàn)低成本高效
率高性能ERP、CRM、SCM (供應鏈管理)管理系統(tǒng)的
夢想成為可行的現(xiàn)實。在短短的幾年時間里,擁有
了遍布全球的眾多業(yè)務合作伙伴和代理機構,而且
引起企業(yè)客戶、開發(fā)商、ERP研究教育機構等各界的
廣泛關注和積極參與,通過http: / / forum. comp iere.
com和開源社區(qū)共享成果,共同推動著Comp iere的
快速發(fā)展,被業(yè)界授予“開源ERP & CRM 全球第
一”的美譽。
Comp iere的技術優(yōu)勢主要來自于通用數(shù)據(jù)模型
之上的柔性引擎設計思想。在數(shù)據(jù)模型方面,
Comp iere利用動態(tài)數(shù)據(jù)字典技術實現(xiàn)了業(yè)務視圖和
數(shù)據(jù)庫視圖的分離,為Comp iere的數(shù)據(jù)庫獨立奠定
了基礎;在業(yè)務處理功能設計方面, Comp iere采用目
前國際通行的ERP業(yè)務流程引擎柔性設計思想,實
現(xiàn)了單個引擎處理所有業(yè)務流程的先進方法。下面
主要通過“報價- 銷售訂單- 發(fā)貨- 收款- 發(fā)票”
業(yè)務流程中的銷售訂單業(yè)務模型深入剖析Comp iere
的通用數(shù)據(jù)模型設計思想和動態(tài)數(shù)據(jù)字典設計方
法。
二、Comp iere數(shù)據(jù)模型分析
(一)數(shù)據(jù)庫表及其E - R圖結構
Comp iere2. 5. 3b數(shù)據(jù)庫包含6大類547個數(shù)據(jù)
庫表,分別以AD _ (App lication Dictionary,動態(tài)數(shù)據(jù)
字典) 、C _ ( Client, 用戶實體功能) 、M _
(Material&Product, 原材料與商品管理) 、I _
( Import&Export, 數(shù)據(jù)輸入輸出) 、B _ (Buyer, 購買
者) 、X_ ( eXtend,擴展表管理)作為數(shù)據(jù)庫表名的開
頭標志。如C_Order、C_Orderline分別表示由用戶
使用的訂單數(shù)據(jù)庫表和訂單明細數(shù)據(jù)庫表。簡化的
數(shù)據(jù)庫表C_Orderline的構成如圖1所示。
在Comp iere的銷售訂單(Order)處理流程中,通
過訪問訂單數(shù)據(jù)庫表C_Order來獲取訂單業(yè)務所需
數(shù)據(jù),如訂單號、訂貨日期、送貨期限、總價等。訂單
中每種商品的編號、名稱、單價、單位、數(shù)量、折扣、實
際售價等訂單明細數(shù)據(jù)需要從相應的訂單明細數(shù)據(jù)
庫表C_Orderline中提取。而顧客名稱、地址以及外
幣結算兌換率等數(shù)據(jù)分別在業(yè)務伙伴C_BPartner、
業(yè)務伙伴聯(lián)系地址C _BPartner_Location、貨幣C _
Currency等其它數(shù)據(jù)庫表中,需要根據(jù)業(yè)務邏輯E -
R圖(Entity - RelationMap,實體- 關系圖)創(chuàng)建C_
Order業(yè)務視圖(View)并與這些數(shù)據(jù)庫表進行關聯(lián)
起來才能獲取所需業(yè)務數(shù)據(jù)。如將函數(shù)NVL ( bpc.
Name, bp. Name) 的值作為顧客聯(lián)系名稱Contact2
Name,而新增加的列———折扣總額DiscountAmtTotal
由表達式:
ROUND ( ( SELECT SUM ( il. QtyInvoiced 3 ( il.
PriceL ist - il. PriceActual ) )
FROM C_ InvoiceL ine ilWHERE il. C_ Invoice_ ID
= i. C_ Invoice_ ID ) , cc. StdPrecision)
AS DiscountAmtTotal
計算產生。另外,該業(yè)務視圖中的數(shù)據(jù)將通過
關聯(lián)被訂單明細C_Orderline、訂單課稅明細C_Orde2
rTax以及出庫單M_ InOut等業(yè)務視圖引用。
在以Oracle10g作為后臺數(shù)據(jù)庫環(huán)境下,通過
OsqlEdit編輯器創(chuàng)建和更新的通用C_Order業(yè)務視
圖如清單1所示。
(二)數(shù)據(jù)模型
對象和關系數(shù)據(jù)庫之間的映射通常是用一個易
于理解和手工可修改的XML 文檔來定義的。目前
的映射語言以Java為中心,所以映射文檔是按照持
久化對象PO的定義來創(chuàng)建的,而不是對數(shù)據(jù)庫表
的直接定義。針對Java開發(fā)環(huán)境的對象關系映射
模型(ORM)技術框架很多,如實體Bean、OJB、JDO、
JDBC以及Torque、Hibernate等。
利用ORM技術可以實現(xiàn)業(yè)務層與數(shù)據(jù)存儲相
分離,開發(fā)人員不需要關心數(shù)據(jù)的實際存儲方式,便
于應用程序實現(xiàn)數(shù)據(jù)庫獨立。ORM技術把數(shù)據(jù)庫
和SQL語句都隱藏起來,使得開發(fā)人員致力于設計
并使用實體對象,實體對象在數(shù)據(jù)庫中存儲、訪問的
具體邏輯由ORM框架自動進行處理。例如,當需要
把應用程序從Oracle數(shù)據(jù)庫遷移到PostgreSQL數(shù)據(jù)
庫,只需要修改配置文件即可,不需要修改應用程
序。
Comp iere采用ORM技術創(chuàng)建了業(yè)務數(shù)據(jù)模型,
因此具有如下優(yōu)勢:
1)提高學習開發(fā)效率,降低開發(fā)成本;
2)簡化代碼,減少BUG數(shù)量;
3)提高應用系統(tǒng)的性能;
4)隔離數(shù)據(jù)源,便于實現(xiàn)數(shù)據(jù)庫獨立。
一個基于業(yè)務流程架構的Comp iere數(shù)據(jù)模型
如圖3所示。
為了實現(xiàn)數(shù)據(jù)庫獨立計劃, Comp iere從2004年
開始在代碼級別加強了對PO的管理,目前的通用
版本由以下幾個層次的Java類構成:
①PO. java,是所有持久化對象的基類,由它實
現(xiàn)了查詢、插入、更新、刪除等數(shù)據(jù)庫基本操作。
Comp iere中其它所有的3 . java都直接或間接地繼
承PO. java,完成對相應數(shù)據(jù)庫表、列的訪問操作。
②在PO類中, Comp iere希望實現(xiàn)類似trigger的
功能,以移植過去用PL /SQL寫的大量trigger代碼。
為此,在PO. java中定義了布爾型的beforesave ( ) 、
aftersave ( )等方法,用來代替trigger功能。
③數(shù)據(jù)庫表3 3 3 對應的Java類源碼文件是X
_3 3 3 . java,它繼承自PO. java,可以通過Comp iere
提供的generateModel工具自動產生。作為一個簡單
的Bean, X_3 3 3 . java主要由一些類的get、set方
法組成。
強力推薦:
天柏客戶關系管理系統(tǒng)
天柏客戶關系管理系統(tǒng)(CRM)是一款集專業(yè)性、實用性、易用性為一體的純B/S架構的CRM系統(tǒng),它基于以客戶為中心的協(xié)同管理思想和營銷理念,圍繞客戶生命周期的整個過程,針對不同價值的客戶實施以客戶滿意為目標的營銷策略,通過企業(yè)級協(xié)同,有效的“發(fā)現(xiàn)、保持和留住客戶”,從而達到留住客戶、提高銷售,實現(xiàn)企業(yè)利潤最大化的目的。通過對客戶進行7P的深入分析,即客戶概況分析(Profiling)、客戶忠誠度分析(Persistency)、客戶利潤分析(Profitability)、客戶性能分析(Performance)、客戶未來分析(Prospecting)、客戶產品分析(Product)、客戶促銷分析(Promotion)以及改善與管理企業(yè)銷售、營銷、客戶服務和支持等與客戶關系有關的業(yè)務流程并提高各個環(huán)節(jié)的自動化程度,從而幫助企業(yè)達到縮短銷售周期、降低銷售成本、擴大銷售量、增加收入與盈利、搶占更多市場份額、尋求新的市場機會和銷售渠道,最終從根本上提升企業(yè)的核心競爭力,使得企業(yè)在當前激烈的競爭環(huán)境中立于不敗之地。
關鍵詞:CRM,CRM系統(tǒng),CRM軟件,客戶關系管理,客戶管理軟件,客戶管理系統(tǒng),客戶關系管理軟件,客戶關系管理系統(tǒng)