AIX53中使用Java和PHP开发.docx
- 文档编号:3442666
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:14
- 大小:151.97KB
AIX53中使用Java和PHP开发.docx
《AIX53中使用Java和PHP开发.docx》由会员分享,可在线阅读,更多相关《AIX53中使用Java和PHP开发.docx(14页珍藏版)》请在冰豆网上搜索。
AIX53中使用Java和PHP开发
在AIXVersion5.3中使用Java和PHP技术进行开发
级别:
中级
DougMonroe,系统管理咨询师,MichaelDK
MartinBrown(mc@),自由撰稿人,顾问
2007年7月12日
在AIX®上开发一个Java™应用程序,并了解如何通过使用PHP接口扩展该应用程序以查看基础Java代码。
在AIX中可以开发使用Java和PHP技术的应用程序。
在获得使用PHP作为基于Web的接口平台的好处的同时,您可以使用Java代码作为核心逻辑(或者重新部署现有的基于Java的应用程序)。
本文是系列文章的第1部分,研究了AIX中Java编程语言和PHP集成方法的基础,提供了使用这种结构的示例应用程序的简要概述,然后介绍了在安装Java编程语言和ApacheTomcat以开发应用程序之前所需掌握的一些核心内容。
引言
PHP是一种非常优秀的Web开发语言,而在商业应用程序开发方面,Java™编程语言十分流行。
因此,为了在AIX®Version5.3操作系统上充分利用它们的优势,专门开发了PHPJavaBridge。
本系列文章的目的是使得AIX5.3开发人员能够更快地在Web应用程序的开发中集成PHP和Java技术。
为了说明这一点,您将按照典型的开发过程来构建一个简单的问卷调查应用程序,具体内容包括:
∙开发主要的Java应用程序
∙通过Servlet将Java应用程序公开为基于Java的Web应用程序
∙添加在数据库中存储信息的支持
∙将原始应用程序公开为Web服务,并为该应用程序提供PHP接口
∙使用专门的PHPJavaBridge重新开发PHP接口
同时使用PHP和Java技术
对于企业而言,在为应用程序开发新的接口的过程中,最常见的问题之一是如何设计解决方案。
随着向支持Web的应用程序的发展,通常需要为使用现有的语言和框架的现有应用程序开发基于Web的包装器。
对于某些环境,这可能会导致一些问题,因为Web应用程序的部署情况可能基于完全不同的技术,并且在许多情况下,某个特定环境的能力和优势始终不能得到最大程度利用。
甚至在开发新的应用程序时,也可能会出现同样的问题,即Web开发专家习惯于某种环境,如PHP,而您的业务应用程序逻辑专家则对Java技术有着丰富的经验。
有些时候,您可能希望充分利用不同环境所提供的灵活性。
PHP允许对Web应用程序进行快速的应用程序原型设计,并且允许根据需要将HTML和嵌入的PHP命令混合在一起,这使得Web接口的开发变得非常容易。
尽管Java环境可以使用JavaServerPages(JSP)和本地解决方案(如用于HTML对象部署的Struts)进行Web部署,但是它通常更适合用于大型应用程序中的核心应用程序逻辑。
Java环境具有强类型和标准化的特点,所以它更适合为复杂的业务应用程序开发解决方案。
关键是使用一种合适的解决方案,而该方案使您能够为应用程序的不同部分(后端逻辑和前端接口)同时使用这两种解决方案,并且使用Java和PHP技术的接口在两种系统之间进行信息交换。
Java和PHP技术之间并没有直接的关联,它们是两种不同的技术,使用了完全不同的逻辑、二进制代码和部署环境。
然而,有一种方法可以使得两种系统之间能够相互通信,那就是使用面向服务的体系结构(SOA)和Web服务来进行信息交换。
在这个示例场景中,您将通过一系列Web服务来公开Java应用程序。
然后,PHP应用程序将充当Web服务客户端,以便与JavaWeb服务接口进行通信。
另一种方法是使用PHPJavaBridge,它提供了一个直接对象接口,该接口允许您在同一个应用程序中直接使用Java和PHP代码。
在本系列文章和教程中,将详细介绍如何开发Java应用程序,并使用基础Java代码的PHP接口对该应用程序进行扩展。
构建问卷调查应用程序
在本系列文章的学习过程中,您将构建一个简单的问卷调查系统,该系统提供了一系列问题,并收集对这些问题的回答,然后在这些回答的基础上提供统计分析。
在Java代码中使用一个用于调查的基类构建应用程序逻辑,以进行问卷调查。
您还将构建一个单独的基类(保存问题的核心数据),通过对这个类进行扩展,您可以得到一些其他类以支持不同的响应类型(多项选择、文本条目、评估等等)。
您可以在图1中看到这个基本调查类的结构。
图1.问卷调查应用程序的核心类
要通过Web接口公开这个应用程序,您需要构建一个JavaServlet,它对原始问题类进行了扩展,支持以HTML的形式输出这些问题,并接收响应。
该元素的结构如图2所示。
图2.将问卷调查应用程序公开为基于Java的Web服务
因为您可能希望能够对结果信息进行存储,所以需要构建到DB2®数据库的接口并对基本的Survey类进行扩展,以便能够将接收到的响应写入到数据库中。
要提供针对该系统的PHP接口,可以在Java端对应用程序进行重新调整,使其作为一项Web服务,然后您可以从PHP应用程序中对其进行访问,以提供可供选择的接口。
最后一项工作是,使用PHPJavaBridge重新部署该应用程序以实现系统性能的最大化。
要完成前两个步骤,即开发核心应用程序然后将该应用程序部署为JavaServlet,您需要安装Java编程语言和ApacheTomcat(一种JavaServlet部署环境)。
让我们首先来安装和设置Java编程语言。
安装Java编程语言
您需要安装JavaSoftwareDevelopmentKit(SDK)Version5或更高版本,并且需要的是开发环境而不是运行时环境,因为您将需要把Java源代码编译成示例应用程序中的核心应用程序对象所需的类。
AIXVersion5.3分发版中提供了32位的JavaV1.4SDK,而您的系统中可能已经安装了该软件,因为它是WebSM所必需的。
可以通过运行lslpp-LJava14.sdk来进行验证。
IBMdeveloperWorks站点提供了64位的Java5SDK(请参见参考资料)。
除了使用更新的Java发行版之外,64位应用程序能够在使用64位内核的64位硬件上更高效地运行。
可以按照下列步骤进行安装:
1.下载Java5_64.sdk.tar.gz文件到您的系统。
2.使用gunzip-cJava5_64.sdk.tar.gz|tar-xvf-对SDK进行解压缩。
3.以root用户的身份,使用以下的命令行安装SDK:
installp-a-dJava5_64.sdkall。
或者通过SMIT:
1.运行smittinstall。
2.选择InstallandUpdateSoftware。
3.选择InstallSoftware。
4.指定包含映像的文件的全路径(例如,/usr/local/src/Java4_64.sdk)。
5.单击OK。
6.单击OK然后安装SDK。
安装Tomcat
ApacheTomcat提供了一个JSP部署平台。
您可以通过它来部署使用Web接口或支持Web服务应用程序部署的Java应用程序。
在本系列文章中,您将Java技术用作Java服务平台,稍后将其作为Java和PHP交叉平台开发的解决方案。
Tomcat可能是最容易安装和部署的系统组件。
作为一个本地Java应用程序,在安装了Java应用程序之后,安装和设置Tomcat都是非常简单的。
按照以下步骤安装Tomcat:
1.下载最新的Tomcat包(请参见参考资料)。
正如本文所述,V6.0.10是ApacheTomcat最近的稳定发行版。
2.使用tar和gunzip或unzip解压缩Tomcat包:
$gunzip-capache-tomcat-6.0.10.tar.gz|tarxvf-。
3.将解压缩得到的目录移动到您希望安装Tomcat的位置,但请不要对所创建的目录进行重命名。
例如:
$mvapache-tomcat-6.0.10/usr/local。
4.在真实的目录和您希望使用的名称之间创建一个符号链接。
这使得可以在需要的时候,更方便地升级到更新的Tomcat版本:
$ln-s/usr/local/apache-tomcat-6.0.10/usr/local/tomcat。
因为Tomcat是一个Java应用程序,所以无需遵循特殊的安装或者构建方法。
您现在应该准备好了安装并启动Tomcat。
Tomcat目录结构
在第一次启动Tomcat之前,您应该再次检查Tomcat系统的配置,以确保它与您的环境是匹配的。
在检查配置之前,有必要查看一下Tomcat安装的基本目录结构:
∙LICENSE
∙NOTICE
∙RELEASE-NOTES
∙RUNNING.txt
∙bin/
∙conf/
∙lib/
∙logs/
∙temp/
∙webapps/
∙work/
Tomcat安装中的关键部分如下所述:
∙bin目录包含主要的脚本以及控制和运行Tomcat应用程序的应用程序。
该目录中包括一些Shell脚本、本地Windows®应用程序和Windows批处理文件。
您应该对该目录中的Shell脚本运行chmod以确保您可以启动、停止以及控制Tomcat的安装:
$chmodugo+xbin/*.sh。
∙conf目录包含一些保存了Tomcat配置信息的文件。
在最初设置了Tomcat之后,几乎不用再改变这些配置信息,因为可以通过Tomcat接口直接完成大多数安装和部署工作。
∙lib目录中包含一些库和Java代码文件,而Java系统正是由这些内容构成的。
∙在安装Tomcat服务器时将自动创建logs目录,其中包含日志文件(包括错误日志)。
∙temp目录也是在安装Tomcat服务器时自动创建的,其中包含各种临时文件。
∙webapps目录是安装您的Web应用程序组件的地方。
您可以安装JAR文件、WAR文件和组成您的应用程序的JSP文件。
在缺省情况下,Tomcat包括文档、示例和用于控制webapps目录中Tomcat安装的管理应用程序。
∙work目录包含正在运行的应用程序的工作组件,该目录是Tomcat在运行时自动创建的。
现在,让我们来检查一下Tomcat的配置,因为您可能需要更新其中的部分配置,以适应您的环境。
Tomcat配置
Tomcat中大量的选项使人眼花缭乱,这些选项用于配置各种功能和选项。
对于标准安装而言,通常大多数选项不需要您去操心。
但是可能需要对很多关键的元素进行配置。
在缺省情况下,Web服务器通常运行于TCP/IP的80端口,为了避免与其产生冲突,Tomcat在端口8080上运行,但是在某些服务器上,可能已经将其配置给另一个应用程序使用,如Web代理。
通过编辑conf/server.xml文件,您可以改变Tomcat所侦听的缺省端口。
您需要在Catalina服务里找到“Connector”块,它通常位于该文件开头的50行中。
您可以参见清单1中的示例。
清单1.Connector块
--A"Connector"representsanendpointbywhichrequestsarereceived
andresponsesarereturned.Documentationat:
JavaHTTPConnector:
/docs/config/http.html(blocking&non-blocking)
JavaAJPConnector:
/docs/config/ajp.html
APR(HTTP/AJP)Connector:
/docs/apr.html
Defineanon-SSLHTTP/1.1Connectoronport8080
-->
maxThreads="150"connectionTimeout="20000" redirectPort="8443"/> 将端口属性值更改为您希望使用的端口。 如果需要,您可能还希望调整redirectPort属性,其中包含了安全套接字层(SSL)连接所使用的端口。 如果您更改了这个值,那么请确保同时更改SSL连接的端口规范,如清单2所示。 清单2.更改端口规范 --DefineaSSLHTTP/1.1Connectoronport8443 ThisconnectorusestheJSSEconfiguration,whenusingAPR,the connectorshouldbeusingtheOpenSSLstyleconfiguration describedintheAPRdocumentation--> -- maxThreads="150"scheme="https"secure="true" clientAuth="false"sslProtocol="TLS"/> --> 如果您希望服务器特定主机上的服务能够支持多个网络接口或地址,那么您还必须修改主机名规范。 需要在两个位置对其进行设置,一处是在Engine标记中,而另一处是在特定的Host标记中,如清单3所示。 清单3.修改主机名规范 ... --Definethedefaultvirtualhost Note: XMLSchemavalidationwillnotworkwithXerces2.2. --> unpackWARs="true"autoDeploy="true" xmlValidation="false"xmlNamespaceAware="false"> 您必须更改defaultHost,然后更改相应的名称属性。 在配置中,您需要检查的另一个文件是conf/web.xml文件。 您暂时不需要编辑这个文件,但需要熟悉其中的内容,因为在Tomcat服务器中设置附加的应用程序时必须编辑这个文件。 启动Tomcat 在安装和配置了Tomcat之后,您可以启动Tomcat服务器。 首先,确保将JAVA_HOME环境变量设置为Java环境的正确安装位置。 如果您已经安装了Java5_64,那么该安装位于/usr/java5_64(请参见清单4)。 清单4.Java安装位置 $JAVA_HOME=/usr/java5_64 $exportJAVA_HOME 您可能还希望在主要的PATH中显式地添加Java执行路径,如清单5所示。 清单5.将Java应用程序添加到PATH $PATH=$JAVA_HOME/bin: $JAVA_HOME/rje/bin: $PATH $exportPATH 另外,您还可以在一个环境变量中设置Tomcat安装位置的路径,以便更容易定位(请参见清单6)。 清单6.设置Tomcat路径 $CATALINA_HOME=/usr/local/tomcat $exportCATALINE_HOME 现在,您应该能够使用所提供的Shell脚本来启动Tomcat了。 启动脚本将显示配置信息(请参见清单7)。 清单7.Tomcat启动脚本 $$CATALINA_HOME/bin/startup.sh UsingCATALINA_BASE: /Data/Incoming/apache-tomcat-6.0.10 UsingCATALINA_HOME: /Data/Incoming/apache-tomcat-6.0.10 UsingCATALINA_TMPDIR: /Data/Incoming/apache-tomcat-6.0.10/temp UsingJRE_HOME: /usr/java5_64 如果其中报告了任何错误,那么您可能希望在logs/catalina.out中查看更详细的日志信息。 清单8中显示了一个输出示例。 清单8.Catalina.out日志 Mar31,20078: 51: 11AMorg.apache.catalina.core.AprLifecycleListenerinit INFO: TheApacheTomcatNativelibrarywhichallowsoptimalperformanceinproduction environmentswasnotfoundonthejava.library.path: /usr/local/lib: /u sr/local/apr/lib: .: /usr/java5/extensions: /usr/java5/lib Mar31,20078: 51: 13AMorg.apache.coyote.http11.Http11Protocolinit INFO: InitializingCoyoteHTTP/1.1onhttp-8080 Mar31,20078: 51: 13AMorg.apache.catalina.startup.Catalinaload INFO: Initializationprocessedin5262ms Mar31,20078: 51: 13AMorg.apache.catalina.core.StandardServicestart INFO: StartingserviceCatalina Mar31,20078: 51: 13AMorg.apache.catalina.core.StandardEnginestart INFO: StartingServletEngine: ApacheTomcat/6.0.10 Mar31,20078: 51: 23AMorg.apache.coyote.http11.Http11Protocolstart INFO: StartingCoyoteHTTP/1.1onhttp-8080 Mar31,20078: 51: 23AMmon.ChannelSocketinit INFO: JK: ajp13listeningon/0.0.0.0: 8009 Mar31,20078: 51: 23AMorg.apache.jk.server.JkMainstart INFO: JkrunningID=0time=0/34config=null Mar31,20078: 51: 23AMorg.apache.catalina.startup.Catalinastart INFO: Serverstartupin10466ms 其中应该包含有关出错情况的更详细信息。 最常见的问题是与现有的服务发生端口冲突或者缺少Java安装。 测试安装 要对Tomcat安装进行测试,一种比较简单的方法是在其启动之后访问Tomcat服务器页面。 如果您没有更改端口号,并且您的服务器上安装了浏览器,那么可以使用浏览器进行访问: http: //localhost: 8080/。 如果Tomcat服务器位于另一台计算机或者您更改了端口号,那么可以替换上述示例中的localhost和8080。 例如: http: //192.168.0.170: 8080/。 您应该得到与图3所示类似的窗口。 图3.正在运行的Tomcat安装 总结 在本文中,您简要地了解了一些与在AIX中使用PHP和Java技术进行开发和部署的原因相关的问题,以及对这两种系统进行集成的一些可用的解决方案。 然后介绍了一个基本的应用程序,其中使用了Java后端和类,以便支持使用PHP通过Web接口进行扩展的不同操作。 在本系列文章的下一部分中,您将使用Java技术开发核心应用程序逻辑。 共享本文…… 请Digg这个故事 发布到del.icio.u Slashdot一下! 参考资料 学习 ∙您可以参阅本文在developerWorks全球站点上的英文原文。 ∙“在ApacheGeronimo中运行PHP应用程序”(developerWorks,2006年2月): 这个教程提供了关于使用PHP和Java技术进行开发的基本信息。 ∙PHPJavaBridge: 有关PHPJavaBridge的更多信息,请查看。 ∙2006年AIX专区最受欢迎的文章: 查看您的同事所感兴趣的AIX和UNIX文章。 ∙查看MartinBrown撰写的其他文章和教程: oAcrossdeveloperWorksandIBM ∙查看DougMonroe撰写的其他文章和教程: oAcrossdeveloperWorksandIBM ∙AIXandUNIX®: “AIXandUNIXdeveloperWorks”专区提供了大量与AIX系统管理的所有方面相关的信息,您可以利用它们来扩展自己的UNIX技能。 ∙AIXandUNIX新手入门: 访问“AIXandUNIX新手入门”页面可了解更多关于AIX和UNIX的内容。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AIX53 使用 Java PHP 开发