快速业务通道

在AIX Version 5.3中使用Java和PHP技术进行开发,第5部分

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-22
;
if (isset($fault)) {
    print "Error: ".$fault;
}
$count = $client->call(''getSurveyQuestionCount'',array());
print "Questions: " .$count ."\n";
?>

在这种情况下,获得 Web服务互操作性是 要付出一定代价的。您的最初目的是为该应用程序编写一个更好的Web包装,现在您可以从各种各样的源 、其他应用程序和环境使用这个应用程序。打开一个新的网络连接,并对 SOAP消息中传入或传出的XML 内容进行转换,这个过程将在应用程序和环境中增加额外的开销,所以您希望能够尽可能快地完成这些工 作。

在使用这种方法为查询提供服务的过程中,其开销可能非常大。SOAP和其他远程过程调用 (Remote Procedure Call,RPC)技术在设计时并没有考虑到性能问题。它们将兼容性、互操作性和开放 标准作为关键的要素。

本系列文章最初的目标之一是,为Java应用程序开发一个高效的Web接口。 您所使用的应用程序相对比较简单,但是不难想象在使用它的时候出现每秒数百个请求的情况。您希望获 得可能的最佳性能,但是请记住,使用PHP 客户端通过SOAP服务访问您的Java应用程序并不会让您实现这 个目的。

PHP Java Bridge 替代方法

PHP Java Bridge是一种经过优化的、基于XML的协议 ,它允许您在PHP应用程序中直接使用Java类。尽管从理论上讲,它的工作方式类似于SOAP,但是实际上 ,它比SOAP 方法的效率要高得多。

该系统使用JSR 223接口进行工作。PHP 组件可以与任何 ECMA-335 后端系统通信,其中包括Java技术、基于Java的扩展接口(如JPython和JRuby),部署公共语 言运行时(Common Language Runtime,CLR)的.NET应用程序、甚至还包括.NET 兼容的解决方案(如 Mono)。

这个过程是双向的:PHP 脚本可以调用Java/.NET类,或者 Java 组件可以调用PHP类或 脚本。甚至可以将这种桥接集成到解决方案中,以便在请求一个类的时候,允许自动地启动后端系统 (Apache/IIS和PHP、或者 .NET、或者 Java/Tomcat)。

该系统通过访问Tomcat应用服务器上的 一个远程类进行工作。当您运行PHP应用程序时,它从远程Java应用程序服务平台加载 PHP Java Bridge 代码。这将初始化系统,并使得 PHP 脚本知道如何与该应用服务器上的远程Java类进行通信。

很 显然,为了能够使用PHP Java Bridge 访问您的Java类,您必须在安装PHP Java Bridge 之前,安装 Apache和PHP。

安装Apache httpd

要安装Apache httpd:

您需要一个编译器和一个 Apache httpd源代码分发版。如果您的系统中没有C编译器,那么您可以从 IBM 下载 rpm 格式的、开放 源代码的GNU C编译器(请参见参考资料)。最终,您将从该站点获得下列模块(请参见清单4):

清单4.所需的模块

gcc V4.0.0 for AIX V5.3 (gcc-4.0.0-1.aix5.3.ppc.rpm)
gcc-c++ V4.0.0 for AIX V5.3 (gcc-cplusplus-4.0.0- 1.aix5.3.ppc.rpm)
libgcc V4.0.0 for AIX V5.3 (libgcc-4.0.0-1.aix5.3.ppc.rpm)
libstdc++ V4.0.0 for AIX V5.3 (libstdcplusplus-4.0.0-1.aix5.3.ppc.rpm)
libstdc++- devel V4.0.0 for AIX V5.3
(libstdcplusplus-devel-4.0.0-1.aix5.3.ppc.rpm)
make v3.80 (make-3.80-1.aix5.1.ppc.rpm)
bison v1.875 (bison-1.875-3.aix5.1.ppc.rpm)
bzip v1.0.2 (bzip2-1.0.2-3.aix5.1.ppc.rpm)
expat v1.95.7 (expat-1.95.7- 4.aix5.1.ppc.rpm)
flex v2.5.4a (flex-2.5.4a-6.aix4.3.ppc.rpm)
freetype2 v2.1.7 (freetype2-2.1.7-5.aix5.1.ppc.rpm)
libjpeg v6b (libjpeg-6b-6.aix5.1.ppc.rpm)
libpng v1.2.8 (libpng-1.2.8-5.aix5.1.ppc.rpm)
xpm v3.4k (xpm-3.4k-7.aix5.1.ppc.rpm)
zlib v1.2.3 (zlib-1.2.3-3.aix5.1.ppc.rpm)

将它们下载到您的系统,并作为 root

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号