php作為一種流行的web開(kāi)發(fā)語(yǔ)言,以其編寫(xiě)簡(jiǎn)單,功能強(qiáng)大的特性已經(jīng)
被廣泛的應(yīng)用。但是,同時(shí)php語(yǔ)言的應(yīng)用范圍卻又局限在一些諸如BBS,社區(qū),
投票站等簡(jiǎn)單的系統(tǒng)。造成這種情況的原因是php缺少一種開(kāi)發(fā)大型應(yīng)用系統(tǒng)的機(jī)
制。將業(yè)務(wù)邏輯代碼直接編寫(xiě)在頁(yè)面中在開(kāi)發(fā)階段固然方便,但結(jié)果缺使整個(gè)系
統(tǒng)的可維護(hù)性和可擴(kuò)展性變得極差。常常碰到這樣的情況,當(dāng)用戶需要對(duì)系統(tǒng)功
能做一個(gè)改動(dòng)時(shí),將需要修改許多相關(guān)的php程序。
當(dāng)然,如果有一個(gè)好的設(shè)計(jì)會(huì)使情況變得好一些,通過(guò)函數(shù)或類將業(yè)務(wù)
邏輯封裝起來(lái)將使情況有所改觀。但是,php中對(duì)類的支持是有限的,php的僅實(shí)
現(xiàn)了對(duì)屬性和方法的封裝,而對(duì)于C++/Java里使用的面向?qū)ο蟮囊恍└呒?jí)均未支
持??偟膩?lái)說(shuō),php開(kāi)發(fā)中存在的問(wèn)題也正是C/S結(jié)構(gòu)存在的問(wèn)題,所以C/S結(jié)構(gòu)漸
漸演化成現(xiàn)在的3層結(jié)構(gòu)或n層結(jié)構(gòu),引入了中間層的概念。
目前流行的J2EE技術(shù)正是這樣一種3層結(jié)構(gòu)的應(yīng)用開(kāi)發(fā)模式,JSP作為前
臺(tái)表示層,EJB作為中間業(yè)務(wù)邏輯層,數(shù)據(jù)庫(kù)為信息層。通過(guò)將表示層和業(yè)務(wù)邏輯
層的隔離,使系統(tǒng)有了良好的伸縮性,可維護(hù)性和可擴(kuò)展性。因此,J2EE技術(shù)適
合于需求多變,功能復(fù)雜的企業(yè)級(jí)應(yīng)用系統(tǒng)的開(kāi)發(fā)。php同樣需要這樣一種結(jié)構(gòu),
使php能夠應(yīng)用到更廣闊的領(lǐng)域中去。
現(xiàn)在,我們可以使用minij2ee應(yīng)用服務(wù)器來(lái)實(shí)現(xiàn)這樣的目的。minij2ee
應(yīng)用服務(wù)器是目前唯一支持php的J2EE應(yīng)用服務(wù)器產(chǎn)品。php使用基于minij2ee的3
層開(kāi)發(fā)模式,就可以將業(yè)務(wù)邏輯封裝在EJB中,而使用php來(lái)快速定制前臺(tái)界面。
以在線商店應(yīng)用系統(tǒng)為例( http://www.minij2ee.com/petstore/ ),EJB封裝
了貨物管理,賬號(hào)管理,訂單處理等核心業(yè)務(wù)邏輯,而php用來(lái)定制商店的界面,
如產(chǎn)品的陳列方式,柜臺(tái)的樣式等等。由于核心業(yè)務(wù)邏輯封裝于EJB中,因此在線
商店的前端界面可以根據(jù)客戶的需求任意定制而無(wú)需改動(dòng)EJB程序。另外,由于
J2EE技術(shù)的靈活性和可擴(kuò)展性,即使對(duì)于業(yè)務(wù)邏輯的擴(kuò)展也將變得如果plug&play
一樣方便,只需編寫(xiě)新的EJB整合到原有的系統(tǒng)中即可。
對(duì)于市場(chǎng)巨大的中小企業(yè)軟件系統(tǒng)領(lǐng)域來(lái)說(shuō),需要的不是龐大昂貴的系
統(tǒng),而是需要夠用且實(shí)用,高性價(jià)比的軟件。是用php+minij2ee再加上高效穩(wěn)定
的Linux系統(tǒng)和MySQL數(shù)據(jù)庫(kù),正是解決這個(gè)問(wèn)題的良好方案。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注