以文本方式查看主題 - 曙海教育集團(tuán)論壇 (http://www.hufushizhe.com/bbs/index.asp) -- JAVA語(yǔ)言開(kāi)發(fā) (http://www.hufushizhe.com/bbs/list.asp?boardid=64) ---- PHP結(jié)合JAVA的開(kāi)發(fā)技術(shù) LAJP (http://www.hufushizhe.com/bbs/dispbbs.asp?boardid=64&id=2456) |
-- 作者:wangxinxin -- 發(fā)布時(shí)間:2010-12-11 9:32:01 -- PHP結(jié)合JAVA的開(kāi)發(fā)技術(shù) LAJP LAJP名稱(chēng)來(lái)源于著名的LAMP(Linux,Apache,Mysql,Php),LAMP是輕量級(jí)的開(kāi)發(fā) Web程序的環(huán)境,在Internet上有廣泛的應(yīng)用,但對(duì)于企業(yè)開(kāi)發(fā),如金融、電信領(lǐng)域,LAMP顯得能力不足,這些領(lǐng)域通常是Java(J2EE)的 勢(shì)力范圍。LAJP是將LAMP的簡(jiǎn)便性和Java能力結(jié)合起來(lái)的一項(xiàng)技術(shù),LAJP中的J指的是Java,由于數(shù)據(jù)庫(kù)廠商對(duì)Java的廣泛支持和 LAJP針對(duì)的領(lǐng)域,數(shù)據(jù)庫(kù)不再特別限制為Mysql。 特點(diǎn)
LAMP和LAJP的簡(jiǎn)要對(duì)比 LAMP從傳統(tǒng)技術(shù)架構(gòu)上看屬于2層結(jié)構(gòu),雖然在php5以后增強(qiáng)了面向?qū)ο蟮哪芰Γ辛诵纬蓸I(yè)務(wù)邏輯層的語(yǔ)言基礎(chǔ),但對(duì)于復(fù)雜的企業(yè)級(jí)WEB應(yīng) 用,php語(yǔ)言能力仍顯不足。LAJP繼承了LAMP在WEB領(lǐng)域編程的活力,并用java構(gòu)建業(yè)務(wù)邏輯層,非常適合針對(duì)企業(yè)級(jí)WEB項(xiàng)目的開(kāi)發(fā)。 php和java的互通php和 java是兩種不同的語(yǔ)言,在LAJP架構(gòu)中二者之間的互通有兩種機(jī)制。
以操作系統(tǒng)的消息隊(duì)列為溝通媒介,在通訊 過(guò)程中php作為客戶(hù)端調(diào)用java端服務(wù)。消息隊(duì)列屬于IPC技術(shù)(進(jìn)程間通訊),php語(yǔ)言中內(nèi)置了一組函數(shù)(msg_send、 msg_receive等)可以和System V消息隊(duì)列通訊,而java中沒(méi)有相似的方法,因此通過(guò)調(diào)用底層JNI接口使用C函數(shù)來(lái)實(shí)現(xiàn)。 使用消息隊(duì)列有以下好處:
消息隊(duì)列技術(shù)只能適用于Unix/Linux/BSD系統(tǒng),因此LAJP提供基于TCP/IP的通訊機(jī)制,從而適 應(yīng)各種平臺(tái)。 數(shù)據(jù)類(lèi)型轉(zhuǎn)換PHP和Java各有其語(yǔ)言?xún)?nèi)部定義的數(shù)據(jù)類(lèi) 型,當(dāng)PHP數(shù)據(jù)傳送到Java,或Java數(shù)據(jù)傳送到PHP時(shí),LAJP在內(nèi)部自動(dòng)地、準(zhǔn)確地對(duì)他們進(jìn)行轉(zhuǎn)換,程序員無(wú)需進(jìn)行任何的解碼工作。 |