Home > Article > Backend Development > LAJP是什么?
LAJP名称来源于著名的LAMP(Linux,Apache,Mysql,Php),LAMP是轻量级的开发Web程序的环境,在Internet上有广泛的应用,但对于企业开发,如金融、电信领域,LAMP略显能力不足,而这些领域通常是Java(J2EE)的势力范围。
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中文网!!