基于SOA的校园信息系统研究初探
1 引言
在信息技术高速发展的今天,信息化管理成为很多企业单位的迫切要求。对于一个大型中学来说,在教学手段和教学层面逐步扩展的前提下,更加需要一个完善的数字化信息平台。这一平台应当面向学生、教师、家长等多种角色,并提供有差异性且有足够深度的相关服务和业务。
面向服务架构(Service Oriented Architecture SOA , )的设计目标是以服务为基础, 通过服务的交互来实现系统动态、松耦合集成, 极大地降低了复杂性与成本。数字化校园的业务服务面向大量复杂的数据,要求整合异质、异构信息资源, 而SOA正能为用户提供多样化、个性化的信息服务。
2 SOA简介
SOA是一种架构模型,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。SOA提供了这样一种框架:一个系统上的软件可以安全而且可靠地提出请求并获得其他系统上的计算资源,而不再需要一台中央服务器来管理和控制整个端到端的网络。SOA从根本上突破了客户机/服务器模式。
SOA的关键是“服务”的概念,W3C将服务定义为:“服务提供者完成一组工作,为服务使用者交付所需的最终结果。最终结果通常会使使用者的状态发生变化,但也可能使提供者的状态改变,或者双方都产生变化”。在面向服务(SOA – Service Oriented Architecture)的应用体系中,是实现以人为本的‘服务’的为核心的。网络技术的发展宗旨都是力求使得客户的到的服务 – 拥护体验User experience更方便的得到。
SOA是一种构造分布式系统的方法,它将业务应用功能以服务的形式提供出来,以便更好的复用、组装和与外部系统集成,从而降低开发成本,提高开发效率。
3 背景
本系统针对一个大型中学,该中学的班级构成,包括有高中部、初中部、实验班等多层级多班级的结构,且高中高年级按科目分班。教师按所教科目归属个教研组,并根据层级不同,赋予相应的权利和义务,兼任行政职务的教师在教研组内仅享“零行政权力”,负责宿舍管理的教师直接对学生形成垂直管理和交流,与各班主任保持平行联络和交流。对于家长,系统应当提供足够多的信息服务和作为交流平台的功能,保持关注学习状态和心理状态的联络。
学校的信息管理系统涉及多角色多部门,内容覆盖面广,系统建设的目标是提供给学生、教师、家长等角色保证实时和安全的服务和后台管理人员的透明管理。另外,为应变不可预期的变化,应当保证系统的扩展功能。
在web服务的前提下,运用以服务为基础的SOA可以实现快速安全的信息传输和业务传送,通过服务的交互来实现系统动态、松耦合集成,可以有效地降低了复杂性与成本。
4 SOA 的体系结构
面向服务的体系架构中共有3 种角色, 它们分别是服务提供者、服务请求者和服务注册中心。其中服务提供者负责服务功能的具体实现, 并通过注册服务操作将其所提供的服务发布到服务注册中心, 当接收到服务请求者的服务请求时, 执行所请求的服务。服务请求者则是服务执行的发起者, 首先需要到服务注册中心中查找符合条件的服务,然后根据服务描述信息进行服务绑定ö调用, 以获得需要的功能。而服务注册中心则用来提供服务提供者注册服务、提供对服务的分类和查找功能, 以便服务请求者发现服务(见图1)。
图1 SOA 体系结构模型
4 服务建模
基于SOA的校园信息系统服务建模,其框架主要由系统管理员(在本系统中没有重点介绍)、学生、老师和学生家长4 部分组成。服务之间是通过登录和系统反馈,交流信息,发布信息 、查找信息 和共享信息 等接口和操作关联起来的。这些接口和操作建立在规范的描述语言之上,并且独立于特定的硬件平台、操作系统和编程语言,使得SOA 框架具有松散耦合、位置透明、协议独立等特点。本文根据SOA 的体系结构 ,提出了基于校园信息服务模型,如图二所示。该模型运行的主要过程分为2 个阶段。
图二 基于SOA的校园信息系统服务建模
(1) 用户登录系统和系统反馈给用户相应的功能阶段。首先,学生、老师和学生家长均可以根据个人已有的账户密码对系统提出登录申请,系统经过审核通过后反馈给各用户对应于账户密码的功能,由此形成了系统与用户之间经过封装的接口模块、封装的粒度、资源的服务时间、安全级别及服务信息等。在该模块中经过给内部协商完成后,系统按照一定的规则将该系统资源信息进行封装并与系统资源服务的用户进行协商。然后,个服务用户通过对系统进行访问而获得相应的资源服务
(2) 用户对服务资源的使用阶段。首先,学生,老师或者学生家长通过向系统提交申请获得服务后可以在各自的平台上提出相应的资源使用的请求,系统接到请求后,交由各自对应的平台进行分析,并根据分析结果反馈给服务用户相应的功能。因为系统在设计过程中已经对应三个主要对象将系统功能或分为三大不同的模块,所以当系统服务器接到来自服务用户请求的时候只需要把相应的模块交由相应的服务用户,用户再可以对相应子模块进一步处理。(例如,当学生登录服务系统后对系统提出请要要查询某某学年的学习成绩或者选课情况,系统只需要将学生的功能模块反馈给学生,然后再由学生功能模块中的查询功能模块实现学生的查询请求,这其实就是一个父子模块调用的设计过程)。又由于在系统资源的使用过程中,各服务用户之间难免存在着各种各样的问题,因此,各在专有的模块之间又需要设计有一个可以让不同用户间实现相互的交流和协作的交流平台(例如学生可以通过交流平台对老师提出教学疑问,老师可以通过交流平台对学生的疑问作出相应的解答),从而使得系统资源得到充分的利用。
5 集成框架
基于SOA的原则和思想, 下面提出一种针对该系统的集成框架, 如图所示分应用层、业务流程层、 服务核心层和组件层四个层次。
图三 基于SOA的校园信息系统集成框架
(1)表示层
负责处理校园信息化系统与校园内外用户的接口及相关的组件,涉及系统的各层级使用者。信息门户给用户提供了一个统一的但又个性化的界面, 为学生、教师、家长提供相应的入口和个性化系统服务信息。通过它可以访问系统的各种不同的服务, 同时可以为业务流程层提供授权认证权限、信息的传输。
(2)业务流程层
集成了各种业务规则和逻辑, 提供服务请求者统一权限认证和活动监控。这一层侧重在业务支持上, 通过通用和标准的对象和服务模型, 可以在这一层上定义各个服务的业务流程, 并能够灵活调用各个功能模块。
(3)服务核心层
该层主要负责将系统资源通过平台提供的web services接口封装为服务的形式发布到资源注册中心供用户使用,并对资源进行相应的维护、管理和定期清理刷新。包括通用的服务功能,如注册认证、授权管理、资源搜索、学习服务、宿舍管理、成绩管理、查询服务等。另外,为了适应未来对系统的升级和扩展需要增加了一个业务扩展功能。实际上这一层可以看成是一个Web Services 容器, 处于核心地位,还负责服务质量和安全管理功能, 保证安全的访问。
(4)组件层
这一层实现校园现有和正在开发系统的接口数据格式的统一、数据库和文件系统数据的统一,为面向服务的信息平台提供基础的资源和协议。包括平台所有的基础数据库和业务数据库,如注册信息存储等;以及原有的可用系统组件。
5 系统的集成
在做好整体规划后,可以从一个关键服务开始,实现独立的web服务,在进一步按照SOA的思路,实现逐步的整合,一步步完善系统平台。
基于SOA 的集成方法需要把所有不同的系统封装成web 服务。经过封装后的应用系统可以在注册服务中心发布,实现Web服务的映射并进行管理。可以使用相关的资源封装模板进行封装,根据模板提供的组件和接口完成数据到业务的映射和封装,实现资源发布。针对学校可能存在部分旧系统的情况,根据不同的性质进行新的集成和修改实现封装。同时,对于数据库进行整合和清理,保证数据来源的有效性和一致性。
6 结束语
SOA 为校园信息系统应用集成提供了理想的集成框架, 在应用层通过Web Service 实现松散的应用集成, 能够满足各种信息集成要求, 体现了松散耦合、位置透明、协议独立的特点, 能够支持随需应变的动态业务需求,很好地解决了传统校园信息应用系统集成存在的问题。上层设置服务总线利用面向消息的中间件技术实现服务的路由、编排、安全管理、事务管理等功能, 将面向应用的集成转到面向服务的集成。这就意味着在不用对现有的企业系统作修改的前提下, 系统可对外提供Web服务接口, 为学校管理学生老师和学生家长三方都能取得良好的效果。总之, SOA简化了IT 的计算环境, 其兼容性、互通性以及最终实现的商务自主的能力, 满足了高度动态的学习环境。
参考文献
[1]白鹤,赵静,新一代企业管理信息系统的SOA集成设计,
[2]冯建文,基于SOA的校园信息系统集成研究, 数据库与信息管理,2008年
[3]李永锋,赵小明,面向服务的旅游资源信息服务框架结构,合肥工业大学学报,2008.4第31卷第4期
[4]王明倩,邹红霞,吴涢晖,基于SOA构建可扩展的教务管理信息系统,装备指挥技术学院学报,2007.12,第18卷第6期
[5]与生俱来的SOA取代EAIhttp://www.anrison.org/wenzhang.asp?M_left=4&id=6284
[6]以服务为中心的企业整合-案例分析
http://java.ccidnet.com/art/3755/20060314/476513_1.html
[7]IBM SOA Homepage, http://www-306.ibm.com/software/solutions/soa/
[8]IBM Process Integration Homepage,
http://www-306.ibm.com/software/sw-bycategory/subcategory/SW920.html
posted on 2008-06-30 23:29
SOA设计 阅读(395)
评论(0) 编辑 收藏