Android学习平台中Web Service架构的实现与研究

2017-07-15 15:42申鸿烨
智能计算机与应用 2017年3期
关键词:学习平台

申鸿烨

摘要:Android手机软件开发是远程教育学习平台的重要内容,手机通常以终端的形式出现,大量的数据被保存在服务器端,手机通过网络,使用Web Service服务与服务器端进行通讯,交流数据。因此,Web Service架构的研究与实现具有重要意义。本文详细研究了Android学习平台中Web Service的设计与实现方案。

关键词:Android;Web Service;学习平台

0引言

在学习平台的研究中,Android手机软件开发具有重要意义。手机常常以终端的形式出现,大量的数据则保存在服务器端,手机通过网络,使用Web Service服务与服务器端进行通讯,交流数据,实现软件功能。Web Service,即XML Web Service,是可以从网络上接收其它系统中传递请求的一种轻量级的通讯技术,通过SOAP在Web上提供软件服务,使用WSDL文件进行说明,并通过UDDI予以注册。本文将详细探讨并重点给出了Android学习平台中Web Service的设计与实现方案。

1Web Service的核心技术与规范

Web Service由应用软件发布,为了达到跨平台的目的,Web Service采用完全基于不依赖平台和具体软件厂家的标准,如XML、XSD。

Web Service主要设计使用的核心技术与规范可阐释如下:

1)XML。全称Extensible Markup Language,即扩展型可标记语言,主要面向短期的临时数据处理和互联网应用,是Soap的基础,是处理结构化文档信息的重要工具。

2)Soap。全称Simple Object Access Protocol,即简单对象存取协议,是表示信息交换的协议,实现了I-ITTP的Web技术与XML的結合,便于异构程序与平台之间的互操作性,当用户通过UDDI找到WSDL描述文档后,就可以通过SOAP调用Web服务开展操作。SOAP是XML文档形式的调用方法的规范。

3)WSDL。全称Web Services Description Langllage,为XML格式的文档,用来说明一组SOAP消息以及如何交换这些消息,通常情况下是由应用软件自动生成和使用的。

4)UDDI。全称UniversalDescriptionDiscovery andIntegration,是主要针对Web服务供应商和使用者的项目。在用户能够调用Web服务之前,必须确定这个服务内包含哪些商务方法,找到被调用的接口定义,还要在服务器端来编制软件。UDDI是一种根据描述文档来引导系统查找相应服务的机制。UDDI利用SOAP消息机制(标准的XML/HITP)来发布、编辑、浏览以及查找注册信息。在此基础上,则采用XML格式来封装各种不同类型的数据,并且发送到注册中心或者由注册中心来返回需要的数据。

2Web Service工作原理

Web服务的体系结构涵盖了Web服务提供者、Web服务请求者、Web服务代理三个角色,具体包括3个动作:发布、发现和绑定。简而言之,Web服务提供者的作用是提供Web服务,等待其他服务和用户访问自己提供的功能。Web服务请求者是Web服务的用户,使用SOAP消息传递Web服务提供商发送的请求到Web获取服务。Web服务中介的角色是将Web服务提供者和Web服务请求者绑定在一起,以管理者的角色出现,一般是UDDI实现。

Web服务有2层含义:一是指包装成单个实体并释放到网络中的功能集合;二是指功能聚合后被调用的服务。概略地说,Web服务是一个URL资源,客户端可以通过编程方式请求其服务,而不需要知道所请求的服务是如何实现这一点的,即对客户端而言是透明的,这也是与传统的分布式组件对象模型所具备的显著不同之处。

Web Service的优点在于:

1)跨防火墙通信。当前网络环境下,为了安全考虑,防火墙是每个网站标配的设备,一方面保障了服务器本地服务的安全性,另一方面,为了与外部通讯,防火墙为外部的应用程序预制了固定的端口。但是,外部的应用程序各种各样,用户成千上万,而且分布在全球各地,防火墙在提供了安全性的同时,也即使得客户端和服务器之间通信已然成为一个棘手的问题。现有的做法是,选择将浏览器作为客户端,书写程序代码,把应用程序的中间层暴露给最终用户,但是这种处理开发难度大,程序难于维护。如果使用Web Service作为中间层组件的话,就可以从用户界面直接调用中间层组件。因此,使用Web Service结构.就可以节省花费在用户界面编程上的大量开发时间。

2)应用程序集成。开发一个应用软件,可以包含多种开发语言,最终整合为一个应用系统。这种整合实现了不同软件、不同开发人员的技术集成,但是集成将耗费可观的开发力量和维护力量。例如,应用程序需要从运行在某服务器中获取数据;或者把数据发送到另一台服务器。再例如,开发人员中有采用C#作为开发语言的,也有采用JAVA作为开发语言的等等。即使在同一个平台上,不同软件厂商生产的各种软件也常常需要系统规范的高效整合。Web Service可以发挥协同连接的作用,借助其可以很容易地集成不同结构的应用程序。

3)软件和数据重用。软件开发的一个重要思想是复用技术,前期开发的技术成果,不仅包含了开发人员的劳动,而且还内化了大量测试和维护人员的行为内容,通过软件复用,可以最大程度地保存这些有意义的工作,降低重新开发和测试的工作强度。这种复用不仅体现在源代码模块或者类一级的重用,还可以通过二进制形式的组件重用得到进一步的清晰确认。采用Web Service应用程序声明对外服务的方法,将功能和数据展示出来,供其它应用程序使用,达到业务级的重用。

3Web Service的实现步骤

实现一个完整的Web服务在设计上可分述为如下步骤:

1)发布。Web服务提供者的开发应用则将通过服务代理来设计、发布和调试正确的Web服务,并在UDDI注册中心申请注册。

2)发现。Web服务请求Web服务代理,通过UDDI注册中心请求特定服务的中介,以满足所请求的服务请求。

3)查找。Web服务代理向Web服务请求返回符合条件的Web服务描述信息,描述WSDL中所写的信息,支持各种Web服务的服务器读取。

4)绑定。生成相应的SOAP信息描述信息,发送到Web服务提供商,实现Web服务调用;Web服务提供者根据SOAP消息服务实现相应的Web服务,并将结果返回给Web服务请求者,如图1所示。

猜你喜欢
学习平台
泛在学习环境下微课学习平台的设计策略研究
基于微信及微网站的高职院校移动学习平台设计与实现
泛在背景下图像处理课程学习平台设计研究
基于校本微课的移动学习平台的设计与研究
在线教育嵌入教育生态系统的模式研究