
写作要点:
SOA是一种架构理念,实现它需要用到具体的实现技术。目前使用最广泛的是web service.也就是将系统所有的功能部分做成web服务,功能之间的调用也就成了从服务提供者那里接受相应的服务。
摘要
2009年某校领导决定投资建立高校教务管理系统,主要涉及到教务管理部门、学生和教师等,其主要功能为实现学生管理、教学计划管理、成绩管理等应用。我在高校信息中心工作,在项目中我担任了系统分析员,主要负责系统分析、系统设计等工作。
当前主流的管理平台只着眼在信息资源和相关数据的共享复用,而不是软件功能复用;学校己有的各个信息系统通常是孤立搭建,只关注某一个业务环节或管理功能,各信息系统相互运行,以致这些位置上分散的系统形成了一个个的“信息孤岛”。系统之间难以进行信息共享,对于功能相同的模块也要进行重复开发,使得信息一致性难以维护,工作效率低下。面向服务架构SOA的出现为这些问题提供了更好的解决方案。JAVA具有跨平台的优越性,而J2EE的WEB服务可方便构建能够访问现有业务流程的SOA系统,因此可使用J2EE技术开发基于SOA的教务管理系统。
正文
随着近年来我国教育改革的深化,素质教育的全面推进,高校扩招的出台,使得高职学院办学规模不断扩大.教学资源日益紧张。面对这一挑战,许多高职学院纷纷启动了教务管理系统的建设,但在实际使用过程中或多或少存在一些问题:教务管理系统中的许多业务功能和数据信息与已有的学生处系统、招生与就业处系统和人事处系统等是有相互交叉、甚至重复的地方的。然而,当前主流的管理平台只着眼在信息资源和相关数据的共享复用,而不是软件功能复用;学校己有的各个信息系统通常是孤立搭建,只关注某一个业务环节或管理功能,各信息系统相互运行,以致这些位置上分散的系统形成了一个个的“信息孤岛”。系统之间难以进行信息共享,对于功能相同的模块也要进行重复开发,使得信息一致性难以维护,工作效率低下。面向服务架构SOA的出现为这些问题提供了更好的解决方案。
1. SOA 的基本特征
SOA是一种粗粒度、松耦合的软件架构,其服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。这种模型具有下面几个特征:
1)松散耦合:服务请求者到服务提供者的绑定与服务之间是松耦合的。松散耦合旨在将服务使用者和服务提供者在服务实现和客户如何使用服务方面隔离开来。服务实现的修改完全不会影响到服务的使用者。
2)粗粒度服务:服务粒度指的是服务所公开功能的范围,一般分为细粒度和粗粒度)。粗粒度服务是那些能够提供高层商业逻辑的可用性服务。粗粒度服务可以灵活组合稳定性强、重用性高的细粒度服务,而快速形成新的业务逻辑。粗粒度接口保证服务请求者将以一致的方式使用服务。面向服务的体系结构(SOA)不要求使用粗粒度接口、但是推荐使用它们作为外部集成的最佳实践。
3)标准化的接口:服务描述的重点在于与几部分交互所用的操作:服务、调用操作的消息、构造这种消息的细节和关于向何处发送用于构造这种消息的处理细节的消息的信息。SOA通过服务接口的标准化描述,从而使得该服务可以提供给在任何异构平台和任何用户接口使用。
4)无状态服务:服务应该是的、自包含的请求,在实现时它不需要从一个请求到另一个请求的信息或状态。服务不应该依赖于其他服务的上下文和状态。
2.基于SOA的教务管理系统的设计
高校教务管理主要涉及到教务管理部门、学生和教师等,其主要功能为实现学生管理、教学计划管理、成绩管理等应用。每个子系统可以是由部门或者专门人员负责,各子系统下包含许多管理项目,每个部门可以使用适合自己的系统,而所有的子系统都通过统一的接口标准,在SOA下,实现信息交互,使各个子系统成为既相互,又相互协调统一的整体。基于SOA构建的教务管理系统,在满足各部门业务变化时,对各子系统进行改动,而不影响到整个系统的信息传递,便于统一管理,求同存异。
2.1 SOA与Web Serviecs
SOA的实现,涉及很多技术。Web服务是当今最适合实现SOA的一些技术的集合,正是Web服务标准的成熟和应用的普及为广泛地实现SOA提供了基础。它由URL确定的软件应用,其接口和绑定能够以可扩展标记语言XML的形式定义、描述和发现,采用XML格式消息的方式与其他软件应用交互,支持借助Internet协议,如SOAP。SOA通常是基于XML的,通过使用WSDL来描述接口。Web服务采用WSDL作为其服务接口描述语言,通过UDDI协议规范进行Web服务的网上注册和服务查找定位,并使用SOAP传输协议在网络间进行XML格式的信息交互。
系统运行时,服务提供者将其服务的WSDL描述信息发表到UDDI注册中心,服务使用者通过查询注册中心获取所要使用服务的WSDL文档,该文档提供了与Web服务进行交互的信息。服务使用者向提供者发送SOAP请求消息,然后由Web服务提供者返回SOAP应答消息。
基于SOA的教务管理系统架构结构及相互之间的关系如下:
(1)数据层 它用来定义、维护、访问和更新数据并管理和满足应用服务对数据的请求。数据层主要包含一些分散异构的教务资源数据库,如学生信息库、教师信息库、成绩信息库、课程信息库、选课信息库、排课信息库、报名信息库、档案信息库、等级考试库、试题
信息库、毕业生信息库等。数据库与逻辑层之间的连接通过数据访问子层来完成,它的主要功能是为教务系统提供数据访问的功能,是它们之间的桥梁。
(2)逻辑层 逻辑层中封装了教务系统中包括学籍管理系统、成绩管理系统、教务管理系统、选课管理系统、排课管理系统、报名管理系统、档案管理系统、等级考试系统、题库管理系统等多个系统,形成不同的逻辑,并将业务逻辑进行分类合并,形成细粒度的服务,通过数据访问子层获取数据进行业务逻辑加工后为服务层提供支持。该层拥有Web服务封装、Web服务发现、Web服务调用、Web服务调度和Web服务推荐五个子功能,分别由业务逻辑层中的四个不同的业务对象完成。
(3)服务层 服务层是整个框架的核心,包括业务服务总线和各种服务应用。业务服务总线将业务逻辑层提供的细粒度服务编排融合为粗粒度服务并为服务应用提供所需要的服务,它通过一个集中式服务器为业务流程控制、服务路由、协议转换和安全扮演着控制点的角色。业务服务总线主要采用面向SOAP消息的中间件技术,通过Hub模式来标准化消息处理并控制信息流,包括消息服务、事务处理、管理监控、数据服务、路由服务和安全服务等关键组件。业务服务总线作为通用的业务平台,消除了服务提供者和请求者之间的依赖关系,提高了可重用性以及对已有服务的内部扩展和外部获取 。
(4)应用层 应用层是为教师、学生和管理人员提供应用服务的图形界面,有助于用户理解和高效的定位应用服务,如窗体服务、报表服务、页面服务和文件服务等。它是统一的教务门户,将各种教务服务应用的前台展示集中在一起,提供可用、高效、一致的界面和
统一的信息访问机制,为教务系统的不同使用者,包括教务科、院系、学生、老师和一般用户提供个性化的服务。
(5)框架的实现技术 教务管理系统包括以下子部分管理控制与数据处理、数据采集与信息发布和系统管理。管理控制和数据处理子系统涵盖了教学计划、课表安排、教材管理、学籍管理、成绩管理等子系统:数据采集与信息发布子系统以公共服务为主,系统管理子系统包含数据库加密、数据导入/导出、门户更新等子系统。
每一个子系统可利用Web Services提供统一的接口标准,在SOA下实现信息的构建、解析和传输,从而实现系统间的数据交换。
JAVA具有跨平台的优越性,而J2EE的WEB服务可方便构建能够访问现有业务流程的SOA系统,因此可使用J2EE技术开发基于SOA的教务管理系统。
3.结束语
本文提出了一种基于SOA的教务管理系统框架。此框架主要采用SOA的体系架构,可以满足多校区教务系统中对各种信息系统进行处理的要求,以实现学校自上而下整体的紧密结合,杜绝开发的高成本的同时提高了教学管理效率。
