3.1客戶管理域客戶管理域的事務(wù)屬于在線處理類事務(wù)(OLAP),主要的事務(wù)包括客戶下新的定單、修改定單、查詢某個定單的狀態(tài)、或者查詢某個客戶的所有定單等。定單的來源包括一般客戶和公司客戶(分銷企業(yè)),公司客戶的定單稱為大定單(BigOrders)。當(dāng)系統(tǒng)接收到新的定單,需要通過公司管理域,查詢客戶的信用狀況,根據(jù)用戶是分銷商、第一次客戶還是老客戶,來決定不同的折扣率。已經(jīng)下的定單還可以進行修改,客戶可以查看自己的定單,銷售人員則可以查看所有客戶的定單。
3.2制造過程管理域
制造過程管理域管理企業(yè)的生產(chǎn)線活動。生產(chǎn)的成品稱為部件(Widgets),由構(gòu)件(Components)組裝而成。部件和構(gòu)件,統(tǒng)稱為零件(Pans)。生產(chǎn)線的類型有兩種,包括計劃生產(chǎn)線(PlannedLines)和大定單生產(chǎn)線(LargeOrderLines)。計劃生產(chǎn)線按照事先規(guī)定的數(shù)量和生產(chǎn)速度,生產(chǎn)部件;而大定單生產(chǎn)線則根據(jù)客戶的大定單來進行生產(chǎn)。具體的生產(chǎn)過程由工作單(WorkOrder)來進行驅(qū)動。工作單描述某種類型的部件的數(shù)量及其說明。計劃生產(chǎn)線的作用,是模擬現(xiàn)實中的根據(jù)預(yù)測來進行生產(chǎn)的活動,而大定單生產(chǎn)線則模擬現(xiàn)實中的根據(jù)客戶定單進行生產(chǎn)的情形。當(dāng)工作單進入系統(tǒng),系統(tǒng)查詢BOM(BillofMaterials,是對生產(chǎn)某個部件需要什么構(gòu)件以及數(shù)量的描述),并且從庫存中凋出相應(yīng)的構(gòu)件。當(dāng)部件在生產(chǎn)線上移動,數(shù)據(jù)庫里的部件狀態(tài)相應(yīng)進行更新。當(dāng)工作單完成,數(shù)據(jù)庫的工作單狀態(tài)隨即改變,零件庫存量相應(yīng)做出更新。如果某種構(gòu)件的庫存用光了(可以設(shè)置庫存警戒線),系統(tǒng)向供應(yīng)發(fā)出購買定單。
3.3供應(yīng)鏈管理域
供應(yīng)鏈管理域負(fù)責(zé)和供應(yīng)商的交互事務(wù)。它負(fù)責(zé)根據(jù)所需要汀購的零部件、訂購的數(shù)量、供應(yīng)商的報價等信息,決定聯(lián)系哪個供應(yīng)商。供應(yīng)鏈管理域隨即向選定的供應(yīng)商發(fā)送一個采購單(PurchaseOrder)。采購單包含采購的零部件類型和數(shù)量、收貨地址、以及發(fā)貨的截止時間等信息。當(dāng)供應(yīng)鏈管理域接收到相應(yīng)的零部件后,則往制造管理域發(fā)送更新庫存的消息,由之更新庫存。
3.4公司內(nèi)部信息管理域
公司內(nèi)部信息管理域負(fù)責(zé)管理客戶、零件、供應(yīng)商等信息??蛻舻男庞眯畔?,包括其信用額度等,保存在公司內(nèi)部信息管理域的獨立數(shù)據(jù)庫里,通過這樣的信息部署,保證了最大的信息安全。當(dāng)客戶下新定單的時候,系統(tǒng)需要檢查其信用信息,這個請求來自客戶管理域,發(fā)到公司內(nèi)部信息管理域,由其處理,并返回結(jié)果。給客戶的折扣信息也在這里進行計算。
通過以上的分析,各個管理域具有明確的管理職責(zé),有些事務(wù)需要跨越多個管理域才可以完成,各個域之問的調(diào)用關(guān)系通過消息來驅(qū)動。系統(tǒng)有可能訪問外部信息源,比如向供應(yīng)商訂購零部件等,這樣的事務(wù),不僅是跨越系統(tǒng)內(nèi)各個管理域的、而且是跨越不同系統(tǒng)的事務(wù)。由此可見,EcPerf模擬了一個復(fù)雜的實際電子商務(wù)應(yīng)用。
3.5應(yīng)用架構(gòu)
與供應(yīng)商的交互事務(wù),使用JavaServlet技術(shù)來實現(xiàn),稱為SupplierEmulator,部署到不同的機器上。SupplierEmulator模擬系統(tǒng)向供應(yīng)商發(fā)送零部件采購單,以及收到零部件的交互事務(wù)。SupplierEmulator從供應(yīng)鏈管理域的Buye6es會話Bean接收定單,經(jīng)過一定時間的定單處理(睡眠一段時間,時間的長度是定貨到發(fā)貨的平均時間),然后把訂購的零部件發(fā)送給RreceiverSes會話Bean,圖2描述了各個軟件模塊的關(guān)系。
工作負(fù)載由一個多線程Java程序(EcPerfDriver)來生成。EcPerfDriver可以在多個客戶端機器上運行,模仿多用戶的并發(fā)訪問。數(shù)據(jù)的持久化通過EJB技術(shù)的實體Bean來實現(xiàn),系統(tǒng)持兩種持久化方法,包括BMP(BeanMaIlagedPersistency)和CMP(ContainerManagedPersistency)。
圖2SupplierEmulator的交互通過沒置事務(wù)導(dǎo)入速率(TransactionIn脅tionRate),指定每秒鐘負(fù)載牛成器生成的新定單數(shù)量,以及每秒種在制造管理域安排生產(chǎn)的工作單數(shù)量。性能以每分種執(zhí)行的商業(yè)操作來進行表示Bbops/min(BenchmarkBusinessOpemtionsperMinute),分別對客戶管理域和制造域每分鐘完成的操作數(shù)量進行度量,然后加權(quán)汁算出來。4測試與優(yōu)化測試套件以J2EE技術(shù)(EJB)來實現(xiàn),部署到測試系統(tǒng)上。測試系統(tǒng)的硬件和軟件配置如圖3所示。
圖3測試系統(tǒng)的軟件和硬件配置對J2EE電子商務(wù)系統(tǒng)進行優(yōu)化,有不同的設(shè)計模式可以遵循。我們把討論的重點放在數(shù)據(jù)的持久化、對象緩存、以及數(shù)據(jù)庫連接的緩沖池管理等幾個關(guān)鍵問題上,即對數(shù)據(jù)存取進行優(yōu)化。
信息發(fā)布:廣州名易軟件有限公司 http://www.jetlc.com