网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > PHP > 正文
连接PHP和Java -- PHP/Java Bridge
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/12/05
下载{$ArticleTitle}原创论文样式

  在Web开发市场中,Java和PHP都是目前应用的热门技术。Java的强大是不容置疑的,不仅体现在WEB开发上,在各个软件应用领域,Java无所不在。而PHP在开源力量及ZEND,IBM,Oracle等公司的推动之下也日渐繁荣。不一定会有人相信互联网先锋人物Marc Andreessen 的预言“PHP将比Java更受欢迎”,但是“PHP瞄准企业市场,和Java展开正面较量”确实正在进行中,全球2200万个网站所采用的技术让人不得不重视。

  两种技术可以激烈竞争,也可以紧密合作。从客户的角度来说,技术之间的融合非常重要,因为一个庞大的应用系统,通常不可能由单一语言/和技术独立完成。PHP/Java Bridge的出现就将成为PHP和Java间的一道桥梁,为需要结合PHP与Java的企业提供一个良好的选择。

  //Haohappy对J2EE了解不深,如果有相关内容理解错误,欢迎批评指教。

  (一)什么是JSR,什么是JSR223 ?

  JSR(Java 规范请求)是指向JCP(Java Community Process)提出新增一个标准化技术规范的正式请求。任何人都可以提交JSR(Java 规范请求),以向Java平台增添新的API和服务。JSR已成为Java界的一个重要标准。

  在Java Servlet规范(Servlet 2.4,JSR-154)中,定义了一系列核心的抽象概念(WEB程序处理过程中需要考虑的各种对象)来让Java程序员编写WEB程序,包括session,request,response等等。当程序员在编写程序的时候,可以很方便安全地与这些对象进行通讯。JSR223描述的是这些Java对象如何向用其它脚本语言编写的WEB页面开放,使其它语言也可以访问这些对象。当前这个规范将被用于PHP,不过这种概念是独立于脚本语言的,也就是说在将来可能被应用于PHP之外的其它脚本语言。一句话,JSR223的目的是将脚本语言集成到Java平台之上。

  (二) 什么是PHP/Java Bridge ?

  PHP/Java Bridge包含一个PHP模块(包括java.so,php_java.dll)和一个相关的后端程序(JavaBridge.jar,JavaBridge.war或MonoBridge.exe),用于连接PHP的对象体系到Java或ECMA 335(CLI, Microsoft .net Framework的重要子集)虚拟机。 它完全实现了JSR 223规范请求,可以使PHP脚本访问基于CLR(如VB.NET,C#)或Java(Java,KAWA,JRuby)的应用程序。PHP/Java Bridge通过本地socket用一个高效的通讯协议与虚拟机进行通讯。一个多进程的HTTP服务器的每个处理请求的PHP进程都会有一个相应的虚拟机进程。

  多个HTTP服务器的请求会被集中发送到一个运行着PHP/Java Bridge的应用服务器,或者每个HTTP服务器都有一个PHP/Java Bridge并和一个J2EE应用服务器进行通讯,必需的客户端类库(EJB client.jar)将在运行时被加载。

  如果在ECMA虚拟机内至少有一个后端程序在运行,例如Novell的MONO或Microsoft的 .NET,那么基于ECMA 335的类就可以被访问,也可以支持varargs, reflection,assembly loading等特性。

  如果在J2EE环境中有一个后端程序运行,PHP和JSP间就可以实现session共享,可以实现集群和负载平衡。

  和以前的尝试 (ext/java 或 JSR223 的示例)不同,PHP/Java Bridge不再使用JNI(Java本地接口)。PHP对象将从HTTP(Apache/IIS)池而来,而Java/J2EE的对象从后端程序中分配而来。对象间通过“通讯传递样式(continuation passing style)”来进行通讯,见下面的java_closure()。一旦一个PHP对象崩溃,不会影响到Java应用服务器和servlet引擎。

  从PHP/Java Bridge version 3.0开始,我们也可以把Java作为PHP脚本的一个运行环境。Java代码可以分配和调用PHP脚本,通过一个外部或内部的Java池。脚本对象可以来自于外部的HTTP池,或内部的php FastCGI池或直接使用php CGI。这个功能需要Java 6(预计2006年上半年推出) 或外部的javax.script包。

(责任编辑:admin)

  • 上一篇资讯: PHP安全《PHP Security》
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号