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