基于SOA的校园信息系统集成研究

时间:2022-08-31 06:56:45

基于SOA的校园信息系统集成研究

摘要:分析了当前校园信息系统集成存在的主要问题,讨论了面向服务架构(SOA)的基本原理、分层模型和实现技术,提出了一种基于soa校园信息系统集成框架,最后阐述了系统的集成方法。

关键词:SOA;数字化校园;集成;ESB

中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)11-20209-02

1 引言

在当前的数字化校园建设中,信息系统多采用先开发后集成的模式,存在系统接口定义混乱、缺乏统一的软件开发规范、系统集成困难等问题。而传统的企业应用集成(EAI)在一定程度上满足了校园信息系统的集成需求,但存在与旧系统关系紧密耦合、重用性有限、不能很好适应业务变化、投资较大、协议非标准、对硬件平台要求高等缺点[1]。例如我院从1992年的成绩管理系统到2007年的饭堂一卡通系统,经历了面向过程、面向对象、面对服务的软件范型发展,各个系统存在部分相同的基础数据,经常要进行多个系统间的数据交换,使用系统接口和中间件能解决部分问题,但随着旧业务变化和新开发应用的加入,新的集成技术需求越来越迫切。

面向服务架构(Service Oriented Architecture,SOA)的设计目标是以服务为基础, 通过服务的交互来实现系统动态、松耦合集成, 极大地降低了复杂性与成本[2]。SOA 的信息服务理念与数字化校园的业务服务理念一致,整合异质、异构信息资源,为用户提供多样化、个性化的信息服务。

本文首先介绍SOA的基本原理和实现技术,然后提出一种基于SOA的校园信息系统集成框架,最后阐述系统的集成方法。

2 面向服务架构

2.1 SOA概述

在1996年首次提出SOA概念的Gartner公司将其描述为:“客户端/服务器的软件设计方法,一项应用由软件服务和软件服务使用者组成,SOA与大多数通用的客户端/服务器模型的不同之处在于它着重强调软件组件的松散耦合,并使用独立的标准接口。”[3]

SOA的体系结构包括四个参与者[4]:服务消费者、服务提供者、服务者(服务注册中心),合同,如图1所示。

图中,服务是基本组件,是指业务服务,代表一个由服务提供者向服务消费者的处理过程, 服务需连接在一起来实现业务流程。这包含两个层面的含义[5], 一是在相对较粗的粒度上对应用服务或业务模块进行封装与重用, 实现端到业务流程的一整套服务; 二是利用显式的、与实现无关的接口来定义服务, 以有效支持灵活的、动态重配置的流程。

SOA模型通常分为组件层、Web 服务层、业务流程层等[6]。组件层使用具体的分布式组件技术实现业务功能,Web 服务层则为组件层提供了一种技术无关的通用访问方式,屏蔽组件层具体技术之间的差异,突出业务逻辑的封装性。组件层中的业务组件和Web 服务层的Web 服务构成了企业IT 架构的主要可重用部件,它们应该保持相对的稳定,业务流程层则通过对服务进行编排,来适应业务需求的变化。因此,SOA是通过引入Web服务层来解决系统的应用集成问题的。

2.2 SOA的实现技术

为了实现 SOA,应用程序和基础架构都必须支持 SOA 原则[7]。这个原则一般可以表述为: ①SOA 在相对较粗的粒度上对应用服务或业务模块进行封装与重用; ②服务间保持松散耦合, 基于开放的标准, 服务的接口描述与具体实现无关; ③灵活的架构――服务的实现细节, 服务的位置乃至服务请求的底层协议都应该透明。

Web Services是一种SOA的详细实现,它是建立在Web/XML标准上的跨平台的分布式体系结构,在Internet/Intranet上通过标准的XML协议和信息格式来和访问商业应用系统。它以一种松散服务的捆绑集合形式,实现了不同服务之间的快速地开发、发现、和动态绑定的功能。Web Services通过HTTP使用SOAP(一种基于XML的协议),以便在服务提供者和消费者之间进行通信。服务通过WSDL(Web Service Definition Language)定义的接口来公开,WSDL的语义用XML定义。UDDI是一种语言无关的协议,用于和注册中心进行交互以及查找服务。

企业服务总线(Enterprise Service Bus,ESB)是由中间件技术实现并支持 SOA 的一组基础架构功能[8]。在ESB上, 被集成的对象被明确定义为服务, 极大简化了在集成异构性上的考虑, 帮助建立以服务为核心的基础架构平台。ESB提供了最基本的功能保障SOA 系统的运行: ①在总线范畴内对服务的注册命名及寻址管理功能;②面向服务的中介功能, 例如提供位置透明性的服务路由和定位服务、多种消息传递形式和支持广泛使用的传输协议; ③支持多种服务集成方式, 比如JCA、Web 服务、Messaging、Adaptor ; ④对服务管理的支持,如服务调用的记录、测量和监控数据的提供。在SOA 分层模型中,ESB 用于组件层以及Web服务层之间,它能够通过多种通信协议连接并集成不同平台上的组件将其映射成服务层的服务。

目前国内外对ESB的研究很积极,出现了很多代表性的产品,包括企业级ESB的IBM WebSphere ESB、BEA AquaLogic Service Bus等和以开源为代表的轻量级ESB:Mule、Service Mix、Celtix、Sun 领导的JBI 规范草案等。

3 基于SOA的校园信息系统集成框架

基于SOA的原则和思想,下面提出一种校园信息系统的集成框架,如图2 所示分表示层、业务流程层、Web服务层和组件层四个层次结构。

(1)表示层

负责处理校园信息化系统与校园内外用户的接口及相关的组件。信息门户给用户提供了一个统一的、个性化的界面, 通过它可以访问系统的各种不同的服务,同时可以为业务流程层提供授权认证权限、信息的传输。

(2)业务流程层

集成了各种业务规则和逻辑,包括流程任务、任务间的控制流、任务间的数据流以及流程相关的其他规则,提供企业门户的服务请求者统一权限认证和业务活动监控(Business Activity Monitoring, BAM) 。业务服务总线层将细粒度服务编排融合为粗粒度服务并为各业务对象提供目录、路由服务以动态绑定到所需要的服务[9]。这一层侧重在业务支持上,通过通用和标准的对象和服务模型,可以在这一层上定义各个Web 服务的业务流程,通过WS-BPEL和WSDL语言能够灵活调用各个功能模块。

(3)Web服务层

定义了在服务间交换,以及提供服务请求者使用的业务层的数据,将原有系统所提供的功能组件以Web服务封装,新系统也以Web服务开发,并将这些服务到UDDI公共目录服务器中注册, 以提供目录路由服务。各个服务通过ESB来互相访问。Web服务层实际上是一个Web Services 容器, 它是处于核心地位的。还有服务质量和安全管理功能,保证安全的访问。

(4)组件层

实现校园现有和正在开发系统的接口数据格式的统一、数据库和文件系统数据的统一。

具体的实现工具和软件包括:Mule 1.3,Spring1.2,Struts1.4 JSP,Tomcat 5.28,,MyEclipse5.5等。

上一篇:浅议Delphi程序如何实现自动升级 下一篇:Oracle数据库容灾在电力系统中的应用