基于SOA的教学管理系统web服务的设计与实现
2013-04-23吉林工商学院信息工程学院成桂玲
吉林工商学院信息工程学院 成桂玲
1.引言
采用基于面向服务的SOA架构的思想来开发教学管理系统能够在不改变原有教学管理系统底层架构的基础上,通过将教学管理系统中需要共享的信息封装成web服务进行服务,来解决原有教学管理系统的信息孤岛问题。采用基于SOA架构的最大优势就是尽最大可能重用已有应用程序中的服务来提高系统的实用性和适应能力。
2.SOA架构的概述
2.1 SOA的含义
SOA是面向服务体系结构(Service-Oriented Architecture)的简称,它是一类分布式系统的体系结构,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。
2.2 SOA的实现
SOA架构是一种程序设计的方法,通过任何的程序设计语言都可以实现。目前随着Web Service技术的流行,它成为实现SOA的一种主要手段。Web Service使应用功能通过标准化接口(WSDL)提供,使用标准化语言(XML)进行描述,并可基于标准化传输方式(HTTP和JMS)、采用标准化协议(SOAP)进行调用,并使用XML SCHEMA方式对数据进行描述。
3.基于SOA架构的教学管理系统的Web服务的设计
如图1所示,使用SOA架构的思想对教学管理系统进行系统的集成,将原有教学管理系统中需要共享功能模块封装成Web服务。将每个Web服务内部分为四层——表示层、业务服务层、业务逻辑层以及数据服务层。通过Web服务的发布和调用,使原有的教学管理系统不仅实现了内部各部门之间的信息交换,同时,也实现了和外部的信息交换。对内,各个系部业务系统之间可以通过该平台实现专业信息的共享,实现内部信息的双向传送。对外,通过该平台,实现与外系统、外单位(如教育厅,其他兄弟院校)的信息交互。图1描述了基于SOA架构的教学管理系统的Web服务的设计方案。
图1 基于SOA架构的教学管理系统的Web服务的设计方案
4.基于SOA架构的教学管理系统的Web服务的实现
采用基于SOA的架构体系来开发教学管理系统,我们只需要将需要共享的功能模块封装成Web服务发布即可。进而实现原有教学管理系统功能模块的“高内聚,低耦合”。下面分析一下Web服务各层次的实现。
(1)表示层设计
表示层的职责主要是接受用户的输入和向用户呈现信息。表示层实际就是一个方便用户使用系统的界面。
(2)服务发布层
服务发布层主要提供标准化的服务接口,从而使得该服务可以提供给在任何异构平台和任何本地或者远程用户使用。通过Web Service发布各种业务,接受表示层的调用,该层是面向服务的一层,通过该层实现SOA架构的服务发布。本层的实现我们只将Web服务发布到了Windows 2003 Server自带的UDDI服务器上,简单易用。只需在Windows 2003 Server系统中以管理员的身份登陆UDDI组件点击“发布”即可。
(3)业务逻辑层
业务逻辑层简称BLL(Business Logic Layer),是系统架构中体现核心价值的部分。它处于数据访问层与表示层中间,业务逻辑层为系统提供服务接口和逻辑控制,对数据交换起到了关键作用。
业务逻辑设计分为三种主要的模式:Transaction Script、Domain Model和Table Module。本系统采用Transaction Script模式来实现。
A.配置数据依赖
业务逻辑层要加载数据,只需要在Web.config中配置需要使用的数据访问层。打开Web.config,找到appSettings节点下的“DAL”项,将其中的value赋予我们要使用的数据访问层工程名称,例如:要使用student,则这一项写成:
B.编写散列加密工具类
因为在业务逻辑层的多处需要用到散列加密,所以在Utility工程下写一个辅助类Encryptor即可。
(4)数据层
数据层主要提供数据信息和数据逻辑,提供本系统数据访问;借助于信息资源整合平台和其他系统进行数据交换。数据层的数据库存储我们选用Sql Server 2005平台来完成。
5.结束语
基于SOA的架构思想,通过服务的封装,以松散耦合的方式解决了教学管理系统的代码重用的问题。本文成功的将SOA的架构思想用于教学管理系统的开发研究,从而证明了用SOA架构思想对原有教学管理系统进行资源整合的优势。
[1]柴晓路,梁宇奇.Web Services技术、构架和应用[M].北京:电子工业出版社,2003.
[2]郭晋伟.SOA架构的管理信息系统设计与实现[D].沈阳:中国科学院沈阳计算技术研究所,2006.
[3]蒋杰,刘友华,曹天瑜.基于SOA的网络教学资源系统集成[J].科学技术与工程,2007,8.