CORBA分布式技术在基于Web的网络教学平台中的应用

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:WarmAir1982
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:在分析分布式体系结构及其特点的基础上,利用Delphi对CORBA技术及Web应用系统开发的支持,将CORBA技术应用于网络教学平台的开发,实现了分布式多层Web应用系统,提高系统的稳定性、延展性和执行效率,解决了大型Web应用系统中存在的负载瓶颈问题。
  关键词:CORBA;Delphi;分布式Web应用系统
  中图分类号:G434文献标识码:A文章编号:1009-3044(2008)36-3038-03
  Applying CORBA Distributed Technique to the Network Teaching System Based on Web
  LI Xin-xiao
  (Department of Electronic and Computer Science, Guilin University of Technology, Guilin 541004, China)
  Abstract: Based on the analysis of the distributed architecture and its characteristic, this paper presents the design and development of a network teaching web application system using CORBA technique which is supported by Delphi. By adopting distributed architecture, we can improve the stability, tractility and processing capability of the system, and also can solve the burden bottleneck problem in large web application systems.
  Key words: CORBA; Delphi; distributed web application system
  1 引言
  随着网络技术的发展及计算机的普及应用,网络教学作为一种可以突破时间和地域限制的教学手段,对传统教学起到了较好的辅助教学效果,发挥了越来越重要的作用。在国内外,很多学校都建立了校园网,并开发远程教学平台,为师生提供教学资源发布、教学点播、交流互动、在线测试等服务。随着宽带网络的应用,对于运行在校园网之上的教学平台,网络速度已经不是影响教学平台使用的关键因素。随着网络教学平台提供服务的多样性、丰富性、功能复杂性的提高以及教学平台本身具有的终端用户数量庞大等特征,特别是教学系统向智能化发展后,增加了智能组卷、在线测试、测评结果分析、试卷质量分析、教案生成等应用服务,这些应用服务的实现涉及的数据量大、算法复杂,执行起来比较耗费资源。因而,应用服务器的性能与负载能力成了网络教学平台应用的瓶颈,当同时访问系统的用户量增加到一定规模,应用服务器超负载运行,教学系统的执行效率就开始明显的下降,甚至导致系统崩溃。所以需要使用更具延展性的分布式结构来克服服务器的瓶颈问题,将应用均衡分布在多台服务器上,实现负载均衡,提高系统的可靠性和保障系统的执行效率。
  2 CORBA分布式技术概述
  目前分布式体系结构使用的核心技术主要有三种:Microsoft 的COM/DCOM 技术、SUN 的EJB 技术和OMG的CORBA(Common Object Request Broker Architecture)。这三种分布式技术各有优缺点,但总体而言,在集成性、互操作性、开放性和成熟度方面,CORBA较优于其他两者。
  CORBA是由OMG提出的应用软件体系结构和对象技术规范,其核心是一套标准的语言、接口和协议,以支持异构分布应用程序间的互操作性及獨立于平台和编程语言的对象重用。CORBA体系主要由ORB(Object Request Broker)、对象服务、公共设施、领域接口及应用对象等组成。其主要特点是:1) 引入中间件作为事务代理;2) 实现客户与服务对象的完全分开;3) 提供总线机制,使得软件只要符合接口规范的定义,均能够集成到分布式系统中;4) 采用面向对象的软件实现方法开发应用[1]。
  Delphi支持CORBA标准,并为分布式应用程序开发提供了优良的环境,其Object Pascal的CORBA IDL 编译器还可以让Delphi的客户端应用程序和UNIX/Linux的CORBA服务器沟通[2]。Delphi提供了符合CORBA规范的产品VisiBroker,其实现了CORBA中的ORB核心技术,它包含了一些非常重要的应用程序,其中OsAgent提供CORBA对象搜索的功能;OAD提供了注册CORBA对象及自动地维护所有注册CORBA类别信息的功能;IREP维护接口库从而可以使用DLL的方式调用CORBA对象。这些应用程序提供了基本的CORBA支持机制,简化了CORBA多层分布式应用系统的开发[3]。
  3 CORBA在网络教学平台中的应用
  3.1 系统设计概述
  运行在校园网上的网络教学平台采用支持CORBA分布式体系结构的Delphi工具开发。系统使用面向对象的方法进行分析和建模,利用Delphi提供的WebBroker和InternetExpress组件对网页动态功能和数据更新的支持,开发出Web应用模式的分布式网络教学平台系统。并将CORBA技术与多层架构相结合,使用CORBA对象封装业务逻辑及数据处理,分割表示逻辑、企业逻辑和数据逻辑,实现了客户端Web应用程序、应用程序服务器、数据库服务器的多层分布式体系结构。系统实现了教学资源发布、教学点播、知识库维护、教学交流、在线测试等一系列教学辅助功能。这里以教学点播子系统中的在线测试模块的实现过程来说明采用CORBA技术开发分布式Web应用系统的方法。
  3.2 系统结构
  基于Web的分布式网络教学平台系统结构如图1所示。
  
  图2 用户选择测试知识点请求试卷生成页面
  
  图3 在线测试模块组件图
  数据库服务器:使用SQL SERVER 2005构建,主要接受应用服务器的数据查询和数据操作请求,并将数据查询或操作结果返回给应用服务器。
  CORBA应用服务器:主要实现系统中的各种业务逻辑,将组卷算法、知识搜索、试卷评分及一些数据查询、数据操作的公共数据处理封装成企业对象,在应用服务器上发布,由客户端应用程序即Web应用程序进行调用。
  客户端应用程序(Web服务器):主要接受客户机的HTTP请求,并根据请求实现Web页面上的动态的数据显示,调用应用服务器的CORBA对象完成业务处理,对操作流程进行控制和对错误信息进行判别等。
  客户机:即用户使用浏览器,对Web服务器的页面进行浏览或输入数据,使用系统功能。
  整个系统的运行处理过程为:由用户在远程从Web页面上发出请求,触发客户端Web应用程序的Action事件,Action先在应用程序客户端进行必要的数据处理,然后根据用户的具体请求,通过Smart Agent与服务器端对象通讯,把处理的要求和相应的数据提交到服务器端,服务器端完成用户请求后,把处理的结果反馈回Web服务器,最后,再把Web应用程序处理的结果页面回传给客户机。
  3.3 CORBA应用服务器开发
  创建Application应用程序,加入CORBA数据模块,在数据模块中加入TDatabase 控件,用于链接SQL Server中的网络教学平台所用的数据库,加入所需的TQuery和TCommand等DataSet控件,用于进行数据库查询及获取查询结果记录集,或执行数据的添加、删除和修改操作。加入TDataSetProvider 控件,设置DataSet属性为相应的DataSet控件。
  在应用程序服务器中再创建其他的CORBA对象,并建立方法,编写方法代码,将组卷算法、知识搜索、试卷评分及一些数据处理等代码分别实现为各对象的方法,这样就利用CORBA对象实现了业务逻辑的封装。在编写企业对象时,可以先用向导创建CORBA对象,产生对象的骨架程序代码后,再给对象提供客户端调用的方法及可以存取的属性。创建CORBA对象的方法为:在菜单中选“View”中的“Type Library”,选择“New”的“Method”,给方法命名,系统便创建了一个新方法并产生该方法的框架代码,在此基础上编写该方法的程序代码,实现方法的功能。如在本系统中,创建了OnlineTest CORBA对象,实现了findQuest(试题查找),giveMark(评分),createQuest(生成试题),createPaper(组卷)等方法,供客户端应用程序调用。
  3.4 客户端应用程序(Web应用程序)开发
  新建一个Web应用程序(Web Server Application),在该Web数据模块中加入TCORBAConnection控件,设置RespositoryId 属性值为以上所建立的CORBA服务器中的CORBA对象,用于连接CORBA 应用程序服务器。加入TClientDataSet,其RomoteServer 属性的值为TCORBAConnection 组件;其 ProviderName 属性的值为应用程序服务器中TDataSetProvider 组件,用于从服务器获取数据结果。
  对于Web页面的开发,可利用Delphi对Web和电子商务的开发支持,使用InternetExpress提供的TMIDASPageProducer 组件获取数据信息或程序处理结果,将它们显示在该组件指定的页面上,也可从TXMLBroker组件取得以XML封装的数据,产生以XML格式封装的页面内容。通过使用TMIDASPageProducer 等InternetExpress组件,集成用DREAMWEAVER等工具设计的样板HTML页面,以及内嵌的JavaScript脚本语言,进而汇整成一个有效的动态Web页面。图2为用户选择测试知识点进行试卷生成请求的页面。
  Web应用程序接受用户请求调用服务器的CORBA对象服务,主要是通过创建Action来实现的。用户通过Web页面发送請求后,应用程序相应的action事件被触发,action根据用户要求,调用服务器端的CORBA对象的方法进行业务处理。以下为应用程序根据用户请求,调用了服务器的OnlineTest CORBA对象的createpaper方法实现试卷生成的action事件代码。
  procedure TWebModule1.WebModule1cs_zhscsjAction(Sender: TObject;
  Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
  var
  st_html: OleVariant;
  begin
  DYCS:=TOnlineTestCorbaFactory.CreateInstance(’’);//建立一个CORBA对象。
  textlist:=Tstringlist.create; // 用于存放返回HTML页面的字符串
  st_html:=’’;
  DYCS.createpaper(request.contentfields.values[’sjbh’], st_html); //调用OnlineTest CORBA对象的createpaper方法实现了试卷生成功能,在此调用该方法生成选中的试卷,返回的试卷的HTML字符串
  textlist.add(st_html);
  mppcy.htmlfile:=sstr ’jxdb\zhcs\ttsj.htm’;
  response.content:=mppcy.content;
  end;
  在线测试模块的组件图如图3所示。
  ServerModule.pas 提供的是Corba_server的数据模块,xscy_method.pas实现的是OnlineTest CORBA对象,它们都是CORBA对象的pas源代码文件;Corba_server.exe是应用程序服务器,包括了上述两个pas文件,即两个CORBA对象。Corba_server.idl和Corba_server_TLB是实现CORBA连接的基础文件,分别由系统自动生成。client_pro.pas是实现浏览器与应用程序接口的源代码文件,client_pro.exe是其编译之后的执行程序。
  
  4 结束语
  利用Delphi对CORBA分布式技术及Web应用系统开发的支持,结合Delphi提供的强大的数据库应用开发工具,可以有效的开发出完备的基于Web的多层分布式系统,将表示逻辑、业务逻辑及数据逻辑进行分割,并可将业务逻辑封装成企业对象,利用负载平衡策略,在多台应用服务器上实现业务处理的负载平衡。随着应用程序业务逻辑复杂性的提高及需求的扩展,利用多层分布式技术可以增强系统的灵活性和开放性,提高系统运行效率,较好的解决应用服务器负载瓶颈问题。
  
  参考文献:
  [1] 飞思科技研究中心.Delphi 7组件与分布式应用开发[M].北京:电子工业出版社,2003.
  [2] 李维.Delphi分布式多层应用系统篇[M].北京:机械工业出版社,2000.
  [3] 黄汝维,陈宁江,苏德富.Delphi中三层结构与CORBA的应用研究[J].计算机应用研究,2002(8):94-96.
其他文献
【关键词】难文浅教,语文要素,练习系统  统编教材中有不少课文内容较难,学生不易理解,写作时代离学生久远,如五年级上册的《白鹭》,六年级上册的《丁香结》《好的故事》等。  陈先云曾针对这一情况特别指出,“选人教科书的文章应该有一定的思维价值,要符合学生的最近发展区,学生经过思考或教师指导就能够读懂”“教師要根据学生的学习情况、认知水平和发展需要,把教科书中对学生来说最有价值的学习内容提炼出来,教学
摘要: 该文介绍了Lotus Domino/Notes与关系型数据库的一种通用连接方法。通过在浏览器端的动态配置,提取关系型数据库中的数据,可以协助开发人员或系统管理员在WEB方式下实时地发布信息。  关键词:动态接口;Lotus Domino/Notes;RDBMS;ODBC  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)27-1879-02  The Desig
摘要:阐明了基于Web数据库的交互式电子技术手册的研究意义;然后以美国国防部MIL-HDBK-511标准为参照,采用asp技术和ODBC接口相结合的方法来设计和访问Web数据库,提出了设计和实现基于Web数据库的交互式电子技术手册的具体方法,在交互式电子技术手册技术向网络化发展做了一些探讨工作。  关键词:交互式电子技术手册;Web数据库;对象封装  中图分类号:TP311文献标识码:A文章编号:
摘要:介绍了数字签名背景、签名体制的形式化描述以及两个特殊的数字签名方案。对如何用RSA实现盲签名和多重数字签名方案进行了研究,分析了两种具体方案实现的安全性。最后总结了这两种特殊数字签名实现过程中算法设计的优劣。  关键词:数字签名;RSA;盲签名;多重签名  中图分类号:TP316文献标识码:A文章编号:1009-3044(2008)35-2095-02  Two RSA-based Spec
摘要:本文从介绍企业网站的web使用挖掘的意义入手,着重分析了web使用挖掘的数据源,探讨了Web使用挖掘的常用技术,以及Web 使用挖掘的过程,企业网站的Web使用挖掘应具备的功能。  关键词:企业网站;web使用挖掘;数据源;信息获取  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)30-0534-02    Web Usage Mining ofEnterpri
“简史”之难为在于概略而难述精妙,尤其是对另一种语言文化下的文学作品,要将其千百年的历史浓缩为一卷,殊为不易。对英美文学的研究除了要概括出其特点和发展过程外,更要进一步认识到文学作品作为一种思维方式和价值观最集中的表现以及给世界带来的深远影响。由蒙雪梅等主编的《英美文学史及选读》一书,是随着国内英美文学作品的出版数量和读者人数增加而出版的一本指導性知识图书。在研究课题“毛南族特有文化遗产的保护与数
摘要:该文来源自2008年度浙江省教育科学(高校)规划研究课题——高职院校《Photoshop》课程项目化教学的研究与实践,文章论述了项目化教学的相关概念,对课题单位金华职业技术学院信息工程学院对《Photoshop》课程开展项目化教学的研究与实践过程进行了论述,为同类课题的研究提供了参考。  关键词:高职; 项目化教学; Photoshop  中图分类号:TP317.4文献标识码:A文章编号:1
长时间以来,写作教学设计一直是语文教学的难题,日常写作教学设计大都粗疏,写作教学品质不高。近年来,尽管统编教材设置了写作专题,但写作教学设计仍然呈现定型化趋势,即按照“写作知识 学生写作”的套路进行。抽象、符号化的知识无法深化学生的思维,无法激活学生的表达潜能,对于学生完成具体的写作任务帮助不大。学习者是带着已有的特定行为倾向来面对学习环境和新的学习任务的,每一位学习者的特征蕴含着不同的教学设计含
摘要:近年来,我国高职软件技术教育蓬勃发展,为国家建设和地方经济发展培养了大量高素质技能型专门人才,同时,软件技术专业的课程存在竞争力缺乏、教学模式相对陈旧等问题,已经不能适应经济和社会发展的需要。本文参考国际软件专业教育或培训的方法,探讨在工学结合人才培养模式下的软件技术专业课程改革与整合。  关键词:工学结合;软件;职业教育;课程改革与整合  中图分类号:G434文献标识码:A文章编号:100
摘要:Ad Hoc网络是一种特殊的多跳移动无线网络,它不需要任何预先设置的固定设施就可组网。由于其组网方式的灵活,使得其存在着较大的安全隐患。根据Ad Hoc网络的特点,分析其面临的各种安全漏洞,并提出了几种Ad Hoc网络的安全策略。  关键词:Ad Hoc Network;自组织网络;网络安全;安全机制  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)34-160