基于SOA的院务管理信息系统

时间:2022-10-12 08:59:19

基于SOA的院务管理信息系统

如何充分利用原有系统的资源,建立开放灵活、低代价的系统已成为高校信息化建设的关键。面向服务的体系结构(SOA)是一种新兴的软件体系结构,为解决分布式环境中软件重用、扩展和提高软件开发效率提供了解决方案。

目前高校各个部门都很重视信息化建设,然而由于传统的软件开发使用的平台、开发工具、操作系统在结构上的紧耦合,不同部门或同一部门内部大多存在多套信息管理系统,有各自的数据库和独立的应用程序,以致这些位置上分散的独立系统逐渐形成了所谓的“信息孤岛”,广大师生在被要求反复提供相同的数据时,由于厌烦而消极应付甚至拒绝使用,并且可能造成许多数据不一致现象,各个部门需要花费大量人力来审核校对。

因此,迫切需要一种松耦合、跨平台的分布式体系结构来重用已有功能模块,使得旧有系统方便地纳入到新系统,从而充分利用现有系统,加快软件开发速度。面向服务的体系结构 (service oriented architecture,SOA)软件方法的提出,为上述问题提供了解决方案,特别是随着Web服务(Web service)和网格技术的成熟,该解决方案更具优越性。

本文将以我校院务管理信息系统为背景,讨论如何利用基于Web服务的soa提供的这种较面向对象和基于构件更好的软件复用方法,去构建出一个松散耦合的分布式系统,以达到复用度高和扩展性好的目的。

SOA体系结构研究

SOA是指为了解决在Internet环境下业务集成的需要,通过连接能完成特定任务的独立功能实体实现的一种软件系统架构。SOA不是一种语言,也不是一种具体的技术而是一种软件系统架构,在这种体系结构中,所有功能都定义为独立的服务,这些服务带有明确的可调用接口,使用者可以按定义好的顺序调用这些服务来形成业务流程。它支持业务伙伴之间的端到端集成,提供一种灵活的业务流程模型。

SOA伴随着无处不在的标准,为企业的现有资产或投资带来了更好的重用性。能够在最新的和现有的应用之上创建应用;能够使客户或服务消费者免予服务实现的改变所带来的影响;能够升级单个服务或服务消费者而无需重写整个应用,也无需保留已经不再适用于新需求的现有系统。

总之,SOA以借助现有的应用来组合产生新服务的敏捷方式,提供给企业更好的灵活性来构建应用程序和业务流程。

SOA与Web Service

采用SOA构建的分布式应用程序可以将功能作为服务交付给终端用户,实现时可以采用多种方法,可以利用传统的CORBA或DCOM机制,也可以基于 Web 服务,实现技术是SOA原则针对具体应用环境而定的。在理解SOA和Web服务的关系上,经常发生混淆。根据2003年4月的Gartner报告,Yefim V.Natis就这个问题是这样解释的:“Web服务是技术规范,而SOA是设计原则。特别是Web服务中的WSDL,是一个SOA配套的接口定义标准,这是Web服务和SOA的根本联系。”从本质上来说,SOA是一种架构模式,而Web服务是利用一组标准实现的服务。Web服务是实现SOA的方式之一。基于Web服务的SOA与过去应用程序体系结构的不同在于它是基于标准的以及松散耦合的,具有敏捷性、松耦合、跨平台、分布式计算等优点。

基于Web服务的SOA架构

Web服务是独立的、模块化的应用,能够通过Internet来描述、、定位以及调用。在Web服务的体系中包括三个角色:服务提供者(Service Provider)、服务请求者(Service Requester)、服务注册中心(UDDI Registry)。角色间主要有三个操作:(publish)、查找(find)和绑定(bind)。基于Web服务的SOA架构如图1所示:

图1 基于Web服务的SOA架构模型

首先服务提供者会在一个WSDL(Web Services Description Language,Web服务描述语言)文件中描述Web服务,通过建立在SOAP(Simple Object Access Protocol,简单对象访问协议)之上的API把这个Web服务在服务注册中心。服务请求者可以通过UDDI(Universal Description,Discovery,and Integration,统一描述、发现和集成协议)的API在服务注册中心查找合适的服务提供者,找到后进而可以得到WSDL文件。然后服务请求者会在WSDL文件的基础上创建一个SOAP的请求,这个SOAP的请求被发送到服务提供者,服务提供者处理这个请求。服务的请求者可以使用该项服务。

与传统开发方法相比,基于Web服务的SOA具有标准化、松散耦合、共享服务和粗粒度等特点,表现如下:

封装性:Web服务是一种部署在Web上的对象,具备对象的良好封装性,对于使用者而言,他仅能看到该服务的描述。

松散耦合:当一个Web服务的实现发生变更的时候,调用者是不会感到这一点的,对于调用者来说,只要Web服务的接口不变,Web服务的实现的任何变更对他们来说都是透明的。

标准化体系结构:作为Web服务,所有公共的协约使用开放的标准协议进行描述、传输和交换。这些标准协议具有完全免费的规范。只要符合相关标准,不管何时或采用何种工具开发的组件都可纳入到 SOA系统中,同时由于它以业务流程为中心,应用程序可由多个不同的组织进行分解开发。

易于集成现有系统:由于Web服务采取简单的、易于理解的标准Web协议作为组件界面描述和协同描述规范,完全屏蔽了不同软件平台的差异,无论是CORBA、DCOM还是EJB都可以通过这一种标准的协议进行互操作,实现了最高的可集成性。采用SOA开发的应用程序既可以作为独立的应用程序,也可以作为一个服务,因此,不需要修改现有的应用程序就可以迅速将它转换为服务。只要对服务接口进行封装,就可以访问原有的遗留系统。

开放性:Web服务可以与其他Web服务进行交互。它具有语言和平台无关性。支持CORBA、DCOM和EJB等多种组件标准。支持各种通讯协议如:HTTP、SMTP、FTP和RMI等。

加快开发速度,减少成本:把旧有系统封装成服务并加以重用可以缩短设计、开发、测试和部署产品的时间。相应创建新应用的成本大大降低,同时,也减少了管理和维护支持服务的基础架构的风险。

系统总体设计

院务管理系统把办公,教学,科研,固定资产,人事,财务整合成一个整体系统。收集各部门的信息,让各部门的资源共享,形成学院整体线性流管理和各部门的线性流管理的结合,用最简单的方式解决最根本的问题,减少信息流通环节,真正实现管理的现代化和办公自动化。有效地把学院的人,财,物做了一个完整的整合。

院务管理系统包括以下子系统:教务管理系统(学院已有)、实验室资源管理系统(学院已有)、科研论文管理系统、图书资料管理系统(学院已有)、财务管理系统;信息系统(学院已有,校园网)、办公自动化系统(OA)、办公用品管理系统、学生就业管理系统。

该系统采用的是基于Web服务的SOA体系架构。由于它具有松散耦合、分布性的特征,因此该系统可以在不同的校区和不同的用户之间使用;同时,重用是SOA中的一个关键的核心概念,SOA中鼓励尽可能使用已有的服务、对象和应用来构建一个新的系统而不是重新编码。SOA具有易于集成现有应用的特点,因此,对于学院已有的教务管理系统、图书资料管理系统、实验室资源管理系统、信息系统,无需重写代码,只需进行功能复用。

对于新研发的各子系统,均设计成三个层次:Web服务层、客户端程序和最终用户端。Web服务层是Web服务的提供者,这些服务提供对数据库的访问和其它复杂业务功能的实现,该层的Web服务可以提供一个独立的业务功能,以后所有需要这些业务功能的地方只需要请求并调用这些Web服务即可。

客户端程序则根据客户端的请求在私有UDDI中寻找合适的Web服务,并将Web服务的处理结果提供给最终用户端。

最终用户端把从客户端程序获取的数据显示给最终用户,或把用户界面上的信息传给客户端程序。

三层结构使得各类功能间具有明确的划分,其中的Web服务有很好的可重用性。

系统具体实现

由于 JAVA技术具有跨平台的良好特性, 而且J2EE 提供的 Web 服务功能可以很容易地构建能够访问现有业务流程的 SOA系统, 因此使用 J2EE技术开发基于SOA 的 院务管理信息系统

在此项目中包含一个业务逻辑类,它其中的方法可以实现设备的添加或者对现有实验室设备进行查询。

启动WSAD中的Web服务向导将各种方法封装成Web服务。

最后的一步就是客户端使用所的Web服务,Web服务客户端只需首先定位Web 服务,读取关于实验室设备查询和添加的Web服务的WSDL并为客户端生成,然后客户端就可以通过RPC使用来执行相关操作。

编码、生成、和调用已经完整地构成了一个Web服务开发的全过程。通过对系统进行分析设计出符合前文所述SOA中关于服务要求的Web服务,再根据上述Web服务开发过程将其创建出来,最后对这些Web服务进行恰当的流程整合。一个基于SOA架构松耦合的院务管理信息系统就形成了!

SOA的提出代表着标准化、松耦合、粗粒度的软件体系结构的出现,而Web服务因其可靠性、扩展性、易用性和协议开放性而成为实现SOA的主要方式之一。

由于SOA自身具有的优势符合了未来软件发展的趋势,并随着各大软件供应商在此展开的深入研究和激烈竞争,它必然会成为成熟的下一代主流开发技术而得到广泛支持和应用。

上一篇:服务提升软件价值 下一篇:瘦客户机知多少