陈恒
大连外国语学院软件学院 辽宁 116044
随着现代信息技术的高速发展,Internet和Intranet技术不断的应用到教学当中;教学中使用网络已成为“数字化校园”的重要组成部分。
网络授课平台作为网络教学的后台支持系统,也得到了迅速的发展,出现了很多成型的系统和实际产品,它们基本上实现了网络授课平台需要的三个基本子系统——课程及教学资料开发系统,教学支持系统(同步教学和异步教学)和教学管理系统。但是,纵观已有的网络授课平台,一定程度上存在着一些不足:教学模式单一,缺乏对教学活动的有效支持;不同的教学子系统很难集成在一起,大多处于相对分离的状态;缺少通用的数据编辑和保存形式,不同操作系统和数据库平台上的子系统很难交互和共享数据;缺少有效的模块集成手段,基于不同平台的模块很难集成,系统的扩展性和伸缩性比较差;开发人员与教学设计人员的分离,导致教学设计思想难于体现。针对现有网络授课平台的不足,本文采用Web Services系统集成技术,处理系统模块间互操作和数据的集成,很大程度上提高了系统数据的一致性,降低了模块间的耦合程度,从而提高了网络授课平台的互操作性、扩展性和兼容性。
可扩展的标记语言(eXtensible Markup Language,XML),是W3C(World Wide Web Consortium)于1998年2月10日公布的用来对信息进行描述的新语言。同超文本标记语言(Hypertext Markup Language, HTML)一样,XML也是标准通用标记语言(Standard Generalized Markup Language,SGML)的子集,但它不是类似于HTML的预定义标识语言,而是用于定义其他标识语言的一种元标记语言。XML克服了HTML只能使用规定的标记和SGML过于复杂的局限,它将SGML的丰富功能与HTML的易用性结合到实际应用中。
XML语言具有很多特性:结构化、自描述、可扩展性、易于实现数据共享与重用以及多样的样式表支持,这些特性使得它非常适合作为平台间信息交换的标准格式。
Web Services 是一种新的Web应用程序分支,他们是自包含、自描述、模块化的应用,可以发布、定位、通过Web调用。Web Services可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他Web Services应用程序可以发现并调用它部署的服务。Web Services是一种应用程序,它可以使用标准的互联网协议,像超文本传输协议(HTTP)和XML,将功能纲领性地体现在互联网和企业内部网上。可将Web服务视作Web上的组件编程。
基于Web Services的集成技术作为一种新的面向函数和方法的应用集成技术,在很大程度上解决了原有集成技术在Internet远程通信方面的问题。Web Services基于XML文档进行服务描述,服务请求和反馈结果,可以在 Internet上通过HTTP协议进行传递,很容易的被访问和返回结果。同时,由于Web Services的相关标准都是W3C的开放协议,与平台和操作系统无关,不同的平台和操作系统上的 Web Services的实现在很大程度上可以做到互操作,这就使异构平台上应用的集成变得很容易。此外,过去使用的基于远程过程调用(RPC - Remote Procedure Call, RPC)和程序编程接口(Application Programming Interface, API)的集成技术都是一种函数级的静态解决方案(即使它们在客户机和服务器通讯时使用 XML);Web Services则是一种动态的集成方案,所有的服务都可以通过UDDI标准动态地被发现、绑定和使用,容易适应系统的变动,提高系统的灵活性和伸缩性。
使用Web Services技术进行系统集成和过去使用其它面向函数和方法的技术进行集成类似:在进行初始设计的时候主要考虑不同应用之间,系统不同模块之间消息及数据传递的需求;根据具体需求设置相应的接口,描述接口特性;针对不同应用的平台选择相应的Web Services组件,进行相应设置;实现不同应用的接口,进行相应调试;实际运行,应用程序间进行协同调试。
使用XML以及Schema可以对网络授课平台间交换数据的格式进行定义,对交换数据进行有效性检验:
(1)XML作为网络授课平台间数据交换的工具。作为一种最通用的数据交换工具,它的优点不言而喻。XML语言规范对XML文档的结构进行了严密的、无二义的形式化定义,任何一个XML描述的文档在任何环境与平台下所表达的意义都是统一的。它能保证不同平台、系统间数据表示的一致性。
(2)XML Schema用于描述网络授课平台信息模型数据格式。信息模型共享需要以统一的方式对信息模型进行描述。XML Schema本身是一个XML文件,易于理解。同时,它包含了丰富的数据类型以及允许自定义数据类型等优点,成为信息模型描述语言。
Web Services作为一种分布式的计算技术,通过使用标准的XML协议和信息格式在Internet/Intranet上展现各种应用服务。
Web Services应用在网络授课平台中的主要优点:
(1)Web Services可以克服EJB、CORBA、COM/DCOM等传统组件技术间不能通信的缺点。Web Services接受和传递数据时使用XML作为数据格式,在任何平台上使用任何编程语言编写的程序(包括组件)都能调用Web Services,并且可以穿透防火墙进行交互,基于Web Services的模型共享保证了信息真正实现分布式共享。
(2)Web Services支持授课平台模型间的松散耦合。松散耦合——当一个Web服务的实现发生变更的时候,调用者是不会感到这一点的,对于调用者来说,只要Web服务的调用界面不变,Web服务的实现任何变更对他们来说都是透明的,甚至是当Web服务的实现平台从J2EE迁移到了.NET或者是相反的迁移流程,用户都可以对此一无所知。
本文在此针对现代网络授课的需求,结合目前已有的研究成果,并利用XML/Web Services技术提出了一个动态的授课平台(如图1所示)。
图1 基于XML/Web Servicess的网络授课平台模型
基于XML/Web Services的授课平台在逻辑上由5部分组成:表示层、Web Services层、应用服务层、数据集成层和数据层。Web浏览器与Web服务器之间通过HTML/XML来交换请求与响应信息,Web Services层与应用服务层之间通过SOAP来访问应用程序,应用服务层与数据集成层之间也是通过SOAP交换数据。
下面从逻辑上说明各层的功能:
(1)表示层。该层主要任务是将数据组装成可表示的格式,并提供访问,主要由Web浏览器组成。
(2)Web Services层。该层是模型的一个重要层次,主要由Web服务器和SOAP处理器组成。
(3)应用服务层。该层主要实现授课平台的业务逻辑。可分为教学资源Web Services和教学实施Web Services及教学辅助Web Services。
(4)数据集成层。该层主要是为了屏蔽授课平台所需数据的异构性。
(5)数据层。该层包含试题库、教学资源、教学管理和用户信息。
(1)实际应用的互操作性。此平台是基于 XML/Web Services的,所以它采用一系列的开放标准如UDDI、SOAP、HTTP等,基于现存的开放标准很大程度上消除了授课平台间的互操作问题。
(2)松散耦合,可扩展性好。传统的解决方案一般都是基于某一种特定的协议、开发平台甚至特定的开发语言,因而具有较弱的扩展性。而此平台通过底层的Web服务封装信息实体,不考虑信息实体的逻辑实现过程,以提供多个集成连接点,因而具有良好的可扩展性。
(3)灵活性。传统的解决方案需要点对点集成,因此一端在改变时必须告知另一端,这自然使集成变得非常生硬,也要花费开发人员大量的时间。而此平台是基于Web Services的数据集成,它是建立在发布服务的应用程序和使用服务的应用程序之间松散耦合的基础上,因此,此平台的数据集成非常灵活。
(4)动态性。Web Services通过提供动态的服务接口来实施一个动态的授课平台,然而传统的解决方案都是静态处理的。
本文只提出了一个动态的网络授课平台模型,起到抛砖引玉的作用。将来,在各授课平台之间调用Web Services是一种大趋势,如何更好的管理这些Web Services的流程以确保授课平台更有效的进行是一个有待解决的问题。
[1]ANIDO-RIFON L,FERNANDEZ-IGLESIAS M J,LLAMASNISTAL M.A Component Model for Standardized Web-Based Education.ACM Journal of Educational Resources in Computing.2001.
[2]Simon.St.Lanrent著,方舟工作室译.XML基础与应用[M].北京:中国水利水电出版社.2002.
[3]David C. Yen, Shi-Ming Huang, Cheng-Yuan Ku.The impact and implementation of XML on business-to-business commerce.Computer Standards&Interfaces[J] Volume24.Issue 4.September.2002.
[4]http://www.w3.org/TR/REC-xml Extensible Markup Language (XML) 1.0 (Second Edition).
[5]http://dev.firnow.com/course/3_program/java/javajs/2008830/138839.html.
[6]http://www.edu.cn/20031126/3094975.shtml.