

英语原文共 7 页,剩余内容已隐藏,支付完成后下载完整资料
Acta Montanistica Slovaca Ročniacute;k 11 (2006), čiacute;slo 2, 144-150
在PHP环境下的WEB服务成为新趋势
Pavel Horovčaacute;k[1]
摘要
WEB服务的开发与支持正渐渐成为当前开发环境中不可分割的一部分.除了JAVA或.NET标准环境下的WEB
服务的出现,支持商目前也意识到了在广泛使用的最新版本的PHP网络应用开发环境.它在PHP的框架内面向
网络服务.它解决了WS的开发标准和WS的数据库模式.它比较了服务器开发部分中的结构化和面向对象方法
Key words: Web service, PHP, XML, WSDL, MySQL, SQLite.
Introduction
The Hypertext Processor (PHP) 是一个广泛用于网络开发的脚本语言,可以嵌入HTML中.它是一个面向对象的程序语言,与C,Perl,Java有相似的语法。PHP在1995年六月8日发布,由Rasmus Lerdorf发明,最初作为Perl的简单脚本用于追踪接口。PHP3是与我们目前所知的PHP语言最初相似的版本。它是由 Andi Gutmans 和Zeev Suraski 在1997年和1998年6月正式发布。发布的PHP版本4,2000年5月,是一个重要的里程碑,其爆炸性能提升,和许多特性,如本地会话的支持。PHP版本5发布2004年7月,经过长时间的发展和几种预发行版。主要由其核心,Zend引擎2.0,用一个新的对象模型和其他许多新特性,支持XML和web服务(SOAP扩展)(2005年Gilmore)。其他新功能也有如在处理try - catch模式中,使用先进的字符串处理和SQLite的支持开源的数据库引擎。
PHP的几个特性有利于WS的开发。第一个是它的面向对象的编程功能,即在版本5。它还允许SOAP(简单对象访问协议)和xml - rpc(远程过程调用)工具包分成一组类,作为整个WS中的每个支持的部分。PHP的另一个优点是它的XML支持。Expat解析器与PHP捆绑,提供SAX(XML简单的API)的能力。扩展的XML功能,还有几个PHP扩展,比如domxml扩展(文档对象模型),xslt(可扩展样式表语言转换)扩展以及实验扩展XML - rpc和SOAP(Ayala et al . 2002年)。
PHP和Perl,作为一个服务器端编程语言很长时间领先于JSP / Servlet或ASP(活动服务器页面)技术(卢比奥2004)。对于那些使用Apache Web服务器的开发商来说,它成为最普遍的选择,运行几乎70%的网站。由于其普遍性,很明显,它应该支持最新的标准,如SOAP,采用主要技术供应商。在本文中,我们将描述如何实现Web服务在PHP 5的环境。
网络服务
Web服务是由URI标识的软件应用程序(统一资源标识符),可以定义接口和互联的描述,寻找为XML部件。他们支持直接互动与其他应用软件通过mesnot;sages方式写在XML语言和经由互联网协议(Buransky 2003)。
Web服务,一堆新兴标准描述面向服务和构件应用程序体系结构系统,建立在面向服务的体系结构(SOA)(Samtani 2002)
144
Montanistica Slovaca (2006), , 144-150
Web服务是由URI标识的一个软件系统,其公共接口和绑定定义和描述使用XML。由它的定义可以发现其他软件系统可以与Web服务交互的方式, 通过internet协议使用基于XML的消息
WSDL(Web服务描述语言)是一种XML格式用来描述网络服务的端点作为一组包含面向文档或面向过程的信息的操作信息(克里斯腾森et al . 2001年)。其操作和消息是抽象描述,然后绑定到具体的网络协议和消息格式定义端点。相关的具体终端结合成抽象的端点(服务)。WSDL是可扩展的,允许端点的描述和他们的消息不管消息格式或网络协议是用来交流。然而,唯一绑定在本文档描述了如何使用WSDL和SOAP 1.1,HTTP(超文本传输协议)GET / POST和MIME(Multipurpose Internet Mail Extensions)。
PHP 和 网络服务(WS)
|
lt;!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'DTD/xhtml1-strict.dtd'gt; lt;htmlgt; lt;headgt; lt;meta http-equiv='author' content='horovcak' /gt; lt;meta http-equiv='Content-Type' content='text/html; charset=Windows-1250' /gt; lt;titlegt;Temp client2lt;/titlegt; lt;/headgt; lt;bodygt; lt;h3gt;Temperature client 2 (2 functions)lt;/h3gt; lt;?php $client = new SoapClient('teplota2.wsdl'); $result = $client-gt;getTemp(0); print('We generated temp '. $result. ' deg Clt;BRgt;'); if (is_soap_fault($result)) { trigger_error('SOAP Fault: (faultcode: {$resultgt;faultcode}, faultstring: {$result-gt;faultstring})', E_ERROR); } print $client-gt;VolumSurf(3).'lt;brgt;'; print $client-gt;VolumSurf(1).'lt;brgt;'; ?gt; lt;/bodygt; lt;/htmlgt; |
PHP版本4的没有一个标准的SOAP或xml - rpc支持。这就是为什么有几种不同的模式支持WS创造。首先,是NuSOAP PHP类的集合,允许用户通过HTTP发送和接收SOAP消息。它是一个开源,GNU LGPL许可。它被用为核心的几个WS PHP工具包,包括PEAR-SOAP和软件的简单WS API项目活动状态。它是用纯PHP和操作写下的在PHP版本4环境下运行。一个非常有用的扩展是CURL扩展,称为客户端URL图书馆。旋度可以通过不同的通信协议(如HTTP、HTTPS、FTP、telnet和LDAP(轻量级目录访问协议)。其他实现WS倡议的命名简单WS API(SWSAPI),作为脚本语言的标准方法来访问Web服务的WSDL描述。SWSAPI是一家专业为开放源码语言IDE、提供强大的工作区进行编辑,调试和测试应用程序。它支持Perl、PHP、Python、Tcl、XSLT,和许多其他语言,运行在Linux和Microsoft Windows。从WSDL文件生成Perl Web服务客户端,Web服务管理包括书签管理和自动创建Web服务文档;自动完成和CallTips Web服务的对象。
有两种消费及生产其他方法WS - xml - rpc(大卫·2004)和其他(特拉亨伯格2003)。远程过程调用用于建立和促进两个远程系统之间的交易。要启用PHP xml - rpc功能,您必须下载xml - rpc工具包,其中包括xmlrpc。公司(基类库)和xmlrpcs。公司(服务器类库)。其余的(代表“具象状态传输”),是一种简单的方法比XML - rpc和SOAP,使用标准的HTTP方法,比如GET、POST和PUT发送和检索XML数据。
|
lt;?php class LocTemp { public function getTemp($symbol) { $temp = rand(0,40); return $temp; } public function VolumSurf($size){ $surf=6*$size*$size; $volume=$size*$size*$size; return 'Input='.$size.' Surf='.$surf.' Vol='.$volume; } } $server = new SoapServer('teplota.wsdl'); $server-gt;setClass('LocTemp '); //object approach //$server-gt;addFunction('getTemp'); //functional //$server-gt;addFunction('VolumSurf'); $server-gt;handle(); ?gt; |
PHP5下的网络服务
PHP 5对SOAP实现普及之间插入其他生产商的标准扩展。SOAP动态扩展功能可用的php.ini通过这种方式,PHP 5为网络服务的服务器和客户端提供了简单的开发机会。
|
lt;?xml version =1.0 encoding =UTF-8 ?gt; lt;definitions name=LocTemp targetNamespace=urn:hp_php5_soap xmlns:ph=urn:hp_php5_soap xmlns:soap=http://schemas.xmlsoap.org/wsdl/soap/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/ xmlns:wsdl=http://schemas.xmlsoap.org/wsdl/ xmlns=http://schemas.xmlsoap.org/wsdl/gt;
lt;!-- Parameters and return values --gt; lt;!-- Function getTemp --gt; lt;message name=getTempRequestgt; lt;part name=symbol type=xsd:string/gt; lt;/messagegt; lt;message name=getTempResponsegt; lt;part name=Result type=xsd:int/gt; lt;/messagegt; lt;!-- Function VolumSurf --gt; lt;message name=VolumSurfRequestgt; lt;part name=size type=xsd:int/gt;
剩余内容已隐藏,支付完成后下载完整资料 资料编号:[30455],资料为PDF文档或Word文档,PDF文档可免费转换为Word |
您可能感兴趣的文章
- 饮用水微生物群:一个全面的时空研究,以监测巴黎供水系统的水质外文翻译资料
- 步进电机控制和摩擦模型对复杂机械系统精确定位的影响外文翻译资料
- 具有温湿度控制的开式阴极PEM燃料电池性能的提升外文翻译资料
- 警报定时系统对驾驶员行为的影响:调查驾驶员信任的差异以及根据警报定时对警报的响应外文翻译资料
- 门禁系统的零知识认证解决方案外文翻译资料
- 车辆废气及室外环境中悬浮微粒中有机磷的含量—-个案研究外文翻译资料
- ZigBee协议对城市风力涡轮机的无线监控: 支持应用软件和传感器模块外文翻译资料
- ZigBee系统在医疗保健中提供位置信息和传感器数据传输的方案外文翻译资料
- 基于PLC的模糊控制器在污水处理系统中的应用外文翻译资料
- 光伏并联最大功率点跟踪系统独立应用程序外文翻译资料
