摘要】 本文通过分析COM/DCOM组件技术以及Web-based交互式多媒体教学软件的特点,提出了基于组件技术的Web-based多媒体教学软件模型,并着重讨论了COM/DCOM技术在实现Web-based多媒体教学软件中的多媒体信息整合、时基媒体同步控制、教学策略管理中的应用,最后简单介绍了利用COM/DCOM技术对多媒体教学光盘的Web化。
【关键词 】 组件技术;COM/DCOM;ActiveX;多媒体
组件技术是近年发展起来的一种优秀的软件重用技术。采用组件开发软件就像搭积木一样容易,组件是具有某种特定功能的软件模块,它几乎可以完成任何任务。目前,主要的组件技术有COM/DCOM、CORBA和JavaBean几种。随着网络技术的发展,组件技术在应用程序开发和Web信息发布中得到广泛的应用。同时,也为Web-based交互式多媒体教学软件的开发提供了一个崭新的技术手段,尤其是在实现Web多媒体信息整合、时基媒体的同步控制、教学交互等方面。可以说,组件技术在网络中的应用是对面向静态媒体为主的HTML置标语言的一个有力的补充,也是开发高质量的Web-based交互式多媒体教学软件优选的解决方案。考虑到国内计算机教育应用的特点及水平,下面以微软的COM/DCOM组件技术为基础,探讨其在Web-based多媒体教学软件开发中的应用。
一、COM/DCOM组件技术
COM/DCOM组件技术是由Microsoft公司与DEC公司于1995年提出的,COM代表Component Object Model(组件对象模型),而COM代表Distributed Component Object Model(分布式组件对象模型)。COM模型用于异质网络和操作系统中创建、使用和加入可重复使用的组件对象,理论上,这些组件对象可以互相通讯与交互,而与它们的语言、分布及原始平台无关。COM规程包括一套标准API、一个标准的接口集以及COM用于支持分布式计算的网络协议。而CO模型则是一套用于分布式环境中的COM对象,在DCOM环境中,位于一个网络上的COM对象能与位于另一个网络上的COM对象进行通信。为了便于理解,可以把COM看作是某种(软件)打包技术,即把它看作是使软件的不同部分按照一定的面向对象的形式,组合成可以交互的过程和一组支持库。COM对象可以用C++、Java和VB等任意一种语言编写,并可以DLL或作为不同过程工作的执行文件的形式来实现。使用COM对象的客户端,无需关心对象是用什么语言写的,也无需关心它是以DLL、还是以另外的过程来执行的。
ActiveX则是Microsoft遵循COM/DCOM规程而开发的用于Internet的一种对象链接与嵌人技术(OLE)。ActiveX是从复合文档技术OLE成长起来的。OLE最初发布的版本,只是瞄准复合文档,但在后续版本OLE2中,导入了COM。COM是应OLE设计者的需求而诞生的。其基本的出发点是想让某个软件通过一个通用的机构为另一个软件提供服务。对于Web-based应用而言,它提供了使组件嵌入到Web页面以扩展交互功能的应用机制。
二、Web-based多媒体教学软件的结构及特点
为了对Web-based交互式多媒体教学软件的结构及特点有一个清晰的认识,首先分析一下传统教学软件和多媒体教学光盘的结构特点。在这里所说的传统教学软件主要是指CAI发展初期用高级语言编写的基于字符界面的框面式CAI教学软件。传统教学软件和多媒体教学软件在结构上基本上是封闭式的。一个软件主要由教学内容、教学策略管理逻辑及用户界面几个部分封装而成,软件的用户对象面向个人,以实现个别化教学为主,师生间无法实现通讯,如图1所示。
图1 传统教学软件和多媒体教学光盘的结构
尽管借助于一些多媒体教学网络,实现了教学信息的广播,但限于网络带宽的原因,在这种教学环境下的教学信息传播以单向为主,缺乏真实的交互环境,难以实现师生间的双向交互。目前,大部分学校在网络环境下应用这类教学软件的主要形式也只是以课堂演播为主,如进行一些电子板书、操作演示、情景创设和过程观察等。这类软件在设计上大多没有考虑到网络应用的问题,如向学生提供网络通讯的操作界面等。Web-based交互式多媒体教学软件主要是由HTML语言描述,通过Java、Javascript、Browser Plug-ins、ActiveX等技术来实现交互功能的网络教学软件。这类教学软件较好地实现了教学信息的网络通讯和学习者间的学习通讯问题,在网络环境下具有良好的自适应性。其结构如图2所示。
Web-based交互式多媒体教学软件在结构上与传统的教学软件不同,软件吵的教学内容、教学策略逻辑、交互界面几个部分可以分布在不同的主机上,具有分布处理的能力,它们相互间通过TCP/IP协议进行通讯。学习者根据自身的需要,可对教学内容与教学策略逻辑进行挑选与重组,以实现学习的个性化。并且,学习者在学习的过程中可以通过E-mail、BBS、电子白板等手段很方便地与教师或其他同学进行讨论与协作。
图2 Web-based交互式多媒体教学软件的结构
三、基于COM/DCOM的Web-based多媒体教学软件的软件模型及特点
根据Web-based交互式多媒体教学软件和COM/DCOM组件技术的特点,可建立图3的软件模型视图。在这一模型中,Web-based交互式多媒体教学软件在逻辑视图上可划分为三层:教学内容层、教学策略管理层和学习者交互层。其中:
(1)教学内容层包括集成了各种媒体信息的Web资源;
(2)教学策略管理层包括教学管理逻辑代码,由组件来实现,组件间的通讯则通过接口实现;
(3)软件可在支持TCP/IP协议的Intranet/Internet下运行,交互界面以Web浏览器为基础;
(4)教学内容、教学策略管理、交互界面各层间通过网络进行通讯、相互调用;
(5)教学内容和教学策略管理逻辑代码可分布于网络的不同主机;
(6)教学内容层的Web资源和教学策略逻辑代码层的组件是一种可供共享与重用的对象;
(7)软件可根据不同的教学目的在教学内容层与教学策略逻辑代码层进行软件的重组,有很强的适应性;
(8)由于DCOM组件具有分布处理能力,基于这一模型构建的软件能在低配置的机器环境(即“瘦”型客户机)虽运行,所以特别适合基于校园网、Internet的各种远程教学、协同学习。
图3 基于COM/DCOM的Web-based多媒体教学软件的结构视图
四、Web-based多媒体教学软件的技术实现
COM/DCOM组件技术是从微软件的OLE发展起来的一种软件重用技术,采用的是面向对象的广泛,支持面向对象的各种特性。对拥有OLE基础的人而言,掌握COM/DCOM并不难,特别是微软提供了一个极好的工具――活动样板库ATL(Active Template Library),可用来创建DCO和MCOM对象。通过ATL COM AppWizard,Visual C++可生成大多数后台处理代码,如代理和存根模块代码,创建必的要COM类。通过ATL Object Wizard,你可以选择要插入的COM对象类型,配置对象的属性,如线程模型、界面类型,然后由该Wizard根据你的配置生成C++代码。,Microsoft的开发工具是高度可视化和高度自动化的。许多工作都是自动完成的,因此不用知道多少具体的技术细节就能很容易地进行开发。特别是随着ActiveX控件的推广,ActiveX控件的开发工具也逐日增多。由于ActiveX不依赖于语言,所以常见的可视化开发工具基本上都能构筑、配备ActiveX控件。最常用的有VisualC++、Delphi、Visual Basic和Visual J++等。
下面就如何利用COM/DCOM组件实现Web-based多媒体教学软件中的多媒体信息整合、时基媒体同步控制、教学策略管理等功能作一探讨。
1.多媒体信息整合。尽管HTML提供了一些针对在WEB页内嵌入多媒体对象的符号,如HREF、IMG、EMBED等,但相对一个交互式的多媒体教学软件而言,这些符号所能支持的多媒体对象是远不能满足要求的。如果通过ActiveX技术,便可以大大增强WEB对不同类型的多媒体信息的整合能力。例如,通过ActiveMovie控件在Web中嵌入一段MPEG电影:
<OBJECT ID=”ActiveMovie”WIDTH=160 HEIGHT=120 CLASSID= “CLSID:05589FA1 –C356—11CE—BF01—00AA0055595A”>
<PARAM NAME=”FileName” VALUE=”myMPEG. Mpg”>
<PARAM NAME=”AutoStart” VALUE=”1”>
<PARAM NAME=”ShowControls” VALUE=”1”>
<PARAM NAME=”ShowDisplay” VALUE=”0”>
</OBJECT>
又如,使用Shockwave的ActiveX控件把Director交互电影嵌入到HTML文档中:
<OBJECT classid=”clsid: 166BIBCA—3F9C—11CF—8075—444553540000”
codebase =http://downloal.macromedia.com/pub/shockwave/cabs/direetor/sw.cab#version =6,0,0,0ID=credits WIDTH=496HEIGHT=308.
<PARAM NAME=src VALUE=”Movies/test.dcr”>
</OBJECT>
2.时基媒体的同步控制。由于HTML是一种面向静态媒体的置标语言,依靠TML语言本身是无法使Web上的多媒体达到同步化的。尽管环球网协会W3C已在1998年6月发布了同步化多媒体集成语言SMIL,但在目前SMIL还没有得到广泛支持的情况下,要实现与时间有着强烈依赖关系的时基媒体的同步控制,例如要在Web上同步回放图、文、声、像各种媒体元素,还得依靠现有的编程技术来完成。借助于组件技术,可以把时基媒体的回放程序编译成一个AcitveX播放器,然后通过把这一播放器控件嵌入到Web中从而实现对时基媒体信息的控制。
3.教学策略管理。通过组件技术,可以对学习者的学习信息进行跟踪记忆、实施学籍管理、提供学习路径及建议、进行教学评价等教学策略管理。其基本思想是:通过VC、VB、DELPHI等可视化编程环境,把复杂的教学策略管理代码封闭成ActiveX控件,然后把它嵌入到web中,通过这些控件来采集学习者的学习信息,并把采集到的数据如学习内容、学习进度、评价效果等保存到数据库中,通过对这些数据的进一步分析处理,动态响应学习者的交互操作,并建立起学习者的学习模型,从而实现教学的智能化和学习的个性化。
五、多媒体教学光盘的Web化
多媒体教学光盘具有丰富的多媒体信息、复杂的教学策略管理代码。所以,要实现多媒体教学光盘的Web化要解决:(1)多媒体信息的Web整合;(2)教学策略管理代码的ActiveX组件化;(3)多媒体素材的压缩处理等几个方面。多媒体信息的Web整合,可以通过FrontPage、Hotdog等网页制作工具完成,其中HTML不直接支持的媒体可以通过插件、ActiveX(针对IE)等技术实现,如要在网页中整合Director交互动画,可通过Macromedia Director Movie Control把Director电影整合到网页中去;教学策略逻辑代码可通过流行的可视化编辑工具如VB、VC++、DELPHI等重写,然后生成ActiveX控件,最后嵌入到网页中去,从而实现教学策略控制;而多媒体素材的压缩处理,可以采用Shockwave for Director、Shockwave for Audio、Flash Movie等技术对现有素材的加工处理,然后通过支持压缩素材回放的ActiveX Player实现其在Browser中的回放。值得一提的是,Windows98已在系统中内置了Shockwave for Director、Flash Movie两种交互动画的ActiveX回放组件,大大方便了Web-based交互式多媒体教学软件的制作。
六、结束语
在以组件式软件(ComponentWare)为导向的软件开发大潮中,COM/DCOM组件技术良好的技术继承性、众多的构筑工具、对网络通讯的彻底支持为开发灵活、功能强大的Web-based交互式多媒体教学软件提供了强有力的技术手段。日益信息化、网络化的社会呼唤智能化与网络化的教学软件,在教学软件迈向网络化与智能化的过程中,COM/DCOM组件技术将以软件技术的DNA这一形式推动着教学软件开发技术的飞速发展。