LAJP名稱來源於著名的LAMP(Linux,Apache,Mysql,Php),LAMP是輕量級的開發Web程式的環境,在Internet上有廣泛的套用,但對於企業開發,如金融、電信領域,LAMP略顯能力不足,而這些領域通常是Java(J2EE)的勢力範圍。
基本介紹
- 中文名:lajp
- 來源:LAMP
- 組成:LAMP和Java
- 別稱:PHP和Java混合編程技術
簡介,特點,數據類型轉換,
簡介
LAJP是將LAMP的簡便性和Java高端能力結合起來的一項技術,LAJP中的J指的是Java,由於資料庫廠商對Java的廣泛支持,資料庫也不再特別限制為Mysql。
LAJP可以理解為PHP和Java相結合的技術,也可稱為PHP和Java混合編程技術,或者PHP調用Java服務的技術。
特點
優勢互補:PHP是非常流行的WEB編程腳本語言,有易學、易用、開發部署效率高的特點,非常適合網頁編程;JAVA適合編寫具有複雜的業務功能和數據的程式,二者結合可發揮各自優勢。
高效穩定:Apache+PHP組合可帶來優異的WEB服務穩定性,而JAVA可補充如連線池、事物管理、分散式、對象模型等高端特性。
創新的通信機制:PHP和Java間的通訊方式採用系統訊息佇列和Socket兩種機制,兼顧通訊效率和平台兼容性。
數據類型自動轉換機制: PHP數據和Java數據可準確地自動匹配和轉換,無須程式設計師編寫解析代碼。 易用:LAJP安裝配置簡單,PHP端和JAVA端編程符合各自的編程習慣。
輕量級:LAJP架構非常輕量級,除了最基本的PHP和Java環境,不需要任何擴充的、第三方的組件、容器。
LAMP和LAJP的簡要對比
LAMP從傳統技術架構上看屬於2層結構,雖然在php5以後增強了面向對象的能力,有了形成業務邏輯層的語言基礎,但對於複雜的企業級WEB套用,php語言能力仍顯不足。LAJP繼承了LAMP在WEB領域編程的活力,並用java構建業務邏輯層,通過“PHP調用Java的方法”來實現二者間的互通。
php和java的互通
php和java是兩種不同的語言,在LAJP架構中二者之間的互通有兩種機制。
一、訊息佇列 以作業系統的訊息佇列為溝通媒介,在通訊過程中php作為客戶端調用java端服務。訊息佇列屬於IPC技術(進程間通訊),php語言中內置了一組函式(msg_send、msg_receive等)可以和System V訊息佇列通訊,而java中沒有相似的方法,因此通過調用底層JNI接口使用C函式來實現。 使用訊息佇列有以下好處:
使php和java保持獨立性 有極高的傳輸速度,大於socket 相對於socket方式,Java服務端只向本機提供服務(沒有對外偵聽連線埠),相對安全,易於管理。
二、Socket 訊息佇列技術只能適用於Unix/Linux/BSD系統,因此LAJP提供基於TCP/IP的通訊機制,從而適應各種平台。
數據類型轉換
PHP和Java各有其語言內部定義的數據類型,當PHP數據傳送到Java,或Java數據傳送到PHP時,LAJP在內部自動地、準確地對他們進行轉換,程式設計師無需進行任何的解碼工作。