基于Web Service的系统集成技术在网络教育平台中的应用

2024-03-28 05:30

本文主要是介绍基于Web Service的系统集成技术在网络教育平台中的应用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

基于Web Service的系统集成技术在网络教育平台中的应用
王宇 才国清 王兴伟
  摘要:Web Service是Internet上新兴的应用通信和集成技术,本文先简单介绍了XML和Web Service技术,然后着重讨论了基于Web Service的系统集成技术的特点和优势,以及通过实际的开发实例介绍了基于Web Service的系统集成技术在网络教育平台实现中的应用。
  
  关键词:Web Service;系统集成;网络教育平台

  System Integration Technique Based on Web Service and its Application in E-education Platform Realization

  【Abstract】Web Service is a new technique for communication and integration of applications on Internet. In this article there’s a view of XML and Web Service, and a discussion about the characters and advantages of system integration technique based on Web Service. By actual developing samples, I show how to use system integration technique in E-education platform realization.

  【Key words】Web Service;System Integration;E-education Platform

  1 引言

  随着信息技术与网络技术的发展和普及,基于Internet和Intranet的网络教育蓬勃发展;网络教育作为一种崭新的远程教育方式逐渐运用到实际的教学活动中,成为“数字化校园”重要的组成部分。

  作为网络教育的后台支持系统,网络教育平台也得到相应的发展,出现了很多成型的系统和实际产品,它们基本上实现了网络教育平台需要的三个基本系统——课程及教学资料开发系统,教学支持系统(同步教学和异步教学)和教学管理系统[1]。但是,纵观现有的网络教育系统和产品,一定程度上存在着一些不足:教学和交互方式比较单一,不同的教学和交互子系统很难集成在一起,大多处于相对分离的状态;缺少通用的数据编辑和保存形式,不同操作系统和数据库平台上的子系统很难交互和共享数据;缺少有效的模块集成手段,基于不同平台的模块很难集成,系统的扩展性和伸缩性比较差。

  现有的网络教育平台的这些缺陷,在很大程度上与现有的系统集成技术的缺陷有关。针对现有网络教育系统和产品的不足之处,我们在实际的网络教育平台的设计和开发过程中,采用基于Web Service的系统集成技术,处理系统模块间控制和数据的集成,很大程度上提高了系统数据的通用性,降低了模块间的耦合程度,从而提高了网络教育系统的扩展性、伸缩性和兼容性,便于系统分担负载,提高网络教育系统的服务质量。

  2 XML及Web Service

  XML(eXtensible Markup Language,可扩展标记语言)是Internet上数据表示和数据交换的新标准。它是ISO(International Organization for Standardization,国际标准化组织)的SGML(Standard for General Markup Language,通用标记语言标准)的一个简化子集。XML关注信息本身,是Web上表示结构化信息的一种标准文本格式。与传统的注重页面信息显示的HTML(Hypertext Markup Language, 超文本链接标示语言)相比,关注于内容的XML具有以下诸多优点[5]:良好的可扩展性,语言简单有效,可自行定义标记;内容与形式的分离,主要刻画数据内容,不考虑显示效果;有严格的语法要求,便于分析统一和与数据库信息转换;便于传输,为纯文本形式,可通过Http协议直接传输,可跨越防火墙;等等。XML的出现和发展对于Internet和Intranet产生了巨大的影响。
  
  在XML基础上发展起来的Web服务(Web Service)是一种革命性的分布是计算技术。它使用基于XML的消息处理作为基本的数据通讯方式,消除使用不同组件模型、操作系统和编程语言的系统之间存在的差异,使异类系统能够作为计算网络的一部分协同运行。开发人员可以使用像过去创建分布式应用程序时使用组件的方式,创建由各种来源的Web服务组合在一起的应用程序。由于Web服务是建立在一些通用协议的基础上,如HTTP(Hypertext Transfer Protocol, WWW服务程序所用的协议),SOAP(Simple Object Access Protocol,简单对象访问协议),XML,WSDL(Web Services Description Language,Web服务描述语言),UDDI(Universal Description,Discovery,and Integration,通用描述发现和集成协议)等,这些协议在涉及到操作系统、对象模型和编程语言的选择时,没有任何倾向,因此Web服务将会有很强的生命力。关于Web服务的W3C(World Wide Web Consortium,万维网联盟)标准逐渐出台;两个应用程序通过Web服务进行远程通信时,所需的标准核心构件[7]如下图所示:

图1 Web Service的核心构件块

  各大厂商也逐步推出了相关的Web Service开发环境和解决方案;在目前主流的操作系统平台上都有相应的开发环境,如:Windows平台上的Microsoft Visual Studio.Net;Windows和Linux平台上的Sun One Studio,IBM的WebSphere Studio;以及BEA 的WebLogic Workshop等。

  3 基于Web Service的系统集成

  在软件系统的开发过程中,系统集成主要实现系统的各部分(模块)之间的通讯和整合,将相对分散的子系统组成一个统一的整体,实现子系统间的功能控制和信息交互与共享。基于网络的系统集成技术已有了很多[6],如:DCOM(Distributed Component Object Model,分布式组件对象模型)、CORBA(Common Object Request Broker Architecture,公用对象请求代理程序体系结构)和Java RMI(Java Remote Method Invocation,Java远端函数调用)等。但是这些传统的集成技术在很大程度上受到网络环境的限制,大多使用专有协议通过特别的端口进行远程通信,不能很好的支持客户段和服务器通过Internet进行通信。

  基于Web Service的集成技术作为一种新的面向函数和方法的应用集成技术,在很大程度上解决了原有集成技术在Internet远程通信方面的问题。Web Service基于XML文档进行服务描述,服务请求和反馈结果,可以在Internet上通过HTTP协议进行传递,很容易的被访问和返回结果。同时,由于Web Service的相关标准都是W3C的开放协议,与平台和操作系统无关,不同的平台和操作系统上的Web Service的实现在很大程度上可以做到互操作,这就使异构平台上应用的集成变得很容易。此外,过去使用的基于RPC(RPC - Remote Procedure Call,远程过程调用)和API(Application Programming Interface,程序编程接口)的集成技术都是一种函数级的静态解决方案(即使它们在客户机和服务器通讯时使用XML);Web Service则是一种动态的集成方案,所有的服务都可以通过UDDI标准动态地被发现、绑定和使用,容易适应系统的变动,提高系统的灵活性和伸缩性。

  使用Web Service技术进行系统集成和过去使用其它面向函数和方法的技术进行集成类似:在进行初始设计的时候主要考虑不同应用之间,系统不同模块之间消息及数据传递的需求;根据具体需求设置相应的接口,描述接口特性;针对不同应用的平台选择相应的Web Service组件,进行相应设置;实现不同应用的接口,进行相应调试;实际运行,应用程序间进行协同调试。

  使用Web Service进行系统集成的基本模式(不同应用之间)[8],如下图:

图2 Web服务应用架构(应用间集成)

  4 基于Web Service的系统集成技术在网络教育平台实现中的应用

  我们开发的远程教育系统的初始版本,是完全基于Windows平台的。整个系统集中在一个服务器上,采用两层的Web开发架构,各个模块直接对数据库进行操作,通过Form提交数据,直接引用等方式进行消息传递。造成系统模块间的耦合过于紧密,系统的可移植性,扩展性和均衡负载等方面都比较差。

  在进行新版本系统的设计时,考虑到原有系统的诸多不足,我们在提高系统的可扩展性,降低各个系统模块之间的耦合程度等方面多了许多考虑,在模块集成方面主要使用应用层面上的基于Web Service系统集成技术,使用基于不同平台上的Web Service技术实现系统模块之间的消息和数据传递。
我们的网络教育平台的基本模块结构如下图:

图3 远程教育系统模块结构图

  接下来以教学管理模块和同步教学模块之间的集成,来说明如何在实际的远程教育开发过程中使用Web Service集成技术。

  教学管理模块主要完成远程教学的教学组织和人员管理;同步教学模块是具体教学应用中的一部分,主要提供实时的网络课堂教学功能。同步教学模块中所需要的课程信息,学生和教师等信息都需要从教学管理模块中获得。在原有系统中,两个模块工作在同一个平台上,访问同一个数据库,获取相应的信息,关联比较强。为了减少这两个模块之间的关联,我们在重新设计的时候,考虑将这两个模块独立起来,在学生或教师进入同步教学模块的时候只传递最必要的信息,如课程号和用户序号;其他大部分的相关用户和系统信息都进行抽象,通过Web Service方式在教学管理模块中实现,在实时教学系统中进行访问。这样保证了两个模块之间可以很容易的分离和整合,也可以工作在不同的操作系统平台上(Windows或Linux等)。

  这两个模块之间集成的具体实现过程(以Microsoft.Net平台的实现为例)。

  (1) 系统需求分析

  (2) 系统设计,划分系统模块
  确定教学管理和同步教学分别独立成一个模块,教学管理模块主要实现对网络远程教学的教学组织和人员管理。

  (3) 确定模块间的接口描述

  根据需求分析和系统模块设计,确定模块之间接口的类型,需要传递的参数和数据类型。
  教学管理模块需要提供的接口:

  用户信息:用户类型,编号;
  教师账户:姓名,性别,……;
  学生账户:姓名,性别,届,班级,……。

  课程信息:课程名,授课时间,授课地点,……。
  同步教学模块需要提供的接口:
  授课情况:学生出勤情况,教师出勤情况,课程实际时间,……。

  (4) 确定实现方法

  使用基于Microsoft.Net的Web Service支持平台,C#开发语言;在Microsoft Visual Studio.Net集成开发环境中开发。抽象出一下需要实现的接口:

  教师个人信息(姓名,性别),学生个人信息(姓名,性别,届,班级),课程信息(课程名,授课时间,授课地点),学生出勤情况,教师出勤情况。

  (5) 具体实现,测试

  以查询教师个人信息(姓名,性别)为例:
  教学管理模块:
  定义WebSearchTeacherInfo命名空间;
  定义结构:
    包括教师ID,姓名,性别和结构信息有效标志。

    public struct teacherInfo
    {

      public string ID;
      public string Name;
      public string Sex;’M-male,F-female
      public boolean valid;’if this info is valid
    }
接口实现:

  public teacherInfo GetTeacherInfo(string id)
  {
    teacherInfo myReturn = new teacherInfo();

  根据参数,查询相应的数据表;如果有对应信息,则将查询值赋给结构myReturn,同时给结构myReturn的valid子项置为true;如果参数不合法或是查询不到对应信息,将结构myReturn的valid子项置为false;将结构myReturn作为返回值返回。

  }

  同步教学模块:
  
  代码中引入Web服务相应的命名空间;在其他代码中可以通过调用GetTeacherInfo方法,调用远端的Web服务程序,查询相应的教师个人信息。

  Visual Studio.Net集成开发中,Web Service中使用SOAP等协议传输会话的机制大部分都已经被封装,对于一般开发者是透明的,在很大程度上提高了开发效率;但同时也造成开发人员对于系统的可控程度下降。使用J2EE平台实现的时候,需要定义SOAP消息头等XML脚本,以能够实现基本的Web服务功能。在不同平台开发的时候,需要注意采用W3C的Web Service标准和模式,尽量不使用具体实现平台的扩展功能,以免影响系统的兼容性。

  (6) 发布Web服务,进行安全等方面的工作,完成系统集成

  使用WSDL实用程序生成代理代码,发布Web服务程序;在统一的服务发布服务器上,通过UDDI服务实现发现Web服务功能,便于查询系统各模块提供的Web Service服务。同时使用Web服务的身份验证和授权技术,提高系统的安全性。由于Web Service在安全性方面的标准刚刚出台,还没有实际应用,所以系统在身份认证和授权技术方面的实现还比较简单,只提供简单的密码和授权认证。

  通过使用基于Web Service的系统集成技术,我们比较容易的把基于不同操作系统平台和数据库平台的子应用集成在一起。比如:基于Windows2000操作系统和Microsoft SQL Server数据库的异步教学系统,基于Linux操作系统和Postgres数据库的教学论坛系统,等。

  5 结束语

  使用Web Service技术进行系统集成,提高了系统的可扩展性和兼容性,增强了网络教育平台的适应能力,提高了系统的服务质量。因为Web Service的标准还在发展过程中,逐渐会有新的特性加入进来,特别是在安全性方面。此外,基于Web Service的应用在开发中还有许多地方需要改进,如实现API化,组件化,类似转发器的集成方式,等等。作为新兴的Web应用的实现方式,Web Service会有个很好的发展前景,在网络教育平台的设计和开发中也将发挥更多更重要的作用。

  参考文献

  [1] ANIDO-RIFON L, FERNANDEZ-IGLESIAS M J, LLAMAS-NISTAL M.A Component Model for Standardized Web-Based Education .ACM Journal of Educational Resources in Computing Vol.1,No.2, 2001.

  [2] IBM.Web Services for J2EE, Version 1.0.www.ibm.com,2002-08.

  [3] SUN.Sun One 白皮书.http://www.sun.com.cn,2002.1.

  [4] W3C.Web Service 相关标准.http://www.w3c.org,2003-06.

  [5] Morrison M.XML 揭秘——入门应用精通.陆新年,陆新宇,等.北京:清华大学出版社, 2001.

  [6] Pritchard J.COM与CORBA本质和互用.徐金梧,张晓彤,屈蓉,王海峰.北京:清华大学出版社,2002.

  [7] Short S.构建XML Web服务——基于Microsoft.Net平台.戴荣,马方平,吴健,等.北京: 清华大学出版社,2002.

  [8] ZDNet China.http://www.cn-java.com/target/news.php news_id=1648,2002-05.

这篇关于基于Web Service的系统集成技术在网络教育平台中的应用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/854576

相关文章

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

hdu1394(线段树点更新的应用)

题意:求一个序列经过一定的操作得到的序列的最小逆序数 这题会用到逆序数的一个性质,在0到n-1这些数字组成的乱序排列,将第一个数字A移到最后一位,得到的逆序数为res-a+(n-a-1) 知道上面的知识点后,可以用暴力来解 代码如下: #include<iostream>#include<algorithm>#include<cstring>#include<stack>#in

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

zoj3820(树的直径的应用)

题意:在一颗树上找两个点,使得所有点到选择与其更近的一个点的距离的最大值最小。 思路:如果是选择一个点的话,那么点就是直径的中点。现在考虑两个点的情况,先求树的直径,再把直径最中间的边去掉,再求剩下的两个子树中直径的中点。 代码如下: #include <stdio.h>#include <string.h>#include <algorithm>#include <map>#