Web服务在PHP环境中作为新的现象外文翻译资料

 2022-10-28 03:10

英语原文共 7 页,剩余内容已隐藏,支付完成后下载完整资料


Web服务在PHP环境中作为新的现象

摘要

Web服务的开发和利用(WS)的支持正逐渐成为当前发展环境的一个组成部分。由于标准环境与WS(Java或. net)的出现有关,目前时间实现的支持也在广泛地应用与PHP的更新版本5的web应用程序开发环境。这种贡献是面向在PHP 5的框架内的WS的开发与利用。它涉及WS(计算模式)以及WS在数据库模式(使用MySQL,SQLite)的标准的发展。它比较了作为服务开发的服务器部分结构化和面向对象的方法。

关键词:Web服务、PHP XML,WSDL,MySQL,SQLite。

介绍

超文本处理器(PHP)是一种广泛使用的通用脚本语言,尤其适合web开发,因为它被设计工作在网络上,可以嵌入到HTML。它是一门过程语言,在当前版本5中具有面向对象功能并且有一个语法相似于C、Perl和Java语言。PHP是由拉姆Lerdorf首次发布于1995年6月8日,最初作为跟踪一组简单的Perl脚本访问在线简历。PHP 3是第一个相似于我们今天所知道的PHP的版本。它是由安迪bull;古特曼和Zeev Suraski在1997年和1998年6月正式发布。2000年5月发布的PHP版本4,是一个专业里程碑,由于其许多特性爆炸性增加,如本地会话的支持。PHP版本5发布2004年7月,经过长时间的发展和几种预发行版。它主要是由其核心Zend引擎2.0,一个新的对象模型和几十个其他的新功能,首先高级支持所有的XML和web服务(SOAP扩展)(2005年Gilmore)。在其他新功能也有例如在try - catch模式、先进的字符串处理和支持SQLite的开源数据库引擎的处理。

PHP的几个特性有利于web服务(WS)的发展。第一个即是在版本5中它的面向对象的编程功能。它还允许SOAP(简单对象访问协议)和xml - rpc(远程过程调用)工具包分成一组类,整个WS事务的每个支持的部分。PHP的另一个优点是它的XML支持。外籍人士SAX解析器与PHP绑定提供(XML)的简单API开箱即用的能力。为了扩展的XML功能,有几个PHP扩展,比如domxml扩展(文档对象模型),xslt(可扩展样式表语言转换)扩展以及xml - rpc和SOAP的实验扩展(Ayala et al . 2002年)。与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成htmL标记的CGI要高许多。

PHP和Perl,一个领先的服务器端编程之前很长一段时间在任何JSP / Servlet或ASP(活动服务器页面)技术出现之前(卢比奥2004)。它通常是那些几乎70%的网站使用Apache Web服务器的语言的选择。由于它无处不在,很明显应该支持最新的标准,比如被主要技术供应商采用的SOAP。在本文中,我们将描述Web服务如何PHP 5环境中实现。

Web服务

Web服务是由URI标识的软件应用程序(统一资源标识符),它的接口和连接可以定义、描述和搜索作为XML工件。它们支持直接与其他用mesnot;sageXML编写的语言和通过网络协议传输信息的应用软件互动。

Web服务,一堆用来描述面向服务和基于应用程序体系结构组件的新兴标准,是建立在面向服务的体系结构(SOA)(Samtani 2002)。

Web服务是由URI标识的一个软件系统,其公共接口和绑定使用XML定义和描述。它的定义可以被其他软件系统发现。这些系统可以与Web服务交互的方式规定其定义,使用基于XML的由网络协议传达的消息。

WSDL(Web服务描述语言)是一种用来描述网络服务的XML格式,作为一组端点既包含面向文档的信息或者面向过程的操作信息信息(克里斯腾森et al . 2001年)。这些操作和消息是抽象描述,然后绑定到具体的网络协议和消息格式上以定义端点。相关的具体端点结合到抽象终端(服务)。WSDL是可扩展的,允许端点的描述和它们无论什么消息格式或网络协议的消息经行交流。然而,唯一的绑定在本文档描述了如何使用WSDL和SOAP 1.1,GET / POST HTTP(超文本传输协议),和MIME(Multipurpose Internet Mail Extensions)。

PHP和WEB服务

PHP直到版本4都没有一个标准的SOAP或xml - rpc支持。这是为什么有几种不同的支持WS创造的实现的原因。首先,它是NuSOAP PHP类的集合,允许用户通过HTTP发送和接收SOAP消息。它是一个开源软件,由迪特里希Ayala Ayala写入的GNU LGPL许可。它被作为几个WS PHP工具包的核心使用,包括PEAR-SOAP和软件的简单WS API项目活动状态。它是用纯PHP写入,在PHP版本4下运行。一个非常有用的扩展是CURL扩展,称为客户端URL图书馆。CURL可以通过不同的通信协议交流,如HTTP、HTTPS、FTP、telnet和LDAP(轻量级目录访问协议)。其他实现是命名为简单WS API(SWSAPI)的WS倡议,一种脚本语言访问Web服务的WSDL描述的标准方法。想要去开始学习SWSAPI,就去看ASPN快速入门(2005)。科莫多(ASPN 2005)是一家专业的IDE开源语言,提供强大的工作区进行编辑,调试和测试应用程序。它支持Perl、PHP、Python、Tcl、XSLT和许多其他语言,并且运行在Linux和Microsoft Windows下。科莫多特点:能够自动从WSDL文件生成Perl Web服务客户端,Web服务管理包括书签管理和自动创建Web服务文档;自动完成和调用 Web服务对象。

有两个其他的方法消费和生产WS - xml - rpc(大卫·2004)和REST(特拉亨伯格2003)。远程过程调用用于建立和促进两个远程系统之间的交易。启用PHP xml - rpc功能,您必须下载xml - rpc工具包,其中包括xmlrpc公司(基类库)和xmlrpcs公司(服务器类库)。REST(即“具象状态传输”),是一种比xml - rpc或者SOAP简单的方法,使用标准的HTTP方法,比如GET、POST和PUT发送和检索XML数据。你可以使用工具如PHP的DOM、SAX甚至XSL做解析。

在PHP5中的Web服务

PHP 5版本通过对SOAP插入标准的扩展实现其在其他生产商的受欢迎程度。SOAP动态扩展功能是可用的php.ini文件(扩展= php_soap.dll)。通过这种方式,PHP 5提供了简单的开发服务器以及客户机的可能性WS部分。同时它提供了一个号码所需正确的WS功能。在WS开发过程中,初始化SOAP.wsdl_cache_enabled = 0php文件.ini(soap)的部分(或禁用WSDL缓存特性)是可取的。对于WS常规操作目的的标准设置是soap.wsdl_cache_enabled = 1。基本的客户端和服务器部分合作的先决条件是一个正确配置的WSDL文件。这个文件包含指定的四个部分特定服务器的参数和返回值函数(lt;messagegt;),一个端口类型特定的函数名称(lt; portType gt;,lt;operationgt;),特定的绑定功能绑定的端口类型(lt;binding gt;),一部分服务名称与服务器URL的服务规范(lt;servicegt;)。这个文件中一个反复引用的例子是温度服务。我们将在PHP5环境中展示几个典型任务的解决方案的例子,可分为计算任务类型和数据库类型任务。首选的是在服务器端实现对象导向的方法,虽然它也可以工作在标准函数的水平。使用面向对象的方法,所有的给一个定类赋予服务器功能的方法中只有一个方法(SoapServer - gt; setClass())。它导入了指定的类的所有方法。使用这些功能性的方法,一个通过一个相应的方法(SoapServer - gt; addFunction())分别被包括到服务器功能的函数是很有必要的。在客户端访问服务器功能中所有的列表提供了一个非常有用的标准功能SoapClient - gt; __getFunctions(),它的返回值是一个数组,包含这些功能的名称连同它的名称和类型参数。

WS计算类型

WS的服务器端包含一个或多个功能。这些函数可以有0、1或多个各种类型的输入参数(如。字符串、整数、浮点数)。最简单的方法是在使用每个函数时只有一个输出参数,主要是字符串类型。通过输出这个字符串我们可以很容易地包括所有需要的输出参数。

在附上一段合适的评论:PHP 5允许函数以一个数组的形式返回值

(字符串索引),它必须在服务器端和客户端通过标准的print_r()函数被处理。上述函数允许一个数组转储(查看屏幕或字符串)。WS服务器两个函数的一个例子是呈现在图1。一个WS实现的客户端的例子呈现在图2中。WSDL文件确保服务器和客户端之间的绑定的插图,我们在图3中演示。WS的客户端结果见图4。一个演示如何使用数组WS服务器端和客户端,与相应的客户端输出的一个例子及原理,见图5。在WS双方中print_r的函数同时被使用。

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;

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: {$result-

gt;faultcode}, faultstring: {$result-gt;faultstring})',

E_ERROR);

print $client-gt;VolumSurf(3).'lt;brgt;';

print $client-gt;VolumSurf(1).'lt;brgt;'; 图2WS服务器代码

?gt;

lt;/bodygt;

lt;/htmlgt;

图1 WS客户机代码

function VolumSurf($size){

$surf=6*$size;

$vol=$size*$size;

$vysledok['size']=$size;

$vysledok['surf']=$surf;

$vysledok['volume']=$vol;

return print_r($vysledok,true);

}

print_r($client-gt;VolumSurf(3));

Array

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[152884],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。