首页 百科知识保山学院教务管理系统的研究成果

保山学院教务管理系统的研究成果

【摘要】:基于SOA的保山学院教务管理系统研究李青摘要:信息化建设是高校发展的趋势,利用计算机技术、计算机网络实现业务的信息化是高校目前面临的一个重要问题。本文在面向服务体系结构SOA理念的基础上,设计了基于SOA的保山学院教务管理系统的体系结构,实现业务层与数据层的多层复用。(三) SOA的技术支持本文基于SOA的保山学院教务管理系统采用Web服务实现形式。

基于SOA的保山学院教务管理系统研究

李 青

摘 要:信息化建设是高校发展的趋势,利用计算机技术、计算机网络实现业务的信息化是高校目前面临的一个重要问题。本文在面向服务体系结构SOA(Service-Oritented Architecture)理念的基础上,设计了基于SOA的保山学院教务管理系统的体系结构,实现业务层与数据层的多层复用。以业务流程为导向,在分析保山学院教务管理业务流程的基础上进行服务粒度的设计。最后对该教务管理系统的Web应用程序的实现进行分析,通过B/S构架模式实现业务的信息化。

关键词:保山学院 SOA 业务流程服务 教务管理系统

一、引 言

教务管理系统在各高校得到了广泛的利用,而现行存在的保山学院教务管理系统设计时很少有系统的体系结构设计,大部分都是基于功能需求的结构化设计,从某种程度上来说,它还只是简单地将手工作业计算机化,无法很好地实现业务信息化。由于缺少良好的体系结构,当教务管理流程以及内容有所变更时,系统很难快速反应。同时,这种体系结构也无法很好地与保山学院内其他信息管理系统集成,而与其他信息系统的协作是非常必要的。因为教务管理工作不是一个独立的工作,它必须有其他部门的支持。基于SOA的保山学院教务管理系统,具有松耦合、高内聚、业务敏捷的特性,可以很好地适应保山学院教务管理的变化,易于完成与保山学院其他信息系统的集成,并且可以在实施该项目过程中,通过业务流程分析,实现业务流程优化,改善保山学院教务管理。

二、SOA理论基础

(一) SOA的工作原理

SOA(Service-Oriented Architecture)是一种面向服务的体系结构,其目的是最大限度地重用应用程序中的服务以提高IT适应性和效率。SOA作为一个组件模型,将应用程序中的不同功能单元(称为服务)通过对这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,也就是说它独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种此类系统中的服务可以用统一和通用的方式进行交互。

SOA的组件包括:(1)服务提供者。服务提供者即服务的拥有者,负责将服务信息发布到服务注册者,同时要控制对服务的访问以及服务的维护和升级。(2)服务消费者。实现服务的查找与调用,首先到服务注册者去查找满足特定条件的、可获得的服务,一旦找到,服务请求者将绑定到服务提供者并进行实际的服务调用。(3)服务注册者。集中存储服务信息,以便于服务请求者的查找。同时服务提供者可以把他们所要提供的服务在服务注册者这里进行注册。主要的操作有:(1)发布。为了被访问,服务的描述信息必须被发布以便服务消费者发现和调用。(2)查找。服务消费者通过查询注册中心去定位符合其需求标准的服务。(3)绑定和调用。在获得服务描述信息之后,服务消费者据此去调用服务。

SOA具体的实现有很多,包括Web Services、Session Bean、JINI等。但随着Web Services技术越来越被重视,其已经成为实现SOA的主要构架技术。它是建立在开放标准和独立于平台协议基础之上的分布计算单元。Web Services用XML进行数据的描述和交换,使用SOAP协议在服务提供者与服务消费者之间进行通信,通过WSDL协议定义服务接口,使用UDDI协议进行Web Services注册和查找。这些特性使得Web Services成为目前实现SOA的最好方式。而Web Services以分散的形式存在于不同的系统中。

所以,SOA的最大特点就是有一个灵活而功能强大的服务层,这些服务可以用不同的技术、方法在不同平台上实现,利用服务层中粗粒度的、可被动态发现和绑定的服务,我们可以快速地构建松散耦合的、具有跨平台处理信息能力的应用系统。SOA构建方法位于保山学院教学资源系统整合业务需求和底层技术之间的抽象层次中,独立地对每一个服务功能模块进行定义,而每一个独立部署的教育资源服务模块不依赖具体的开发平台和系统,各个系统的功能需求通过服务的流程化组织得到实现,从而实现各种异构系统及资源的集成和软件复用。

(二) SOA的架构理念

根据结构信息标准化促进组织参考模型,SOA是指为了解决在Internet环境下业务集成的需要,通过连接能完成特定任务的独立功能实体实现的一种软件系统架构。其关键是“服务”,在实际设计过程中,一个应用程序的业务逻辑或某些单独的功能被模块化,可作为服务呈现给消费者或客户端。SOA摆脱了面向技术的解决方案,朝着面向服务的方向发展。与其他架构相比,SOA更有弹性,使得企业能够对变化作出快速响应,并且利用变化来获得优势,SOA为动态、异构的系统集成提供了一个理想的构架模式。

SOA有几个关键特性:(1)粗粒度服务接口。粗粒度服务定义和公开能够满足商业流程要求的接口,能够将不太复杂的粗粒度服务融合成为应用程序、流程或者其他更加复杂的服务。(2)松散耦合。SOA具有“松散耦合”组件服务,这一点区别于大多数其他的组件架构。服务提供者和服务使用者间松散耦合背后的关键点是服务接口作为与服务实现分离的实体而存在。这是服务实现能够在完全不影响服务使用者的情况下进行修改。(3)精确定义的服务接口。服务是由提供者和使用者间的契约定义的。契约规定了服务使用方法及使用者期望的最终结果。服务契约必须进行精确定义。

(三) SOA的技术支持

本文基于SOA的保山学院教务管理系统采用Web服务实现形式。Web服务是目前最流行的SOA实现技术,当然,它并不是SOA唯一的实现技术。其中,Web服务描述语言(即WSDL)用于描述服务接口;简单对象访问协议(即SOAP)作为传输层,用来在消费者和服务提供者之间传送消息;统一描述发现和集成(即UDDI)用来注册和查找服务。一个消费者可以在UDDI注册表查找服务,取得服务的WSDL描述,然后通过SOAP来调用服务。Web服务架构包括了三个组件、三种服务操作(服务发布、服务发现、服务绑定)以及两种服务构件(服务、服务描述),下面通过组件示例此构架的主要实现机制。

1.服务提供者

保山学院已有的一些信息系统,如教务资源管理系统、人力资源管理系统、学生资源管理系统等,都有一些数据或功能需要被共享。通过系统集成,那些需要共享的业务功能和数据在应用集成框架中将以服务的形式被暴露。

2.服务消费者

服务消费者是查找并调用服务,或启动与服务交互的客户程序。当集成服务提供者提供的服务时,就需要在该应用中开发调用服务的客户端代码。在集成框架中,部分参与集成的系统既充当了服务提供者的角色,又充当了服务消费者的角色。

3.服务注册中心

服务注册中心是可搜索的服务描述注册中心,服务提供者在此发布他们的服务描述。在绑定开发或执行期间,服务消费者查找服务并获得服务的绑定信息(在服务描述中)。当然,服务消费者也可以从服务注册中心以外的其他来源得到服务描述。服务描述可以使用多种不同机制发布到多个服务注册中心。通常有学校内部应用程序、门户网站等专用UDDI节点。

这些注册中心针对不同的应用类型,根据服务访问者的权限对服务描述进行分类屏蔽访问。如校内私有UDDI注册中心,可将校内所需涉及各部门、学院资源和业务功能的Web服务发布到这类UDDI节点。这些UDDI位于防火墙之内,允许服务发布者对它们的服务注册中心和它的访问权、可用性以及发布要求有更多的控制。还有是校外公有UDDI注册中心:由各部门、学院、个人发布,可以在互联网上查找和使用的Web服务需发布到这类公有UDDI节点。

(四) SOA与业务流程的关系

随着信息技术应用的深入,对日常业务的支持被认为是最基本要求,信息系统方案的初衷都不是简单的手工业务计算机化,信息系统融合厂管理思想和管理战略,在实施信息系统期间进行必要的业务流程优化。SOA是关于业务流程建模的一种架构,而且并不总是由技术组件直接支持的。从根本上来说,服务可以由技术组件提供,但是业务流程本身比支持它的服务更为重要。它以业务流程为导向,以服务的形式定义业务中较稳定的部分,业务流程则通过组合服务来实现。因此基于SOA解决方案的实现,既要有技术上的支持,也要有业务流程上的支持,因为SOA方案的最终目的是实现业务敏捷性。业务流程上的支持一是表现在进行系统设计的时候,要充分深入理解所涉及业务流程,将业务变成组件和流程化模块。二是表现在相关用户或其他组织用户在管理上配合SOA解决方案的实施,根据需要实现业务流程的改进。

三、基于SOA的教务管理系统总体分析

(一)保山学院教务管理系统的用户分析

保山学院教务管理系统的使用用户可分为内部用户和外部用户,内部用户主要指教务处领导、超级管理员、成绩管理员和排课管理员。外部用户主要指教务处以外的使用用户。外部用户涉及广泛,包括保山学院领导、教职工、学生以及保山学院内的一些其他信息系统。它们分布在不同的学院、不同的部门,通过Intranet或Internet访问保山学院教务管理系统,这些用户使用的软硬件环境都不尽相同。为了满足各类人员的需求,构建一个与平台无关的保山学院教务管理系统是非常必要的,而基于SOA的教务管理系统可以很好地满足这种要求。

内部用户是保山学院教务系统的主要用户,它涉及系统的大部分功能。而外部用户主要涉及的功能是少量数据的查询和添加、用户合法性和信息正确性的检查。在业务实现上,内外部用户的业务流程是有区别的,但是可以通过部署某些共同的服务实现不同的业务流程。

(二)保山学院教务管理系统的功能分析

保山学院教务管理系统的主要功能是成绩管理、排课管理、选课管理、学生基本信息管理、教师档案管理、毕业生管理等。其详细的功能结构图如图1所示。

图1 保山学院教务管理信息系统主要业务分析(www.chuimin.cn)

但是从现存的教务管理系统的现状来看,存在着很多不尽如人意的地方。从教职工使用角度,很多信息得多次重复录入,因为保山学院内各种信息化系统协作较少。其原因:(1)各种信息系统属于不同部门,独立运作,资源信息数据的共享性差。每个部门的系统都有相应的数据环境,而根据自身需求量身定制的数据库系统的数据结构、标准不一致。数据转换复杂,增加了数据共享的难度,冗余数据无法同步更新。(2)系统本身设计时欠考虑集成复用问题:各系统主要是以紧密耦合的方式把模块化的业务逻辑组合而成,这些业务逻辑在其他信息系统中无法被重用,从而导致了重复设计和IT资源的浪费。在现有系统上集成成本非常高。所以基于SOA信息系统则是趋势所在。

(三)保山学院教务管理系统的业务流程分析

通过分析现有业务流程,可以更充分地了解此教务系统的具体功能细节,也是进行服务粒度设计的关键过程,为搭建共享信息平台提供分析基础。保山学院教务管理系统的主要业务流程有教学计划安排、全校性课程排定、学生选课、成绩管理等等。本文限于篇幅,简要阐述少许业务流程。全校性公选课、传统公选课申请需要教师填写申请表,系领导签字盖章,到教务处签字盖章后,由系统管理员添加申请课程,最后排定课程。流程非常烦琐,而且增加了系统管理员的工作量,有时候因为疏忽还会漏掉一些教师的特殊要求,无法满足各个教师的具体要求。现在教师可以根据个人要求自行到网上填写申请并附加自身要求,管理员操作简单,由系统自行记忆处理。如图2是教师申请公选课的开课申请表。

图2 教师申请开设公选课申请表

(四)系统的体系结构

本系统考虑到使用环境以及将来的需求,将其设计成与平台无关的系统。体系结构设计上,系统使用者可以通过Internet/Intranet调用所需服务模块进行访问。此系统采用J2EE企业平台架构构建,在系统逻辑上分为以下三层。

1.表示层

本系统表示层使用JSP设计,可使用SOAP对业务层进行调用。它主要负责最终用户处理信息表示的所有逻辑,如该教务管理应用程序如何展示在用户面前,包括位置、字体、尺寸等等。

2.业务层

它用来统一教务管理的全部业务逻辑。这一层使用SOAP作为协议来开放,它为各种系统使用者通过表示层访问提供一个基础的、统一的、面向服务架构的各种服务。这些服务被设计成为无状态服务,独立的服务接口,技术实现采用Web服务组件形式。

3.数据层

考虑到教务管理数据与其他部门存在的数据共享要求,以XML描述数据源,对于存在共享数据,以SOAP作为接口访问数据库,而对于教务管理系统的私有数据,则直接使用JDBC进行访问,这样既能满足功能需求和非功能需求,也在一定程度上减少了实现的复杂性。在实现时,使用持久性框架设计模式来实现一个数据访问层,该层位于机构的数据源之上,提供的服务完全抽象,并获得这个数据源使用和操纵数据的物理细节。

四、服务设计

在功能分析以及业务流程分析的基础上,设计了系统提供服务的粒度。如在师资管理模块中,我们设计了教师信息管理、代码维护、按日期工作量计算、按时间段工作量计算等。在系统维护模块,设计了权限管理服务、部门信息维护服务等。从学校全局考虑,加强资源共享的信息平台,减少信息的重复录入,尽量做到同样信息录入一次,我们把数据分为共享数据和私有数据,把那些对共享数据的处理也设计成独立的服务,如教职工的日常基本信息、教师每学期的教学计划、教学完成情况、每学期或学年的科研情况,这些数据不仅教务部需要,各学院的院务管理也需要,科研处也需要,因此将这些数据设计为无状态、跟运行平台无关的服务。这些都是粗粒度服务,它是针对外部使用者设计的,这些粗粒度服务在实现过程中,可以调用细粒度服务,如教室查询,各领导、各部门、老师、学生均可以查询教室使用情况,不需要到教务处办公室查询,节约时间和精力,而且教室也得到合理利用。图3为教室使用查询。

图3 教室使用情况查询

如何在技术上实现服务的无状态性?无状态服务是指服务不依赖于任何事先设定的条件,是与状态无关的。在SOA架构中,一个服务不会依赖于其他服务的状态。它们从客户端接受服务请求。因为服务是无状态的,它们可以被编排和序列化成多个序列,以执行商业逻辑。编排指的是序列化服务并提供数据处理逻辑,但不包括数据的展现功能。WSDL是一个XML变体,用来描述Web服务,WSDL允许Web服务定义一个服务做什么,该服务使用什么协议,以及该服务在哪一URL处可以找到。再将Web服务发布到UDDI服务注册表中,服务使用者将可以在UDDI服务注册表中检索到所需服务。本系统所采用的服务实现模型如图4所示。

图4 服务实现模型

五、教务系统Web应用程序实现分析

系统分析以及服务设计之后,我们需要对此Web应用程序整体实现进行分析。该系统采用B/S模式开发,在用户界面设计上我们将使用JSP。在体系结构上采用MVC(Model-View-Control)设计模式。之所以采用这种设计模式,因为应用程序的数据结构和逻辑(模型)是程序中相对比较稳定的部分,而这些数据的表现形式(视图)却是经常改变的。利用JSP可以很好地实现这种模式。引入JSP可以将请求处理、商务逻辑与外观呈现分开。

前面讲述了服务接口描述以及访问服务的协议,对于服务的实现,将采用EJB的形式,EJB定义了一个用于开发基于组件的企业多重应用程序的标准,是Sun的服务器端组件模型,可以部署分布式应用程序,凭借Java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台。从MVC模式方面考虑,EJB封装的主要是商务逻辑,利用EJB的特性,可以很好地支持应用程序的名字服务、持久性等系统特性,这些特性虽不会给应用逻辑增加任何东西,但却需要这些特性使企业级应用能够正确安全运行。

六、结语

本文通过研究保山学院教务管理现状,分析了保山学院教务管理系统采用SOA架构的必要性,在SOA理念框架的基础上,对保山学院教务管理系统体系结构进行研究设计。但要真正实现一个保山学院教务管理系统,还有很多工作需要做,本文提出的体系结构以及设计思路可以在具体实现过程中提供参考。

参考文献:

[1]马俊,丁俊明.基于SOA的异构系统集成研究[J].计算机工程与设计,2008,29(14).

[2]梁爱虎.SOA思想、技术与系统集成应用详解[M].北京:电子工业出版社,2007.

[3]曹晓叶,王知衍,许晓伟,等.基于SOA的企业应用集成研究与应用[J].微计算机信息,2007,23(12).

[4]刘敏,严携威.基于面向服务架构的企业间业务协同服务平台及技术研究[J].计算机集成制造系统,2008,14(2).

[5]毛新生.SOA原理、方法、实践[M].北京:电子工业出版社,2007.

[6]王胜娟,江水.企业集成中的企业服务总线技术[J].计算机工程,2006,32(13).

[7]叶宇枫.基于SOA的企业应用集成研究[J].微电子学和计算机,2006,23(5).

[8]克拉夫兹格,本克,斯拉姆.Enterprise SOA中文版:面向服务架构的最佳实战[M].韩宏志,译.北京:清华大学出版社,2006.