ERP開(kāi)發(fā)平臺(tái)簡(jiǎn)介
進(jìn)公司到現(xiàn)在一直從事ERPII平臺(tái)的開(kāi)發(fā),四年多了,看到平臺(tái)慢慢成型,感到很有成就感,下面簡(jiǎn)單整理一下我們的開(kāi)發(fā)平臺(tái)的主要作用和結(jié)構(gòu):
主要作用:讓業(yè)務(wù)組的程序員能根據(jù)業(yè)務(wù)需求快速開(kāi)發(fā)單據(jù),分工合作,我們關(guān)注技術(shù)實(shí)現(xiàn),他們關(guān)注業(yè)務(wù)需求。
一、系統(tǒng)架構(gòu):
首先橫向看是一個(gè)多層式的結(jié)構(gòu),包括數(shù)據(jù)層、中間層、UCO,前端(分WinForm和WebForm),UCO可看做是前端與中間層交互的媒介,既可在服務(wù)端執(zhí)行也可在客戶(hù)端執(zhí)行;其次縱向看類(lèi)似SOA架構(gòu),分CRL和SRL,CRL主要提供通用服務(wù)和接口,SRL主要是對(duì)CRL的實(shí)做,這樣就做到了接口與實(shí)做相獨(dú)立,后續(xù)可方便替換實(shí)做,滿足高內(nèi)聚,低耦合的要求。
二、資源定義:
因?yàn)閷?duì)我們來(lái)說(shuō)定義了資源就相當(dāng)于定義了系統(tǒng)(資源定義就是對(duì)整個(gè)系統(tǒng)的描述),所以它是我們核心,所有功能的操作都是圍繞它展開(kāi)的,它里面主要包括數(shù)據(jù)庫(kù)表的描述(數(shù)據(jù)源模型),界面描述(窗體拍板模型),對(duì)象描述(權(quán)限模型),單據(jù)流轉(zhuǎn)描述(轉(zhuǎn)單模型),聯(lián)動(dòng)計(jì)算模型,存儲(chǔ)過(guò)程模型,顯示名稱(chēng)模型。***我們可利用SQLBuilder和數(shù)據(jù)源模型非常方便地產(chǎn)生SQL語(yǔ)法,而一些復(fù)雜的表達(dá)式也可通過(guò)Paser來(lái)進(jìn)行解析(SQLBuilder和Paser是我們里面很核心的兩個(gè)組件)。
三、分布式架構(gòu):
考慮客戶(hù)端服務(wù)器在不同地域,所以?xún)烧咴趺赐ㄓ嵤鞘紫纫紤]的,同時(shí)要考慮效率,因?yàn)榭蛻?hù)端和服務(wù)器有時(shí)候傳輸?shù)馁Y料量很大,通訊頻繁,所以這里涉及到壓縮,分流,加密,當(dāng)然還有就是服務(wù)器的負(fù)載平衡和各司其職,有些只能在Master上執(zhí)行,如數(shù)據(jù)庫(kù)訪問(wèn),KEY控管,有些可以在APP上執(zhí)行,如中間層操作。
四、前端呈現(xiàn):
目前我們有WinForm和WebForm兩種呈現(xiàn)方式,但他們只是展現(xiàn)不同而已,UCO,中間層邏輯都一樣,同一份代碼。因?yàn)榻缑娌僮骷?xì)節(jié)很多,既要考慮易用性又要考慮效率,所以我們?cè)谶@塊投入了很大的人力,包括控件改寫(xiě),自動(dòng)排版,效率,繪畫(huà),消息處理。而且很多東西我們也是一邊做一邊研究,如我這周重構(gòu)的EndEdit與控件刷新的關(guān)系。
五、報(bào)表打?。?/strong>
報(bào)表打印也是ERP的一個(gè)重頭戲,這里涉及數(shù)據(jù)的準(zhǔn)備和打印格式的設(shè)計(jì),數(shù)據(jù)準(zhǔn)備主要考慮的就是效率問(wèn)題,打印格式設(shè)計(jì)涉及的細(xì)節(jié)就太多了(此部分詳見(jiàn)我上次分享的“淺析XtraReport運(yùn)作原理”)。
六、數(shù)據(jù)庫(kù)操作:
這里主要包括數(shù)據(jù)庫(kù)表結(jié)構(gòu)的創(chuàng)建與升級(jí)(升級(jí)又可分為對(duì)資料的升級(jí)對(duì)表結(jié)構(gòu)的升級(jí)),以及數(shù)據(jù)庫(kù)訪問(wèn),數(shù)據(jù)庫(kù)訪問(wèn)都封裝在數(shù)據(jù)層,這邊主要考慮的就是不同平臺(tái)數(shù)據(jù)庫(kù)的訪問(wèn),以及如何提高數(shù)據(jù)庫(kù)訪問(wèn)的效率,提高效率我們主要是通過(guò)對(duì)象池來(lái)實(shí)現(xiàn),通過(guò)對(duì)象池既可以做到對(duì)象共享,又可保持連接,還可控制并發(fā)上限,一舉多得。
七、序列化機(jī)制:
因?yàn)楹芏鄸|西需要存儲(chǔ),所以序列化的效率和方便性就顯得特別重要了,我們?cè)诮?jīng)歷兩年陣痛后,由老大操刀重寫(xiě)了整個(gè)序列化機(jī)制,現(xiàn)在看來(lái)這一舉動(dòng)還是挺明智了,畢竟我們做產(chǎn)品的,要追求***,要考慮“后代”。
八、其他的
如商業(yè)規(guī)則檢查,轉(zhuǎn)單,聯(lián)動(dòng)計(jì)算,排程報(bào)表,提醒精靈,我的消息,服務(wù)器管理,資料導(dǎo)入導(dǎo)出,腳本機(jī)制,自動(dòng)化測(cè)試,格式化都很重要,所以我后面有時(shí)間再詳細(xì)分享。
九、***一個(gè)問(wèn)題就是效率
因?yàn)橘Y料龐大,邏輯復(fù)雜,所以很容易出現(xiàn)效率問(wèn)題,怎么解決這個(gè)問(wèn)題我們一直在努力,目前解決這個(gè)問(wèn)題標(biāo)準(zhǔn)流程就是首先理清邏輯,看看算法有沒(méi)有問(wèn)題,某些動(dòng)作是否可以簡(jiǎn)化;其次就是優(yōu)化核心元件,如重寫(xiě)序列化,通訊機(jī)制,對(duì)象池;***就是人性化處理,通過(guò)進(jìn)度條,畫(huà)面優(yōu)化來(lái)讓用戶(hù)心理上得到慰藉。
Internet技術(shù)的成熟為企業(yè)信息管理系統(tǒng)增加與客戶(hù)或供應(yīng)商實(shí)現(xiàn)信息共享和直接的數(shù)據(jù)交換的能力,從而強(qiáng)化了企業(yè)間的聯(lián)系,形成共同發(fā)展的生存鏈,體現(xiàn)企業(yè)為達(dá)到生存竟?fàn)幍墓?yīng)鏈管理思想。ERP系統(tǒng)相應(yīng)實(shí)現(xiàn)這方面的功能,使決策者及業(yè)務(wù)部門(mén)實(shí)現(xiàn)跨企業(yè)的聯(lián)合作戰(zhàn)。
由此可見(jiàn),ERP的應(yīng)用的確可以有效地促進(jìn)現(xiàn)有企業(yè)管理的現(xiàn)代化、科學(xué)化,適應(yīng)競(jìng)爭(zhēng)日益激烈的市場(chǎng)要求,它的導(dǎo)入,已經(jīng)成為大勢(shì)所趨。通過(guò)本文的介紹,希望對(duì)你有所幫助。
【編輯推薦】