`

PHP结合JAVA的开发技术 LAJP

 
阅读更多
http://www.oschina.net/p/lajp

LAJP名称来源于著名的LAMP(Linux,Apache,Mysql,Php),LAMP是轻量级的开发 Web程序的环境,在Internet上有广泛的应用,但对于企业开发,如金融、电信领域,LAMP显得能力不足,这些领域通常是Java(J2EE)的 势力范围。LAJP是将LAMP的简便性和Java能力结合起来的一项技术,LAJP中的J指的是Java,由于数据库厂商对Java的广泛支持和 LAJP针对的领域,数据库不再特别限制为Mysql。

特点

优势互补: PHP是非常流行的WEB编程脚本语言,有易学、易用、开发部署效率高的特点,非常适合WEB开发;JAVA适合编写具有复杂的业务功能和数据的程序,二 者结合可发挥各自优势,适合开发B/S企业程序。
高效稳定:Apache+PHP 组合可带来优异的WEB服务稳定性,而JAVA可补充如连接池、事物管理、分布式、对象模型等高端特性。
创新的通信机制 PHP和Java间的通讯方式采用系统消息队列和Socket两种机制,同时兼顾通讯效率和平台兼容性。
数据类型自动转换机制 PHP数据和Java数据可准确、自动匹配和转换。
易用:LAJP安装配置简单,除了核心的几个Java类文件和Java JNI接口程序外,不需额外插件,PHP端和JAVA端编程符合各自的编程习惯。
轻 量级:LAJP架构非常轻量级,除了最基本的PHP和Java环境,不需要任何扩充的、第三方的组件。
LAMP和LAJP的简要对比 LAMP从传统技术架构上看属于2层结构,虽然在php5以后增强了面向对象的能力,有了形成业务逻辑层的语言基础,但对于复杂的企业级WEB应 用,php语言能力仍显不足。LAJP继承了LAMP在WEB领域编程的活力,并用java构建业务逻辑层,非常适合针对企业级WEB项目的开发。



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在内部自动地、准确地对他们进行转换,程序员无需进行任何的解码工作。

分享到:
评论

相关推荐

    LAJP(Linux Apache Java Php) -- PHP结合JAVA的开发技术.zip

    LAJP(Linux Apache Java Php)是一种集成开发环境,它结合了四种开源技术,分别是Linux操作系统、Apache HTTP服务器、Java技术和PHP脚本语言。这种技术栈主要用于构建高效、可扩展的Web应用程序。在LAJP环境中,...

    借《浅谈PHP与Java之Web开发整合技术》说LAJP

    《浅谈PHP与Java之Web开发整合技术》一文深入探讨了PHP与Java两种语言在Web开发中的结合应用,尤其聚焦于三种关键技术:SOAP、Quercus和PHP/JavaBridge,为开发人员提供了宝贵的整合思路。 ### 一、SOAP(Simple ...

    lajp教程资料

    lajp教程资料 java与php结合的技术 很好

    Linux Apache Java Php介绍

    **LAJP**(Linux Apache Java Php)是一种结合了LAMP简便性和Java强大功能的技术组合。它不仅保留了LAMP架构的灵活性和易用性,还融入了Java的高性能和稳定性,旨在为企业级Web应用提供一个更加全面、高效的开发解决...

    php调用java的代码

    PHP是一种广泛用于Web开发的脚本语言,而Java则以其强大的企业级应用能力著称。有时我们需要利用PHP来调用Java服务,实现特定的功能或者利用Java的库资源。本篇将详细探讨如何在PHP中调用Java代码,并介绍相关技术...

    lajp包,Linux消息队列java工具包

    linux消息队列java依赖包,引入项目后可直接使用,,,,

    LAJP架构图.jpg

    LAJP架构图

    PHP下通过系统信号量加锁方式获取递增序列ID

    在设计LAJP时,面对在PHP中生成唯一ID的需求,作者发现这是一个不小的挑战。因为在Java中,可以通过简单的同步方法轻松实现唯一ID的生成,而PHP环境下的解决方案并不显而易见。作者提到了两个不理想的思路:一是基于...

Global site tag (gtag.js) - Google Analytics