在AIX Version 5.3中使用Java和PHP技术进行开发,第4部分
用PHP 为问卷调查系统构建 一个接口,PHP是一种更为常见的Web开发和部署环境,但仍然可以利用强类型、面向对象,以及接口 Java技术的优点。
要提供这种功能,一种方法是将Java类及其方法公开为Web服务。Web服务是一 种开放标准,并且客户端(使用者)可以使用任何语言进行编写。因此,您可以将Survey类(及其子类) 公开为Web服务,并且从PHP、Perl、Python、Ruby 或者甚至另一个Java应用程序来访问问卷调查应用程 序。 在研究如何将这个问卷调查应用程序公开为Web服务之前,您首先需要考虑应该如何公开该服 务、需要公开哪些类和方法,以及如何进行交互。 选择一种 Web服务结构 在使用Web服务 公开应用程序或类时,对于如何公开相应的类,您必须非常小心。您现有的应用程序结构和类可能以一种 与面向服务的体系结构(SOA) 兼容的方式进行工作。例如,在这个问卷调查应用程序中,有一个核心类 Survey,其中组合了主要的SurveyQuestion类的许多子类。 每种子类型都定义了返回选项的方法 ,并且 SurveyQuestion 超类提供了问卷调查文本。对于 HTML 的版本,还添加了一些附加的方法,这些 方法用于以 HTML 格式输出相关信息。 使用Web服务,您不需要输出任何文本,您也不能够依赖于 文本或者 HTML 的生成作为对原始类的扩展,以便以所需的格式提供所需的信息。从理论上说,您可以公 开各种 SurveyQuestion 子类的属性,以使得这些信息和属性可供使用。然而,这并不是一种最佳的解决 方案,因为您并不希望必须对主要的Survey类进行远程访问,而是创建大量更小的、分离的方式,以实现 与信息的交互。 Web服务如何进行交互 如果您必须更改与原始类之间进行交互的方式,以 获得更全面的服务,那么您需要考虑如何获得这些信息。当前的基于文本和Web 的解决方案是: 创建Survey/SurveyWeb类的新实例。 填充问卷调查问题和选项。 遍历 Survey类,生成文 本问题并获得回答;或者遍历 SurveyWeb类,生成 HTML Web 表单。 对于 Web 版本,接受表单输 入,并将这些信息写入到数据库。 使用Web服务,您无法获得 Survey类的整个实例,因为最终用 户可能不是一个Java应用程序,即使是一个Java应用程序,也不是Web服务的工作方式。对于这个特定的 示例,当然,目标客户端是PHP。 因为不能直接使用Java 对象,您需要做的是在服务器中执行遍 历,以便 Web服务逐个地公开这些问题。因此,Web服务客户端的操作序列变为: 初始化一个问卷 调查回答,以获得返回问卷调查回答所需的唯一的ID。 获得问卷调查中问题的数目。 获得 每个问题的信息。 发送问题回答,以便能够将其保存到数据库中。 首先,您需要产生Web 服务,以支持这种操作,并使用现有的Tomcat安装。 Java Web服务和Apache Tomcat 在使 用Tomcat应用程序部署平台时,有许多解决方案可用于部署 Web服务。这个部分将介绍如何安装Axis工具 包。 通过Tomcat使用Web服务 有许多替代方法可以使用Tomcat来运行Web服务。Tomcat本身 只不过是一个容器和通信系统,它提供了应用程序和HTTP 请求之间的连接。 要通过Tomcat 实际 支持 Web服务,您需要使用一套附加的库,它们提供了Web服务接口——包括处理 Web服务格 式(XML 格式)与服务器和客户端所交换的“消息”之间的所有数据的序列化。 尽管 有许多工具包可用于这个目的,但是让我们关注于 Apache 和使用Axis工具包,后者为Web服务提供了简 单对象访问协议 (SOAP) 的实现。 Axis 提供了全面的Web服务实现,因此您必须使用Axis 库来编 译和构建您的Java应用程序,以提供 Web服务和简化的解决方案(直接使用Axis工具包公开现有的类,而 无需重新开发任何附加的代码)。不幸的是,不存在什么简化的方法,所以您需要根据原始类和 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |