ERP开发技术
前言<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
?
作為企業級軟件這頂皇冠上的明珠,ERP產品帶動了企業級開發市場的發展,并成為應用新技術的先行者之一。透過對ERP開發技術的分析,我們不但可以了解當今ERP產品領域所應用的軟件開發技術和方法,而且可以把握到企業級軟件市場的技術脈搏。例如,隨著互聯網商務對于企業全球化運營的不斷促進,基于Web的開發技術正在成為主流,在開發團體中的占有率和受關注程度與幾年前相比有了較大的提高。而Java平臺仍舊是ERP市場上的最受認可的開發平臺,盡管微軟的.Net開發技術正在強勢的***企業開發市場,但是缺乏足夠積淀的.Net暫時還無法威脅Java平臺的地位。在本文中我們將結合ERP系統的特點解析在開發ERP系統中所應用的開發技術,并針對不同規模和等級的ERP產品開展分析,以求在更廣泛的角度把握ERP產品相關的開發技術。?
?
ERP對開發技術的要求?
如果要描述現今的ERP產品特點,一定離不開以下兩個詞匯:復雜和變化。ERP產品的功能是所有企業管理軟件中最復雜的一個,而且隨著近年來ERP功能范疇的不斷擴展,越來越多的功能被包含到了ERP系統當中。同時,作為核心的管理系統,ERP系統往往還要和客戶關系管理、供應鏈管理、電子商務等更多的經營管理系統進行連通,其復雜程度可見一斑。而對于變化來說,在ERP產品領域也是突出的特征之一。與很多管理軟件系統相比,用戶對ERP系統的形態有著多種多樣的需要;針對不同的用戶調整和定制產品已經成為ERP領域的慣例之一,極少出現不同用戶應用同樣的模塊、同樣的配置、同樣的流程。這兩點突出的要求使得在開發ERP系統時必須結合自身情況慎重的選擇開發技術,并構建足夠強壯和靈活的開發平臺。一些成型的企業級開發技術往往是開發ERP系統的優先選擇,例如EJB。成熟的平臺往往具有在企業級市場的豐富實踐經驗,可以提供穩定的開發技術支持。同時,由于這類平臺所吸引的開發人員較多,在出現問題時更加容易解決,也更加便于獲得開發資源。而可擴展能力也是選擇開發技術時需要注意的問題,如果選用了一個層次不夠清晰的架構,往往會在擴展系統時造成不必要的麻煩。既使通過獨立的開發可以完成現有架構不支持的功能,但是從成本和時間來講會大大影響ERP產品的成長。?
?
大型ERP?
參考對象:SAP、Oracle 特點:自主開發平臺;高度可定義的系統架構;廣泛的應用環境兼容。?
在全球大型企業市場占有統治地位的SAP,是一家嚴謹得甚至有些“刻板”的德國軟件公司。基于與先進企業的大量合作經驗,SAP包含的功能含量是其它產品無法相比的,用戶可以利用SAP提供的功能模塊任意的組合出自己需要的產品。而Oracle在收購了PeopleSoft之后,已經躍升為SAP的頭號挑戰者,其產品具備很高的靈活性,但是在整體質量和細度上仍舊較SAP有一定的差距。不過單就開發技術角度來講,Oracle卻要比SAP先進的多。基于自身的一貫技術戰略,Oracle的企業軟件產品采用Java技術開發,同時可以無縫地與公司的數據庫和應用服務器產品相結合。而SAP的開發語言則是其專有的ABAP語言,無論從與先進技術的結合能力上還是開發人員的數量上,ABAP都遠遠無法與Java相比,這也間接造成了SAP相關技術人員的成本居高不下。不過ABAP語言仍舊具有一些Java語言不具備的特性,例如ABAP語言內置了數據庫編程功能,這意味著ABAP在服務器端非常適合在服務器端發揮威力。不過ABAP的語言特性要較Java簡易,這意味著非計算機技術人員更加能夠接受ABAP。基于在日常接觸ERP系統的應用人員大部分都不是計算機技術人員,ABAP可以為客戶提供更好的產品定制擴展的基礎。?
對廠商來說,選擇開放的技術標準還是私有的技術標準并沒有唯一的答案,根據自己的經營策略和作出抉擇的時間,答案可能不近相同。SAP的選擇基于其長久的積累,而Oracle的選擇從很大程度上來源于其涉足ERP領域時的技術風潮,在那個時間段Java正在撼動世界。不過可以確認的一點是,這種級別的ERP產品都具有自己的技術架構,不論它們基于什么具體的開發技術。從發展的角度考慮,大型ERP產品廠商有能力從頭構建一個完整的應用系統,從最底層的技術內核直到最頂層的應用產品,盡管這往往沒有必要。從另一個角度來講,完全自主和完整的技術構架可以為產品提供足夠的靈活性,同時為用戶提供全面的二次開發功能。在這個方面Oracle是一個相當突出的例子,用戶可以利用Oracle提供的開發功能定義出極為復雜的業務模塊;有時用戶可能會覺得購買的并不是一套ERP應用系統,而是一個ERP開發平臺;這在一定程度上降低了用戶的風險,同時也在一定程度上彌補了Oracle在業務模塊供應上的不足。?
大型ERP面向的企業規模都非常可觀,這類企業往往在多年的信息化建設過程中混雜了各種不同類型和架構的系統,所以大型ERP產品必須提供融合多種遺留系統的能力。例如,這些系統都支持多種數據庫系統,企業可以根據需要靈活選擇。一個特例是Oracle,由于其數據庫產品具有大量的先進特性,很多Oracle的ERP功能被集成在數據庫當中,這也限制了其產品在其它數據庫產品上使用的可能性。不過由于Oracle的數據庫體系廣泛采用了接口表機制,其它數據庫的數據可以很容易的通過這個過渡層次與Oracle的ERP功能協同。近年來SOA(面向服務開發)成為企業開發領域最熱門的開發技術,這種技術的最大優點之一也是強大的融合異構系統的能力。?
?
中小型ERP?
參考系統:博科、天思、任我行?
中型ERP產品的功能特性與大型ERP產品的差別并不是很大,甚至從整體架構上也具備了大型ERP產品的特質,成熟程度、細節的處理、用戶經驗的體現是妨礙這些產品成為巨頭的因素。事實上,能夠為用戶提供怎樣的二次開發能力正成為ERP產品的重要標竿,近年來國內產品在這一方面取得了長足的進步。用友、金蝶、東軟等老牌廠商已經向SAP等國外大廠發起了挑戰,包括金蝶BOS和用友UAP在內的技術框架已經具有很高的技術水準。更為可喜的是,一些面向中小企業的ERP廠商也開始具備了強大的技術創新能力,博科打造的MyERP自主平臺就帶給了業內不小的沖擊。盡管不是所有的中型ERP產品都能夠提供諸如此類的自主開發平臺,不過還是可以提供足夠的用戶定制能力。天思ERP可以自由的定制系統功能組件、界面元件、業務流程等等,體現了中小型ERP產品的巨大進步。?
另外,在中小型ERP產品中,開發平臺也顯得更加廣泛。除了Java和.Net等主流的企業開發平臺之外,包括Delphi、PowerBuilder、VB等傳統的C/S開發技術也在廣泛的應用。事實上,對于中小型ERP來說,并不需要拘泥于開發技術的選擇,因為資源的有限,應該根據自身開發隊伍的能力選擇開發平臺。只要在開發過程中注重系統結構的設計,加強系統的靈活性,完全可以打造出適用于中小企業的ERP產品。三層結構設計是使用Delphi等C/S開發技術的時候經常被應用的一種體系結構方法,基于這種模式可以很好的分離用戶接口、業務邏輯和數據庫等要素,為建構更完善的開發架構打好基礎。必須要注意的一點是,小型ERP產品在流程管理上普遍較弱,這是阻礙這些產品邁向真正ERP的關卡。因為從核心理念上來說,ERP是基于供應鏈也即物流的管理系統,缺乏流程管理或者不能靈活定制業務流程的管理軟件往往無法展現出ERP的精髓。對于在流程管理方面缺乏經驗的開發人員來說,可以可以應用成型的流程工具套件實現系統的相關功能。?
?
總評?
我們在上邊探討了很多成熟ERP系統所應具有的特性及用來實現這些系統的開發技術、開發平臺,同時概略的分析了中小型ERP產品相對于非常成熟的ERP產品有哪些差距。總體來說,對于開發技術的選擇應該立足于已有的資源情況,同時結合產品開發計劃和目標,兼顧長遠發展考慮。雖然信息技術領域很少有能夠歷經時間打磨而不褪色的建議,但是仍舊有一些建議應該被提及。基于Web的開發技術將會有更大的成長已是不爭的事實,所以將ERP產品遷移到Web開發平臺是大勢所趨,特別是對于那些初涉ERP開發領域的開發人員和廠商而言。另外,對于開發平臺和產品平臺的建構將是ERP廠商獲得成功的必由之路,一個兼巨自主性和開放性的技術平臺將給廠商帶來源源不斷的發展動力和足夠的長期回報。總結
- 上一篇: 网络安全隐性杀手:三类危险的TXT文件
- 下一篇: [转载]中国公历算法