基于SOA的学校信息整合架构设计与实现

2010-10-18 07:53林丽娟
中国教育信息化 2010年19期
关键词:业务流程架构管理系统

林丽娟

(上海戏剧学院附属戏曲学校,上海 201102)

基于SOA的学校信息整合架构设计与实现

林丽娟

(上海戏剧学院附属戏曲学校,上海 201102)

笔者在分析了学校各业务系统的应用现状和所面临困难的基础上,提出了基于Web Service技术的SOA信息整合架构。在信息整合架构的各个层次中贯穿面向服务架构(SOA)的思想,按照这种方式建立起来的Web服务将满足系统间松散耦合的要求,能够适应学校不断变化的业务需求。

面向服务架构;企业服务总线;Web服务;信息整合

一、引言

中国教育信息化从20世纪90年代中开始进入快速发展期,但由于人们对信息化认识程度的差异,以及对信息化需求迫切程度的不同,不同部门先后开发了不同的部门级的应用系统,这样建立的信息系统由不同时间开发的不同系统组成,各个系统间缺乏关联,使得信息不能有效共享、应用难以集成、用户界面风格各异,严重阻碍了高校信息化的深入。

各学校经过多年的信息化建设,已经建成多个信息系统,如:学籍管理系统、教务管理系统、网上选课系统 、校园卡系统(借书证、就餐卡)、学费管理系统、题库管理系统、教学管理系统、多媒体课件管理系统、图书管理系统、财务管理系统、在线培训与考试系统、BBS等若干应用系统,这些信息系统间交互性差,因而经常会出现学校各部门间数据更新不同步、数据不一致,各系统部分功能模块重复开发、重用率低等问题。这种日益突出的孤岛问题正越来越严重地阻碍着学校内部信息流的有效传输。各系统间的信息孤岛引发的问题很多,主要有:数据不能有效共享、软件缺乏有效重用、应用缺乏有效集成以及访问界面各不相同。[1]如何将这些“信息孤岛”有效贯穿起来,即进行信息整合,以便让不同的应用系统之间交互信息,向广大师生提供更好的信息服务,已成为学校管理中亟待解决的问题。

此外,学校内信息整合不是一个简单的合并过程,整合有整理、合并的意思,整合能够使原有信息更加有条理,并且能够集中有序地反映出来,它是对原有信息的集中、分类、合并、整理、再利用与提高。所谓整合,就是通过各种手段、方法和工具将已有的资源(包括数据、信息、服务、流程、应用)集成起来,并按照一定的逻辑关系进行组织再利用,从而实现价值增加的过程。基于不同的整合对象,本文提出了基于SOA的信息分层整合架构。

二、面向服务的架构和We b服务

1.面向服务的架构概述

面向服务的架构(Service-Oriented Architecture,简称为SOA)是一种软件架构,该架构采用一组可相互通信的、松散耦合的、能完成特定任务的独立功能实体(称为服务)而构建起来,用于解决Internet环境中业务集成的问题,在这些服务之间通过标准的接口进行统一方式交互,以至于可以独立于具体实现服务的硬件平台、操作系统和编程语言。SOA架构具有位置透明性、松耦合性以及协议无关性。通过这些SOA架构的特点可以知道,如果基于SOA来构建系统架构,就可以从底层架构的级别来保证整个系统的松耦合性以及灵活性,这都为未来学校业务系统的扩展打好了基础。[2]

2.Web 服务

Web服务建立在开放标准协议的基础之上,Web服务在服务提供者和消费者之间进行通信,通常使用一种基于 XML 的 SOAP(Simple Object Access Protocol)协议通过HTTP进行相互间访问。Web服务为了让其他程序调用,可通过 WSDL(Web Service Definition Language)定义的接口来在注册中心进行注册公布。UDDI协议用于Web服务和注册中心进行交互、注册以及查找服务。Web服务具有强自治、松耦合、开放性、可集成等特征。Web服务对于调用者来说可以不必关心服务实现的具体细节,只需提供标准定义的接口即可。正是这种标准接口的设计模式使Web服务的调用者和提供者之间只需很简单的协调即可。另外,标准Web服务协议完全屏蔽了不同软件平台的差异,无论是CORBA、DCOM,还是EJB,都可以通过标准协议进行互操作,实现当前环境下的可集成性。Web Services描述了一组操作的接口,该接口包含了与服务交互所需的各种信息,主要有消息格式、传输协议和位置,由于该标准化的接口隐藏了具体服务实现的具体细节,使得该服务的调用与该服务的实现、软硬件平台、服务编写所用的语言无关。

Web服务在商业注册中心UDDI(Universal Description Discovery and Integration)的注册发布可通过WSDL语言来描述,对于Web服务的调用者来说可通过SOAP协议进行访问在UDDI中注册的服务,从而使开发者和应用程序可以搜索并定位到该服务。Web Services的架构包括三个清晰的角色定义,图1显示了它们之间的关系。

三、基于S O A架构的信息整合模型

1.基于SOA架构的信息整合架构模型

本文提出的基于SOA架构的信息整合架构模型如图2所示。

基于SOA架构的信息整合架构模型分为5层:

第1层是已经存在的系统数据资源,例如学籍管理系统、食堂就餐卡系统等的数据资源。该层的整合重点在于数据的整合。

第2层是构件层,在这一层中我们用不同的构件把底层系统的功能封装起来,并对软件构件进行管理,以便实现构件的复用。

第3层是SOA系统中最重要的服务层,在该层中我们要用底层功能构件来构建我们所需要的不同功能的服务。该层又分为服务描述子层、服务发布子层和服务发现子层。服务描述子层为Web Service进行服务实现和服务接口的描述,所使用的规范为WSDL,WSDL是一种定义服务实现和接口的基础标准,在WSDL中要指定业务环境、服务质量和服务之间的关系,还需要另外的描述手段。在服务发布子层,服务提供者可以将WSDL文档发布到UDDI注册中心,或者发布到本地的注册库,以便服务的调用者可以通过这些注册库来获得WSDL文档。服务的发现是基于服务发布的。服务调用者也可以通过本地WSDL注册库或UDDI注册中心来发现服务发布者的WSDL文档。服务层是基于SOA信息整合模型架构中最重要的一层,在该层中,需要将软件构件封装成颗粒化的服务,并对这些服务进行发布、注册、调用和管理,以方便在搭建业务系统时对这些全方位、颗粒化的服务进行整合。

第4层是业务流程层,在这一层中我们利用已经封装好的各种服务来构建业务系统中的业务流程,由于基于颗粒化服务的业务流程配置灵活,实现方便,故能够对业务需求的变化及时做出反应、调整。业务流程管理是业务模式层面的,SOA是实现业务流程管理有效的IT手段,是执行层面的,作为IT基础设施它能够灵活配置,快速适应业务需求的变化。在基于SOA的信息整合模型中,业务流程整合是衔接业务模型和IT模型的关键一环。业务流程的整合就是将原有的分散于企业内部或外部的“业务流程断点”进行链接,将本来在这些系统间的“流程的中断点”上需要人工干预或手动处理的操作由系统自动进行处理,对用户来说,就像没有跨应用系统一样,使得不同的管理部门能够在一个统一的网络环境中实现对同一事务的协同处理。在流程重组方面,Web服务提供了方便组装,方便展示的小的应用模块,Web服务可以作为小的功能模块在需要的时候方便地进行组装,这样就可以做到及时地应对业务需求的变化。

第5层是表示层,我们利用表示层来向用户提供用户接口服务,这一层采用基于portal的系统来构建。表示层整合主要采用门户技术解决单点登录、个性化配置等系统访问上的界面整合。

2.学校业务系统流程整合方案

学校的每个信息系统均有自己独特的业务流程,这些流程可能是程序写“死”的,也可能包含工作流组件,使得流程可配置,由于软件设计上和架构上的原因,这些业务流程在本系统中可以正常流转,但与其他业务系统中在流程上的交互通常存在这样或那样的问题。通常来说,这种问题由于牵涉多个业务系统,一般只能靠人工干预的方式解决,并且在任何一个业务系统的改变都不能很好的解决业务流程中断点衔接的问题。而这种手工处理方式的缺点显而易见:业务不能及时进行处理,无法跨系统跟踪流程进度,尤其在跨系统的流程中断点上的业务处理困难、费时、费力,流转效率不高,缺乏流程分析功能等缺点,因此学校各系统间业务流程的整合和优化势在必行。其中关键的工作是将业务应用拆开成粒度大小可以伸缩、又可以重新组装的服务,这样业务流程的变更、重组将变得很容易。由于服务可以直接被应用调用和组合,从而降低了服务对系统交互的信赖性。服务之间则通过简单、精确定义的接口进行通信,而不涉及底层的编程进口和通讯模型。然后引入工作流管理系统,搭建一个工作流平台,实现各系统间业务流程的整合。工作流管理系统将业务流程描述作为输入并管理流程实例的执行,这使得它比专门应用更灵活。工作流管理系统可以用来管理全局的业务流程,并与应用系统相互协作,将各个业务系统的小流程整合起来形成一个能够自动流转的大流程。另外,现有流程是否适合实际情况只能通过实际工作来检验。但手工处理无法统计各个环节的处理效率,因此对流程的评估都是大致的、无法量化,对流程的改造缺乏科学的统计数据做基础。通过采用先进的信息技术,可以对现有流程做深入分析,并对其进行进一步优化。

四、面向服务架构的信息整合实施步骤和关键问题

1.学校面向服务架构的信息整合步骤

SOA需要把紧耦合的系统打散了,做成松耦合的服务,为了达到这个目的,需要对高校中各种各样的系统都进行改造,使之服务化。采用Web Service的SOA技术对现有信息系统进行整合的具体步骤如下:

(1)提取各个应用系统中需要对外开放的功能模块。这些功能模块通常都是一些能够清晰完整地表现其业务价值的软件模块。服务是基于SOA信息整合中的关键元素,如何从业务系统中发现和开发业务服务是决定能否成功构建SOA信息整合的关键因素,其方法是,首先分析业务模型,其次进行业务领域分解和子系统分析。

(2)以服务的形式将这些功能模块进行封装。定义服务的描述信息、服务的接口信息以及调用服务所需要的定位信息等。将软件模块的概念模型转换成实际的服务模型。

(3)将已实现的服务发布到服务注册器,以供其他服务调用者进行查找和绑定。

(4)绑定和调用服务。将这些颗粒化的服务串接起来形成新的业务功能,以实现各应用系统的集成。

2.实施过程中需注意的问题

我们首先要明白,SOA决不是简单的一蹴而就的项目,而是一个有可能需要耗费几年时间,需要分阶段实施的蓝图方案。在SOA实施之前需要更多的业务流程方面的工作,如业务流程分析和优化会为SOA项目奠定良好的基础。在SOA实施之前应把业务流程仔细梳理一遍,定义业务关键点,以及明确每个关键点将涉及哪些关键业务操作,分析这些关键业务操作中哪些与其他系统或平台相关,其他系统或平台又需要为这些业务操作提供哪些服务,最终确定每个系统需定义的SOA服务。

3.学校核心业务的Web服务

对学校的核心业务进行服务化封装,形成各业务所需要的颗粒化模块。目前可对原有各个系统共享服务进行封装的主要有:

教务管理系统:(学生)可选课程信息服务、(学生)对教学的评价服务、(学生)课表查询服务、(学生)成绩查询服务、(学生)教师查学服务、(教师)各种统计汇总服务(如:成绩、保籍、借读、休学、辍学等)、学籍信息服务、校历查询服务等。

网上选课系统:(学生)选课服务、(教师)选课学生名单服务、(学生)课表查询服务等。

图书管理系统:借书查询服务、过期图书查询服务等。

食堂就餐卡管理系统:就餐消费查询服务、余额查询服务等。

门禁管理系统:身份认证服务、门禁与考勤服务等。

对于新建的校园一卡通系统可以直接用Web Service调用其他系统封装好的服务,具体服务有:食堂就餐卡管理系统的就餐消费查询服务、食堂就餐卡管理系统的余额查询服务、图书管理系统的借书查询服务、门禁管理系统的身份认证服务、门禁管理系统的(教师)门禁与考勤服务等等。

其他系统的服务封装在这里就不一一列举了。

五、We b服务创建示例

1.场景示例

业务流程服务是为学校业务流程的运行提供支撑的一组标准服务。业务流程是一组服务的集合,可以按照特定的顺序并使用一组特定的规则进行调用。业务流程服务提供流程驱动、服务调用、事务管理等功能。如学校学生毕业流程和新生入学流程。对于学生毕业流程来说,由于牵涉多个系统的手续要办理,具体有教务管理系统中的学籍管理信息和所有考试成绩查询、图书管理系统中的借书查询、食堂就餐卡管理系统的余额查询、门禁管理系统的身份认证等。如果采用业务流程管理将这些系统中的服务串接起来,这样在一个地方就可以办理离校的所有手续了。

2.Web 服务创建示例

以毕业生毕业时办理离校手续为例,要查看是否在图书馆有书没有还,在学籍管理的离校服务中调用图书管理系统的借书查询服务即可实现,现在我们以该场景调用的图书管理系统的借书查询服务的创建为例,来说明Web服务的创建。

创建一个Web服务可首先创建一个.asmx文件(可以用Visual Studio.NET或自己喜欢的任何文本编辑器),Web服务作为一个普通的类进行创建,在方法的前面有一个宏,表明这个方法是通过Web服务来访问的。以图书管理系统的借书查询服务的创建来举例,下面就是实现的代码(略去了非关键代码):

Return GetBookDataSet(SQL Query)'这里的参数SQL用来得到某用户(stuID)的所有借的书

End Function六、结束语

本论文提出了基于Web Service技术的SOA信息整合架构,按照这种方式建立起来的Web服务将满足系统间松散耦合的要求,能够适应不断变化的业务环境的要求。在整合架构的服务层构建了Web服务后,各系统可通过Web服务进行交互,实现学校各应用系统间灵活、可扩展的信息整合。

[1]文琪,乔林,王行言.校园网中基于信息整合的检索系统解决方案[J].计算机应用,2005,25(B12):500-502.

[2]张亮,葛敏辉,毕晓亮.虚拟化与信息整合技术在电力调度中心的应用[J].电力系统自动化,2008,32(16):38-42.

(编辑:隗爽)

TP319

A

1673-8454(2010)19-0029-04

猜你喜欢
业务流程架构管理系统
基于FPGA的RNN硬件加速架构
航天企业基于信息化的业务流程体系构建方法研究
基于James的院内邮件管理系统的实现
ERP系统在企业财务管理和业务流程管理中的应用
功能架构在电子电气架构开发中的应用和实践
基于云服务的图书馆IT架构
基于LED联动显示的违停管理系统
互联网+背景下物流公司的业务流程再造
WebGIS架构下的地理信息系统构建研究
海盾压载水管理系统