在AIX Version 5.3中使用Java和PHP技术进行开发,第5部分
; 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.所需的模块
将它们下载到您的系统,并作为 root |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |