基于SOA架构的数字校园解决方案与实现朱震姚奇富(浙江工商职业技术学院网络中心,宁波315012)摘要:本文分析了传统数字校园解决方案和建设模式存在的问题,在深入探讨面向服务的框架模型原理的基础上,提出了基于面向服务架构的数字校园解决方案,给出了一个面向服务的校园网络应用框架。并结合实践项目,详细阐述了基于SOA的校园应用系统集成的方法和步骤,充分论证了基于SOA的数字校园解决方案的可行性及优越性。关键词:面向服务框架;数字校园;Web服务ResearchandrealizationofdigitalcampusbasedonSOAZHUZhen,YAOQi-fu(NetworkCenter,ZhejiangBusinessTechnologyInstitute,Ningbo315012)Abstract:ThispaperanalyzedthedeficiencyoftraditionaldigitalcampussolutionandputforwardanewsolutionofdigitalcampussystembasedonSOA.AfteranalyzingtheprincipleofService-OrientedArchitecture(SOA),aserviceorienteddigitalcampusframewasproposed.ThispaperexpatiatedthemethodsandstepsofintegrationbasedonSOAindetailandhasfullyprovedthefeasibilityandsuperioritydevelopedindigitalcampussystemintegrationbasedonSOA.Keywords:Service-OrientedArchitecture(SOA);digitalcampus;WebServices1、数字校园的概念与特点数字校园是以网络为基础,利用先进的信息化手段和工具,实现从环境(包括设备、办公空间、研究空间、教学空间等)、资源(如图书资料及专业数据库、教师讲义和课件、全球网上专业资讯)到活动(包括教、学、科研、管理、服务、办公等)的全部数字化。在传统校园的基础上构建一个既对应又有本质不同的数字空间,拓展现实校园的时间和空间维度,从而提升传统校园的效率,扩展传统校园的功能,最终实现电子校务(信息发布平台、办公自动化、数据中心、集成的信息系统)、教育资源(网上教学、数字图书馆等)、虚拟社区(后勤服务、校园一卡通等)、网络服务与网络安全为一体的数字化教育环境。数字校园由网络基础设施、网络基础服务、应用系统、信息服务系统、门户平台5大系统构成。图1数字校园构成图数字校园建设的特点主要表现在:(1)需要集成的业务系统数量众多,包括教学平台、教务管理系统、学工管理系统、办公自动化系统等,覆盖了学校日常教学、科研、管理等一系列工作。(2)由于校园内的应用系统是在很长一段时间内逐步建立起来的,系统结构复杂,构建各类应用系统所采用的技术差别大、标准不统一、架构复杂,为数字校园统一平台的建设带来了巨大的困难。(3)校园应用系统的服务对象包括教师、学生、校外人员等,受众面大。一方面,经常由于业务逻辑或业务流程变化等原因导致应用系统本身的变化和修改;另一方面,经常有新的应用系统需要被集成。这些造成了系统结构的不稳定,需要数字校园具备对业务系统变化的快速适应和协调能力。网络基础设施(数字传输载体、交换设备、服务器群、存储(NAS)设备,入侵检测(IDS)、防病毒(AntiVirus)、SAN备份系统、计算机终端等)门户平台(身份认证、统一访问接口、个性化用户界面)信息服务系统(信息发布、信息查询与交换、站群(主页集中)管理、搜索引擎)应用系统(办公系统、数字图书馆、管理信息系统、网络教学系统、一卡通系统、后勤服务系统)网络基础服务(电子邮件、BBS服务、文件传输、视频会议、目录服务、公共数据库、虚拟主机、代理服务)2、基于SOA架构的数字校园解决方案的可行性2.1传统数字校园解决方案数字校园是企业应用集成(EnterpriseApplicationIntegration,EAI)的典型案例。传统数字校园的建设模式主要有以下几类:(1)接口集成模式数字校园需要解决的问题是独立应用系统之间的连接,传统的应用系统之间常见的连接方式包括:CORBA、SOCKET通讯、RMI、RPC、EJB、COM/COM+、HTTP和FTP等,数据库系统之间常见的连接规范包括:ODBC、JDBC。上述这些规范在企业应用系统或数据库系统之间传统的点对点的连接中得以广泛应用。但是由于这些系统之间的连接是通过上述连接接口实现的,缺乏一定的规范和标准,使得在今后新系统的加入和旧系统的移植过程中,会产生接口兼容性问题。而且,随着应用系统的逐渐增加,体系结构变得越来越庞大,系统复杂程度将呈几何级增长。(2)应用集成模式应用集成模式通过适配器技术将原有数据库系统、应用系统和原有网络服务组件封装起来,实现系统之间的互通互联。集成厂商为了解决系统之间的连接而开发的可重用的、统一的适配器,通过该适配器每一个应用系统仅需要与业务整合平台相连,而不需要与每个与之交互的应用系统相连。从数据集成的角度来看,该模式的主要问题在于缺乏一种对数据格式的统一描述方法,导致信息载体所采用的数据封装形式有所不同,无法保证经过转换后的目标数据能够完全准确地表达源数据的信息,容易造成信息的丢失;此外,缺少一个全局的语义完整性控制,在应用整合层面上解决由于各局部数据库的异构性而引起的数据对象的命名、数据的格式以及数据结构等方面的不一致问题,无法为全局用户提供全局数据信息的集成和统一的表示。另一方面,这类集成住住由厂商主导完成,这些厂商使用的都是各自专有的集成引擎,使用专有的适配器来连接各个应用,使用专有的技术来集成系统,因此缺乏清晰的体系结构,无法重用另外厂商的集成,使得数字校园的扩展性受到限制,在集成的同时又面临更大的集成问题,造成为集成而集成的状况。(3)界面集成模式界面集成模式是应用系统与用户实现人机交互在表示层面上的扩展,通过使用一个统一的界面(典型的是基于浏览器的界面)代替所有系统的界面来访问原有的系统。该模式更多的是一种系统用户数据或展示内容的集成,如Portal、单点登陆(SingleSignOn)、用户统一管理、用户认证授权管理等。界面集成模式的问题在于浏览器的应用存在使用界面不友好,无法离线操作等缺点,且对非B/S结构的应用系统无能为力,往往需要对应用系统进行二次开发来满足界面展示和门户应用的需要,建设成本过高。在数字校园的实际构建过程中,既有采用一种模式实现集成,也有采用混合模式来实现的。但是,由于传统数字校园建设固有模式和方法的局限,无法将所有的应用系统和数据真正实现统一集成,目前所采用的多是重构业务系统或部分系统集成的方式。2.2面向服务的体系架构面向服务的体系结构SOA(Service-OrientedArchitecture,SOA)是一个组件模型,它将应用程序的不同功能单元通过服务之间定义良好的接口和契约联系起来。接口采用中立的方式进行定义,独立于实现服务的硬件平台、操作系统和编程语言,使得构建在各种系统中的服务可以以一种统一和通用的方式进行交互。SOA包括一套构架的原则和模式,由三部分组成:服务提供者、服务消费者和注册中心。基于SOA的EAI将原有系统的功能封装成服务,通过调用服务完成不同系统间的信息共享,达到应用整合的目的。这是一种较高层次的整合,使得应用集成不再关注于底层的实现细节,应用系统成为真正的“黑箱”。目前,实现SOA架构主要使用的技术是Web服务,Web服务是架构在XML技术上,基于标准体系的组件化松散耦合技术,采用的核心技术包括SOAP、WSDL、UDDI等标准协议,其目标是实现不同系统间跨平台、跨编程语言的可互操作性,实现在当前环境下最高的可集成性,如图2所示。图2基于Web服务技术的SOA架构图SOA使得数字校园的实现成为了可能。通过采用SOA框架,可以最大程度地减少系统间的耦合,提高重用性。主要表现在以下几个方面:(1)SOA体系架构通过在应用系统的对外接口上采用统一的对象模型进行封装,使原有的应用系统无需更改即可兼容不同的平台、语言和对象模型。应用系统在集成时无须提供多种接口来进行集成双方的对接,避免了资源的重复部署。而且,即使业务系统发生变化,也无须在后期对集成框架进行更改。(2)SOA提供了一种松散耦合的机制。通过使用HTTTP、XML、SOAP等标准协议,应用系统只需理解一种通用的对象接口就可以集成并调用其它的网络服务,而无需考虑服务的内部实现机制、操作平台、开发语言等细节。而且,当Web服务产生了接口或功能上的更改,调用方也可以通过Web服务的描述性文档(WSDL),及时地发现并自动适应这样的更改。(3)UDDI注册中心以Web服务的方式存放所有应用实体的信息和交互参数,系统可以通过自发的无人参与的方式,发现并且集成新的应用系统及其提供的新服务。只要Web服务的提供者在UDDI注册中心登记了自己所提供的Web服务描述信息,就可以被任何其它Web服务的请求者发现并利用。SOA将传统数字校园的数据集成模式转变为应用系统之间基于标准协议对话的模式,使应用系统可以通过校园网进行数据、信息及服务的交换。通过采用Web服务技术,服务的内部实现细节被封装在通过SOAP/WSDL传递的信息流之中,解决了异构应用系统之间的信息交换和集成的问题。克服了传统数字校园建设模式集成困难、结构复杂、兼容性差、厂商依赖性大、成本过高等缺陷。3、基于SOA架构数字校园的设计图3是基于SOA的数字校园平台架构图,系统分为四层,自底向上分别为:应用系统层、服务提供层、公共数据层、用户表示层。图3基于SOA的数字校园平台架构图(1)应用系统层提高重用性是SOA架构的一个重要目标,为了使原有的应用系统能以一种松散耦合的方式集成,可以将系统封装成Web服务,用统一的方式暴露接口(如一个或多个WSDL),将应用系统原来以各种API形式暴露的接口用WSDL重新描述,并使用HTTP+SOAP的消息传输方式作为与外界交互的桥梁。用Web服务封装应用系统可以屏蔽原有系统的实现细节,消除不同技术之间集成的困难。当系统的业务逻辑或实现技术需要更改时,只要Web服务的WSDL接口不变,服务调用方就不需要作任何改动。(2)服务提供层服务提供层是应用系统单个功能和任务的抽象和封装,通过调整服务提供层中不同服务的组合方式,能够摆脱下层应用系统细粒度服务的限制,实现许多全新的业务功能和逻辑,向上为公共数据层提供不同的数据源和数据形式,向下为应用系统层提供数据转换、数据过滤、消息传递等服务。服务提供层功能的实现主要依赖于公共服务总线(PublicServiceBus,PSB)和服务引擎(ServiceEngine)。PSB从应用层提取SOAP消息并提交给Web服务,并把响应信息格式化为SOAP消息发回给服务请求者。PSB采用标准的SOAP协议作为数据传输协议来实现应用系统间的互操作,为Web服务提供适配与接口标准,并通过内部软件模块与元数据来完成管理与控制。服务引擎代表了粗粒度服务的实现,它通过将原应用的API重新组合成具有更粗粒度的服务来代表抽象服务的实体,满足应用的平台无关性、高可用性、扩展性的要求。(3)公共数据层相对于传统企业应用系统集成方案来说,数字校园原有应用系统的业务功能本质上是相对独立的,需要实现的功能主要是满足用户表示层数据定制的需求以及系统间数据的共享。因此,公共数据层是构建数字校园最重要的方法和手段,它通过搭建一个数据平台来实现校园内各类应用系统的互通互连和数据共享,并且通过用户表示层的形式将这些应用系统提供的数据和服务集成在一起,供用户访问、利用。公共数据层是一个面向服务、规范统一、灵活可扩的系统,服务于学校的教学、科研、管理和生活等各个方面,通过门户服务、系统集