OFBIZ2.0精簡(jiǎn)版本應用概論
OFBIZ2研究 ——中科學(xué)院軟件所 互聯(lián)網(wǎng)軟件技術(shù)實(shí)驗室 軟件工程組
雷輝 (leihui@intec.iscas.ac.cn) [2003-4-28]
1 使用OFBIZ的理由
1.1 什么是OFBIZ
OFBIZ是由Sourceforge維護的一個(gè)最著(zhù)名的開(kāi)源項目之一,提供創(chuàng )建基于最新J2EE/XML規范和技術(shù)標準,構建大型企業(yè)級、跨平臺、跨數據庫、跨應用服務(wù)器的多層、分布式電子商務(wù)類(lèi)WEB應用系統的框架。
OFBIZ的Web應用框架以MVC模式搭建而成,整體采用了很多被大多數企業(yè)級應用系統公認的位于業(yè)務(wù)邏輯層和集成層(Business Tier and Integration Tier)的設計模式。許多表示層(Presentation Tier)的設計模式也被引入進(jìn)OFBIZ,但是僅僅體現在Servlet控制器(the servlet controller)中,沒(méi)有包括在實(shí)體引擎中。在實(shí)體引擎中使用的設計模式包括:業(yè)務(wù)代表(Business Delegate),值對象(Value Object), 符合實(shí)體(Composite Entity(variation)),值對象組裝器(Value Object Assembler),服務(wù)定位器(Service Locator)和數據訪(fǎng)問(wèn)對象(Data Access Object)。OFBIZ正在計劃逐步引入其它設計模式和完善已經(jīng)引入的設計模式的實(shí)現。
使用OFBIZ的框架和組件,可以大大縮短開(kāi)發(fā)企業(yè)級WEB應用系統的進(jìn)度和成本。了解詳細情況請參見(jiàn):http://sourceforge.net/project/ofbiz。
1.2 OFBIZ和其它項目的比較
與ofbiz類(lèi)似的項目還有很多,ofbiz與這些項目的最主要的不同點(diǎn)是ofbiz提供了一整套的開(kāi)發(fā)基于Java的web應用程序的組件和工具。一個(gè)優(yōu)秀的web應用程序應該是至少三層結構:表示層,業(yè)務(wù)邏輯層和數據層。大多數應用框架,比如Struts, Cocoon, 和 Velocity 將主要精力都集中在了表示層。比如Struts,遵循了(MVC)構架,使用Java Bean和Action類(lèi)與JSP頁(yè)面進(jìn)行通訊。Struts是一個(gè)很好的web應用框架,但它并沒(méi)有提供訪(fǎng)問(wèn)數據庫的組件,也沒(méi)有提供控制工作流的組件。如果要使用,你必須自己創(chuàng )建這些組件。如果已經(jīng)在利用其它的應用框架(如Struts),你也可以很容易的將ofbiz的組件添加到自己的工程中。
與其它類(lèi)似開(kāi)源項目相比,OFBIZ是一套有血有肉的包含編譯打包部署工具、應用組件、示例應用等內容的企業(yè)級Web應用系統實(shí)現框架。
1.3 開(kāi)源的優(yōu)勢
OFBIZ是一個(gè)開(kāi)源項目,由幾個(gè)牛人在維護,它具有開(kāi)源項目的一切優(yōu)勢,如免費(隨時(shí)下載);集市式開(kāi)發(fā)方式;成千上萬(wàn)的人在維護,也在測試等等。也具備開(kāi)源項目的所有缺點(diǎn),如缺乏技術(shù)文檔,提交的系統沒(méi)有全面測試;不穩定等等,但無(wú)論如何,我們要清醒的認識到:
1、 OFBIZ是一個(gè)開(kāi)源項目。
2、 OFBIZ只僅限于系統開(kāi)發(fā)者使用。
1.4 完善的實(shí)體引擎
OFBIZ 實(shí)體引擎提供了一組工具和設計模式來(lái)對現實(shí)世界中特定的實(shí)體(數據對象)進(jìn)行建模和管理。在本系統的上下文環(huán)境中,一個(gè)實(shí)體就是一個(gè)由多個(gè)數據域(fields)和該實(shí)體與其它實(shí)體之間的關(guān)系所組成的一個(gè)數據對象。這個(gè)定義來(lái)自于關(guān)系型數據庫對實(shí)體關(guān)系模型(Entity-Relation modeling)概念的標準定義。實(shí)體引擎的目標是簡(jiǎn)化企業(yè)級應用中對實(shí)體數據(對應關(guān)系型數據庫表)的大量操作,包括定義、維護、通用操作(增、刪、改、查實(shí)體和實(shí)體之間的關(guān)系)的開(kāi)發(fā)工作
實(shí)體引擎采用了很多被大多數企業(yè)級應用系統公認的位于業(yè)務(wù)邏輯層和集成層(Business Tier and Integration Tier)的設計模式。許多表示層(Presentation Tier)的設計模式也被引入進(jìn)OFBIZ,但是僅僅體現在Servlet控制器(the servlet controller)中,沒(méi)有包括在實(shí)體引擎中。在實(shí)體引擎中使用的設計模式包括:業(yè)務(wù)代表(Business Delegate),值對象(Value Object), 符合實(shí)體(Composite Entity(variation)),值對象組裝器(Value Object Assembler),服務(wù)定位器(Service Locator)和數據訪(fǎng)問(wèn)對象(Data Access Object)。OFBIZ正在計劃逐步引入其它設計模式和完善已經(jīng)引入的設計模式的實(shí)現。

