基于CSCW和Intraweb技术的校园教研系统设计与实现

时间:2022-10-20 10:26:29

基于CSCW和Intraweb技术的校园教研系统设计与实现

摘 要:在教育信息化的影响下,为方便学校教师和学生开展各种教学及科研活动有个良好的支撑平台,在分析了Intraweb开发Web应用程序的实现机制的基础上,按照Intraweb技术的三层结构体系,综合运用了CSCW技术原理、数据库技术、Ajax技术,设计并实现了应用于校园网络的教研系统。整个系统的功能构成围绕着学校的教学和科研业务进行逻辑分析,依托于网络信息传输方便用户的交流,充分突出信息技术在教学与科研等活动中的优越性,使Web应用开发的先进技术以更新传统的系统。

关键词:Intraweb;CSCW;Web应用程序;校园教研系统设计

中图分类号:TP311.21文献标识码:B

文章编号:1004-373X(2008)24-071-04

Design and Implementation of Teaching and Research System Based on

CSCW and Intraweb on the Campus

OU Xunyong

(Qiongzhou University,Wuzhishan,572200,China)

Abstract:Under the influence of education informatization,in order to provide teachers and students with a platform for teaching and researching,on the basis of analysing Intraweb to develop Web applications,three-tiers architecture of Intraweb technology is used to design and implement Web-application system with CSCW,the database technology and Ajax technology,which is applied to the campus network.The whole system′s functions include teaching and researching.It makes facilitate users exchange information,and fully stress the superiority of the information technology in such activities as teaching and scientific research,etc.The advanced technology of network development to upgrade and update the old Web-application and platform is introduced.

Keywords:Intraweb;CSCW;Web-application program;campus′teaching and researching system design

1 引 言

信息环境下学校教育的手段丰富多彩,形式多样。教学资源和学习资源不断涌现,极大地提高了教师的教和学生的学的效果。学校内的很多行为方式都能实现电子化,如教学教案电子化、学习资源电子化、图书资料电子化、行政办公电子化等。也正是因为计算机和网络技术使得教育领域发生了很大的变化。

CSCW技术从兴起至今不过短短数十年,但其思想及技术成果影响深远。CSCW为计算机协同工作环境的英文缩写,它的行为表现机制着实让很多工作在异地分时协调完成地极有特色,工作效率也异常突出。CSCW在教育中开花结果,异彩纷呈。

在现今校园中可共享的资源比以前多地难以数计,因为现在的教师大都具备开发教学资源和学习资源的能力和具备利用多媒体技术服务教学的技能。然而在校园中很多东西都是以简单的共享方式存在,比如利用FTP服务来构筑共享存储或利用简单的网页共享资源。很少有统一管理调配的系统平台来进行处理。为此探讨利用Intraweb技术结合CSCW的思想开发一个应用于校园网络中,集教师的科研、教学以及学生的学习为一体的平台系统,统一管理和储存各种电子化的数据和调配使用各种教学和学习资源。以期让校园中有更多的行为活动在这样的一个系统平台中演绎出更多的结果来。

2 Intraweb网络应用开发的架构机制

Intraweb是Atozed Software公司设计开发的一个应用于Delphi环境的第三方组件,它是一个创建基于Web应用程序的具有革命性意义的新方法,缩减了开发Web应用的学习曲线。这与建立Web网站有很大的差异,它通过一个强大的HTML生成引擎,使开发者能够像开发图形窗口下的桌面应用程序那样方便、快捷,是真正的Web应用开发的RAD工具。其主要特点是:

(1) 完全支持所见即所得的开发特点,与标准的Windows程序开发过程几乎一模一样。只要在窗体上放置所需的可视化组件,运行程序,通过浏览器就可获得和设计时一样的网页效果;

(2) 用Intraweb开发Web程序可以不需要HTML,XML和Javascript等网站编程知识,没有复杂的学习曲线,当要是很好结合那些标记语言和脚本语言,会使Intraweb变得更加超级;

(3) 在Intraweb中集成了一个HTTP Server,可以方便地进行Web程序跟踪调试;

(4) 提供非常简单、直观的会话管理(Session)支持,开发者不需要像ASP那样要设计处理会话的数据管理;

(5) Intraweb 9.0后的版本完全支持Ajax技术,在Intraweb 9.0中用Ajax技术变得极为轻便和容易。

利用Intraweb开发Web应用完全支持三层架构的网络程序,其三层架构层次如图1所示。

客户端利用浏览器通过特定端口向Web服务器发出HTTP请求,紧接着Intraweb应用的服务器程序通过MyApp.exe直接访问数据库系统,同时Intraweb也提供了全面管理Web应用程序中的各项细节,如Cookies,Session及使用者的身份验证管理,协助开发人员快速开发与部署服务器端Web应用程序。Intraweb 9.0对各项细节数据的管理效率更高,减少了对内存的使用,并对退出的用户及时恢复内存开销。

Intraweb其实就是一个Web应用编程接口,就如同.NET架构,VCL,CLX和JDK通过“类框架”为开发者提供了更高层次的抽象,将开发者和低层的操作系统API隔开,Intraweb类框架也是更高一层抽象的接口,而HTTP,HTML和JavaScript就扮演着低层API的角色。Intraweb的目标是避免开发者访问HTTP,HTML和JavaScript,但是在需要时这种访问是被允许的,因为JavaScript可以加强Intraweb的灵活性、扩展Intraweb在客户端的开发。Intraweb 9.0以后的版本引进了Ajax技术,使得在B/S网络应用中很方便地使用异步通信方式,由Intraweb组件开发出来的Web应用,比在ASP或其他Web开发工具中使用Ajax更有优越性。

3 系统结构和功能分析

该系统作为一个资料管理平台,统一调配使用由教师、学生和其他工作人员提供共享的资源。系统的构成不单纯是一个信息管理系统。它能使所有使用者在该系统中为完成某一任务而协同工作,系统兼备了CSCW的环境特点。系统设计采用CSCW的构成原理围绕着学校教育活动中教师的教学教研任务、学生的学习过程等进行构筑,以期在资源共享的过程中协同完成一个相同任务实现共同的目标。

3.1 系统中CSCW的体系结构

该系统的CSCW体系采用集中式结构实现,系统的用户界面、通信接口、协调管理、数据共享、协同作业等按B/S模式的Web应用组织起来,将众多的模块子系统集中设置在服务器上。用户只要通过浏览器访问服务端,就进入了CSCW的其他子系统,根据自己的任务要求或目的很好地完成自己的作业。采用Web应用的B/S模式构筑这样一个CSCW环境系统,可以精简了客户端的软件安装繁琐之事,用户随时随地只要通过浏览器就能进入系统,极其方便。不需要考虑客户端的配置事宜。

3.2 系统的构成和相应功能

(1)登录子系统。

主要处理使用者的注册信息与登录进入系统的身份验证。用户的注册采用实名制注册方式,凡是申请注册进入本系统的用户,都必须将其真实姓名交由系统管理员录入实名信息数据库。采用实名制注册是为了更好地洁净网络空间,避免恶意者的无理取闹不健康的信息。同时也是将网络变成一个真实的空间。登录过程分为教师登录、学生登录和管理员登录3部分。不同身份的人员都各自有着不同的任务,进入系统后对使用系统的功能也就不尽相同。

(2) 教师模块子系统。

这个模块中可以实现教师的4种作业:学科资源建设、课程授课备课、课题组科研工作任务分配、教研室教研活动。教师与教师之间存在业务上的交往,同一个教研室的教师可以进行教学研讨,也可以组成科研课题组完成科学研究任务。教师与学生之间可以利用CSCW的同步和异步通信方式进行实时或非实时的交流学习、请教疑难问题。

(3) 学生模块子系统。

这个模块中实现学生的3种作业:学科作业与疑难求救、班级活动、协同学习。学生可以共享教师提供的学习资源,也可以分享其他学生的学习成果。利用CSCW的通信机制,随时随地实时或非实时地和教师或其他学生交流学习,解答疑难问题。

(4) 管理员模块子系统。

负责对整个系统的信息管理。在本系统中,所有用户的共享资源或信息,其他用户除了能够分享外不具有删除信息的权限。资源或信息的删除除了者外,再有的就是管理员。在此中管理员维护整个系统的信息是其最大的任务。它直接对后台的数据库管理系统拥有最大的权限。

整个系统结构组成及各部分功能分布如图2所示。

4 系统实现过程

本系统采用Web应用的B/S模式,分三层结构体系开发。后台数据库管理系统由MySQL 5.0数据库系统管理所有信息。基于Intraweb技术开发的Web应用,有两种模式:App Mode和Page Mode。对于AppMode来不需要配置服务器,它生成的是一个可独立运行的可执行程序。只要运行它,用户就可以利用浏览器进行访问,是一种便携式的Web服务软件。对于PageMode,利用Windows的IIS就可以实现。

4.1 数据库设计

系统的后台数据存储系统由MySQL 5.0承担,根据系统的业务表示,建立8个信息库,分别用于存储用户管理信息、课程资源管理信息、科研项目管理信息、教师教案管理信息、学生作业及疑难管理信息、教研室活动管理信息、班级活动管理信息、系统信息。其中除了用户管理信息库外,大部分信息库里包含的表是采用动态表,比如课程资源库,每建立一个学科就分配一个数据表用于存储教师对该学科建立或搜集到的学习材料。

4.2 创建Intraweb应用系统的框架

在Delphi 2007中利用Intraweb Application Wizard建立一个Web应用程序工程项目,选择为StandAlone Application模式,在工程项目资源管理器里就生成了一个基于Intraweb技术的Web应用系统的框架。它包含3种模块文件:服务端控制文件(ServerController)、用户数据管理文件(UserSession)和窗口页面文件。其中窗口页面文件可以根据开发的Web系统需要任意添加。一个窗口页面文件就是一张网页。服务端控制文件影响着应用程序的在全局范围中的动作及行为的属性,它也包含了能在应用程序定义的事件。并且在这里还可以方便地进行Session的管理。

使用Intraweb来开发Web应用,不需要对Session进行管理,Intraweb自动管理用户的Session数据,并且每一个登录用户的Session都是独立。Intraweb对用户的Session封装加密得很安全,几乎是不可预见的。这样一来使用Intraweb开发Web应用要比使用ASP等工具开发要先进地多。开发者只需重点考虑浏览器端的界面设计、系统业务逻辑功能和对数据库的安全访问就可以。

4.3 Intraweb和数据库的连接

Intraweb要访问MySQL 5.0数据库系统,使用了VCL组件SciBit MySQL,这是Delphi中专门访问MySQL数据库的VCL组件SciBit MySQL。这个VCL组件是开源免费的,在网络中可以随便获取。在UserSession文件中设置好数据库访问组件的相关信息,然后在窗口页面文件中引用UserSession单元就可以访问数据库中的数据。对于在窗口页面文件中通过编程来动态改变访问的数据库和数据表,其一般程序为:

TIWUsersession(webapplication.Data).MySQLServer1.DatabaseName:='数据库';

TIWUsersession(webapplication.Data).MySQLTable1.TableName:='数据表';

TIWUsersession(webapplication.data).MySQLServer1.Open;

TIWUsersession(webapplication.data).MySQLTable1.Open;

访问完数据库的数据,还要调用关闭方法Close关闭数据库的使用。

TIWUsersession(webapplication.data).MySQLServer1.Close;

TIWUsersession(webapplication.data).MySQLTable1.Close;

4.4 窗口页面的设计及美化

Intraweb的第三方组件工具包TMS为Intraweb提供了丰富的界面设计元素。使用这些组件可以很方便地构建Intraweb程序的交互界面。这在传统的Web应用开发中是无法比拟。根据系统的业务操作要求利用这些元素极方便地实现浏览器端的页面。另外,Intraweb还提供了一个组件IWTemplateProsessorHTML用于美化窗口页面。它可以将其他工具如Dreamweaver等设计的美观页面,替换掉原来的页面,得到美观的效果。

4.5 窗口页面间的数据传输

在系统中存在2类数据:一是用户内部的数据;一是用户间的数据。为了使用户内部的数据安全,并在不同的页面间使用,将有关的变量定义在UserSession单元中,Intraweb对每个登录用户分配一个独立的空间存放这些数据,它们相当于是用户的全局变量数据。而用户之间的实时数据就通过MySQL来完成交换传输。在传统的Web中实时数据传输要经常刷新页面,那么浏览器就要经常执行刷新动作,这样会增加网络负担,很不利于使用。然而Intraweb 9.0以后的版本添加了Ajax技术,对实现异步数据传输变得容易。系统中的在线学习交流、网络会议、网络聊天等功能就可以利用Ajax技术实现。

4.6 为系统服务端自动设置本地IP地址

利用Intraweb的AppMode模式开发的Web应用,编译生成的是一个便携式程序,可以随意拷贝在一台普通电脑上运行。浏览器通过IP和Port访问这台电脑就可以进入Web系统。但这里碰到一问题,那就是每当将程序转移到别的电脑上时都要重新设置IP地址,比较麻烦。为了使系统真正成为移动式Web系统,可以为Web应用系统设置自动获取本地IP地址的功能。具体实现代码如下:

function GetLocalIP: string;//得到本机IP地址

…//变量声明

begin

WSAStartup(MYM101,GInitData);

Result := '';

GetHostName(Buffer,SizeOf(Buffer));

phe := GetHostByName(Buffer);

if phe = nil then Exit;

pptr := PaPInAddr(phe^.h_addr_list);

I := 0;

while pptr^[I] nil do begin

Result := StrPas(inet_ntoa(pptr^[I]^));

Inc(I);

end;

WSACleanup;

end;

5 结 语

该系统用Delphi 2007开发工具,Intraweb 9.0.17版本,后台数据库系统为MySQL 5.0。系统的界面操作简单、方便、交互性强。系统的数据传输分为实时数据传输和非实时数据传输,方便使用者通过多种方式和其他用户交流。能够将校园网络的各种电子化资源统一存储管理、调配、使用。用户可以随意提供自己的共享资源并享有维护权。

参考文献

[1]张炜,唐慧强.基于Intraweb的B/S架构的开发[J].计算机应用与软件,2004,21(6):104-105.

[2]曹刚,施荣华.一种基于IntraWeb远程数据存取系统的设计方法[J].信息技术,2003,27(7):35-37.

[3]王东.Intraweb开发框架体系结构剖析[J].佛山科学技术学院学报:自然科学版,2004,22(3):40-43.

[4]周丽莉,赵红芳.基于CSCW的网络教学系统的设计与实现[J].计算机工程与设计,2007,18(11):2 759-2 761.

[5]蓝芳华,李振坤,傅秀芬.基于CSCW的办公自动化系统[J].计算机工程与设计,2006,27(8):1 509-1 511.

[6]冯中明.基于CSCW的现代远程教育系统的研究[J].福建电脑,2007(2):158-159.

[7]王春枝,周巍.CSCW在远程教育中的应用研究[J].计算机技术与发展,2006,16(6):54-56.

[8]曹福凯,裴未迟,沈宏.基于CSCW的高校办公自动化系统的设计与研究[J].河北能源职业技术学院学报,2006,21(4):66-68.

[9]袁占亭,张秋余,王立鹏.基于Web Services技术的CSCW模型研究[J].微计算机信息,2006(22):79-81.

[10]黄国言,孙惠学.基于协同工作(CSCW)下的组群通信模型[J].大连理工大学学报,2005(10):33-36.

[11]师洪,崔云春,胡北军.基于Intraweb的可视化Web开发研究[J].玉溪师范学院学报,2005(3):38-40.

作者简介 欧训勇 男,1976年出生,海南陵水人,硕士,讲师。研究方向为信息管理与信息系统、计算机三维图形的编程。

上一篇:基于DSP的高速外扩存储器的设计 下一篇:基于CPLD的大屏幕扫描电路设计