论文部分内容阅读
摘 要 针对Web Services的实际应用,分析了Web Services的服务特点,根据常见的WEB服务开发语言,选择使用PHP语言进行服务器端开发,设计了服务器端Web Services描述文件的框架,设计了兼容PHP语言、C#语言和Java语言的二维数组传递方案,实现了PHP语言、C#语言和Java语言使用Web Services进行通信。
关键词 Web Services;WSDL;二维数组
中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2013)18-0067-02
Web Services是一种服务导向架构的技术,通过标准的Web协议提供服务,目的是保证不同平台的应用服务可以互操作。Web Services服务过程中会由服务器提供一个基于WSDL的机器可读的描述文件以辨识服务器所提供的Web Services。不同的程序设计语言对Web Services支持的差异性,决定了使用不同的语言设计的Web Services服务器和客户端需要遵照统一的相兼容的Web Services设计规范。本文设计实现了兼容PHP语言、C#语言和Java语言的Web Services描述规范和通信规范。
1 Web Services服务特点
本文讨论的Web Services采用PHP实现服务器端,供C#和Java客户端调用,Web Services请求/响应模型如图1所示。
Web Services请求/响应是通过HTTP基于SOAP/XML的通信,客户端向服务端发出Web Services请求,服务端收到请求后,为客户端准备服务数据,然后以Web Services响应的方式返回给客户端。
2 WSDL文件设计
WSDL是Web服务描述语言(Web Services Description Language)。WSDL文档是用于描述某个Web Services的XML文档。WSDL文档规定Web Services的位置,以及Web Services提供的操作(或方法),WSDL文档的基本元素如表1所示。
根据上述分析,客户端对字符串进行反序列化的方法如下:
步骤1:将二维数组序列化形成的字符串,按utf8方式编码为一个一维字节数组,存储到一维字节数组utf8_array中。
步骤2:按utf8_array数组的索引顺序,读取utf8_array数组中的元素,当当前读取的utf8_array元素的前一个元素值为“:”,并且还没有从utf8_array数组中读出二维数组的第一维长度时,继续读取utf8_array数组并保存读取到的utf8_array元素值,直到读到utf8_array元素值为“:”时,将保存的值作为二维数组的第一维长度。
步骤3:继续读取utf8_array数组中的元素,当当前的utf8_array元素的前两个元素值为“a”和“:”,并且还没有从utf8_array数组中读出二维数组的第二维长度时,继续读取utf8_array数组并保存读取到的utf8_array元素值,直到读到utf8_array元素值为“:”时,将保存的值作为二维数组的第二维长度。
步骤4:继续读取utf8_array数组中的元素,当当前的utf8_array元素的前两个元素值为“s”和“:”时,继续读取utf8_array数组并保存读取到的utf8_array元素值,直到读到utf8_array元素值为“:”时,将保存的值作为临时一维数组中的一个元素值长度,按元素值长度继续读取utf8_array数组并保存相应个数的utf8_array元素值,将保存的值作为临时一维数组的一个元素。
步骤5:重复步骤4,直到保存的临时一维数组元素的个数等于步骤3得到的二维数组第二维长度时,将该临时一维数组作为二维数组的一个子数组。
步骤6:重复步骤5,直到保存的二维数组的子数组个数等于步骤2得到的二维数组第一维长度时,结束对utf8_array数组的读取,得到序列化之前的二维数组。
4 结束语
Web Services可以将应用程序转换为网络应用程序。通过使用Web Services,应用程序可以向全世界发布信息,或提供某项功能。使用兼容多种程序设计语言的Web Services设计规范,能够更好的发布应用程序,为更多的用户提供服务。
参考文献
[1]Wikipedia.Web服务: Web服务[EB/OL].[2013-10-10].http://zh.wikipedia.org/wiki/Web%E6%9C%8D%E5%8A%A1.
[2]W3School.Web Services 教程: Web Services 教程[EB/OL].[2013-10-10].http://www.w3school.com.cn/webservices/.
作者简介
周亮(1981-),男,汉族,安徽砀山人,教育学硕士,兰州石化职业技术学院信息处理与控制工程系讲师。
关键词 Web Services;WSDL;二维数组
中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2013)18-0067-02
Web Services是一种服务导向架构的技术,通过标准的Web协议提供服务,目的是保证不同平台的应用服务可以互操作。Web Services服务过程中会由服务器提供一个基于WSDL的机器可读的描述文件以辨识服务器所提供的Web Services。不同的程序设计语言对Web Services支持的差异性,决定了使用不同的语言设计的Web Services服务器和客户端需要遵照统一的相兼容的Web Services设计规范。本文设计实现了兼容PHP语言、C#语言和Java语言的Web Services描述规范和通信规范。
1 Web Services服务特点
本文讨论的Web Services采用PHP实现服务器端,供C#和Java客户端调用,Web Services请求/响应模型如图1所示。
Web Services请求/响应是通过HTTP基于SOAP/XML的通信,客户端向服务端发出Web Services请求,服务端收到请求后,为客户端准备服务数据,然后以Web Services响应的方式返回给客户端。
2 WSDL文件设计
WSDL是Web服务描述语言(Web Services Description Language)。WSDL文档是用于描述某个Web Services的XML文档。WSDL文档规定Web Services的位置,以及Web Services提供的操作(或方法),WSDL文档的基本元素如表1所示。
根据上述分析,客户端对字符串进行反序列化的方法如下:
步骤1:将二维数组序列化形成的字符串,按utf8方式编码为一个一维字节数组,存储到一维字节数组utf8_array中。
步骤2:按utf8_array数组的索引顺序,读取utf8_array数组中的元素,当当前读取的utf8_array元素的前一个元素值为“:”,并且还没有从utf8_array数组中读出二维数组的第一维长度时,继续读取utf8_array数组并保存读取到的utf8_array元素值,直到读到utf8_array元素值为“:”时,将保存的值作为二维数组的第一维长度。
步骤3:继续读取utf8_array数组中的元素,当当前的utf8_array元素的前两个元素值为“a”和“:”,并且还没有从utf8_array数组中读出二维数组的第二维长度时,继续读取utf8_array数组并保存读取到的utf8_array元素值,直到读到utf8_array元素值为“:”时,将保存的值作为二维数组的第二维长度。
步骤4:继续读取utf8_array数组中的元素,当当前的utf8_array元素的前两个元素值为“s”和“:”时,继续读取utf8_array数组并保存读取到的utf8_array元素值,直到读到utf8_array元素值为“:”时,将保存的值作为临时一维数组中的一个元素值长度,按元素值长度继续读取utf8_array数组并保存相应个数的utf8_array元素值,将保存的值作为临时一维数组的一个元素。
步骤5:重复步骤4,直到保存的临时一维数组元素的个数等于步骤3得到的二维数组第二维长度时,将该临时一维数组作为二维数组的一个子数组。
步骤6:重复步骤5,直到保存的二维数组的子数组个数等于步骤2得到的二维数组第一维长度时,结束对utf8_array数组的读取,得到序列化之前的二维数组。
4 结束语
Web Services可以将应用程序转换为网络应用程序。通过使用Web Services,应用程序可以向全世界发布信息,或提供某项功能。使用兼容多种程序设计语言的Web Services设计规范,能够更好的发布应用程序,为更多的用户提供服务。
参考文献
[1]Wikipedia.Web服务: Web服务[EB/OL].[2013-10-10].http://zh.wikipedia.org/wiki/Web%E6%9C%8D%E5%8A%A1.
[2]W3School.Web Services 教程: Web Services 教程[EB/OL].[2013-10-10].http://www.w3school.com.cn/webservices/.
作者简介
周亮(1981-),男,汉族,安徽砀山人,教育学硕士,兰州石化职业技术学院信息处理与控制工程系讲师。