APP下载

高职院校Web Service课程教学中的几点思考

2015-01-10

科技视界 2015年34期
关键词:文档框架理论

王 崟

(南京信息职业技术学院计算机与软件学院,江苏 南京 210023)

0 引言

随着Internet 的迅猛发展,越来越多的Web 应用系统被建立起来,利用各种Web 技术可以轻松地在Internet 环境下实现电子商务、电子政务等多种应用。然而这些地理位置不同,数据组织形式不同,操作系统平台不同的应用之间,往往需要集成和交互。Web Service 能够使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或者硬件,就可相互交换数据或集成。随着Web Service 的广泛应用,一些高职院校专门开设了Web Service 课程,或者在Web 开发课程中加入了Web Service 开发的相关内容。本人通过六年的基于Java的Web Service 教学经验以及实际项目经验,浅谈对这门课程教学的几点思考。

1 Web Service 课程教学中的重点

根据Web Service 目前的应用情况和高职类学生对应的就业岗位的需要,Web Service 课程的教学有三个重点:

(1)Web 服务理论和协议,包含SOA 体系架构、SOAP 协议、WSDL文档阅读三个部分,这一部分是Web 服务开发和访问的根基。在学习开发和部署Web Service 之前,必须先让学生理解基本的Web 服务理论和协议,原因如下:

首先,Web Service 作为实现面向服务的体系结构(SOA)的一种技术架构,其本身是独立于任何平台和语言的。Java,.NET,Python,PHP等语言都有其开发Web 服务的技术,而学生的语言基础通常比较单一,因此在web Service 课程中只会教授一种语言下某些开发技术。在这种情况下,基本理论和协议就变得十分重要,其重要性甚至要超过某个具体技术,因为学生在日后的工作中可能使用到其它开发语言和平台,理论和协议掌握了,才能知其然更知其所以然,更容易迁移到其它语言和框架下的开发。

其次,Web 服务的开发框架非常多,发展也很快,课程不可能介绍一种语言平台下的所有开发框架的使用,但是不同的开发框架都遵循Web 服务的基本理论和协议。因此学生深入理解Web 服务理论和协议之后,掌握一种框架的使用,工作后如果要使用其他框架会更加容易。

(2)阅读WSDL 文档访问指定服务

由于Web Service 的一大用途是异构系统间的集成或者数据交换,如果两个系统是两个独立的公司或者组织开发的,它们相互之间不可能直接暴露业务逻辑和实现给对方。在这种情况下,两个系统通过Web 服务进行数据交换的时候,双方只能拿到对方服务的WSDL文档,从这个服务的描述文档中获得访问对方的服务的方法,因此阅读WSDL 文档对于Web 服务的访问者来说是非常重要的能力。

在充分理解了WSDL 文档之后,学生就能够编写服务访问代码访问服务,获得结果。学生应该掌握In-Out Messaging(请求/响应)服务的访问,包括同步方式调用和异步调用方式。One Way Messaging(单向)服务的访问,包括In-Only 方式和Robust In-Only 方式。

(3)将已有的程序代码发布成Web 服务

教学中应该让学生学会将任意的函数功能转换成Web 服务,熟练掌握Web 服务的部署,以及不同服务的部署配置文件的编写。

2 Web Service 课程教学中的难点

2.1 学生难以建立Web 服务的概念

Web Service 课程一般开设在Java Web 课程之后,学生已经学过如何开发网站,用到的主要技术就是HTML,JSP 等。在学生的脑海中WEB 应用就是做网站,因为他们平时业余生活中接触的最主要的WEB 就是各类网站,他们的思想中没有其它形式的WEB 应用。

当课程首次提到Web 服务这个概念时,对学生来说非常抽象,缺乏网站的直观性,因此很难在课程初期建立起Web 服务的概念,这样会导致课程的学习的目的性不强。

2.2 理论和协议抽象枯燥

理论协议虽然重要,但是在教学过程也能明显地感受到学生的热情不大。主要的原因如下:

(1)理论协议的介绍在Web Service 课程的开始阶段,这时候学生还没有完全建立起Web 服务的概念,学生不知道这些理论和协议究竟有什么用,相互有何关联,对之后学习开发和访问有何影响,学习目的性不强。

(2)SOA 理论听起来挺有道理,但是学生并未实际感受过那些使用场合,并不能真的体会出这种体系结构的优点和用途。

(3)SOAP 协议作为Web 服务传输消息的基本协议,虽然SOAP消息架构简单,但学生对于互联网上的“消息”一词并没有直观的感受,对学生来说还是非常抽象的,学生还是比较能接受更直观一些的知识。

(4)WSDL 语法复杂而枯燥,文档很长,学生必须经过大量的练习才能读懂一篇WSDL 文档,而读懂一篇WSDL 对学生来说并没有很大的成就感,因为只有到了服务访问阶段,才是真正检验WSDL 文件阅读正确性的时候。

2.3 开源框架多

以Java 语言为例,Java 平台的开源Web Service 开发框架非常多,有AXIS、AXIS2、CXF、XFire 等等,这些框架都在不同时期、不同场合有着广泛的应用。而且发展很快,一个框架可能出来后红火一阵子就销声匿迹了,或者进阶到了新版本。而在实际的应用中,也并非一个阶段所有的公司都用同一个框架做开发,存在多个框架并存的现象。在教学中,不可能教学生使用每一个框架,甚至不可能随着技术的更新,每年都教授全新的框架,因此在教学内容的选择上需要仔细斟酌,选择一个有代表性并且能够充分体现Web Service 特性的开发框架。

2.4 前驱知识薄弱

学习Web Service 有一些必备的前驱知识,学生要对XML 基本语法和名称空间有一定了解,要能阅读简单的Schema 文档,能够编程访问XML 文档,要有基本的语言开发基础,能够使用Web 服务器,如TOMCAT 等。如果这些前驱知识不到位,会影响Web Service 的学习。

3 改进措施

3.1 使用实际情境引入Web 服务

在Web 服务入门阶段,不能只灌输概念、定义、优缺点、应用场合等理论知识。如果学生觉得自己从未接触过这个技术,平时也从未用到过,他们的学习兴趣会下降。事实上,每个学生一定体验过Web 服务,只是他们没有意识到。这时应该总结学生接触过的Web 服务的场合,用问题引导学生逐渐理解web 服务的使用场合,例如下面的一系列问题:购物网站是如何查询到某家快递公司的物流的?购物网站上查物流的时候,有没有跳转到物流网站呢?购物网站可以访问快递公司的数据库吗?购物网站拥有快递公司的数据库吗?购物网站和物流公司的系统是一定是同一个平台和语言开发的吗?问题层层递进,让学生去设想购物网站和快递公司系统之间的数据是如何交换的。此外,还可以让学生思考,为什么打开一个网站,网站上能显示我们所在城市的天气预报呢?这个网站是不是访问到中央气象台的数据库了?利用这些每个学生都认识的场景,引导学生去理解异构系统的数据集成和交换,让学生了解,通过本门课的学习,他们可以获得解决这些问题的手段。

3.2 使用监听工具让抽象的协议具体化

在讲解SOAP 协议的时候,可以指导学生使用一些网络监听工具,在访问Web 服务的同时,监听应用程序向服务发出的SOAP 请求和接收到的SOAP 响应。虽然学生此时还不会开发和访问Web 服务,但是可以直观地看到应用程序和Web 服务交流时使用的消息,这对于理解SOAP 协议以及Web 服务的平台无关性是非常有利的。

3.3 使用免费的公共服务

现在网上有很多免费的公用服务,例如天气预报查询、股票行情查询、列车时刻表查询、IP 地址查询等服务,这些服务贴近日常生活,学生很有兴趣。而且服务种类多,可以让学生自由选择自己感兴趣的服务进行访问。

3.4 弱化服务的业务逻辑,强化部署配置

Web 服务本身并不是一种新的编程技术,而是一种Web 应用的构建方式,反映了“面向服务的”编程方式,理论上来说,任何业务逻辑都可以发布成Web 服务。因此课程中不能把重心放在如何编写Web服务的代码上,对于某种服务开发框架来说,无论服务的代码是简单还是复杂,开发和部署的方式都是相似的。课程中只要把重点放在如何将代码转换成Web 服务,如何部署和管理就可以了。

3.5 选取两个开发框架分主次介绍

Java 平台上的Web 服务开发框架多,课程中选取一个框架作为主要的讲授对象,将其讲透,练熟。再简单教学生另一个框架的使用,让学生感受其差异和共同点。这样可以让学生知道虽然课上只教了市场上一小部分框架的使用,他们日后工作也未必能直接用到,但是凭借这门课打下的基础,他们是可以很顺利地迁移到其它开发框架,也可以锻炼学生的自学能力。

3.6 增加XML 相关知识

在Web Service 课程之前应该开始XML 相关课程,课程内容不需要多深,但是要教学生基本的XML 语法,XML 的名称空间技术,XML定义语言Schema,编程访问XML 的基本接口DOM,DOM4J 或者JDOM。这些知识在介绍Web 服务理论、协议、开发部署的时候都会直接或间接被用到。

4 结语

Web Service 已经称为IT 从业人员必须掌握的一门技术。本文列举了高职院校Web Service 课程教学遇到的问题和难点,探讨了解决问题、提高教学效果的方法。

[1]Michael P.Papazolou.Web 服务原理和技术[M].机械工业出版社,2010.

猜你喜欢

文档框架理论
浅谈Matlab与Word文档的应用接口
坚持理论创新
神秘的混沌理论
有人一声不吭向你扔了个文档
理论创新 引领百年
相关于挠理论的Baer模
广义框架的不相交性
WTO框架下
基于RI码计算的Word复制文档鉴别
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat