<p> 我在一个软件企业从事软件架构设计工作,2007年4月,我公司承担了某高校的应用集成项目,该校领导决定投资建立一个可扩展的统一集成平台,以解决学校信息系统中复杂、分散、异构的数据信息之间的交换、相互转换、共享等问题。<br> 为了集成已有的系统,保护用户投资,同时,又要使已有的系统之间能够通信,使已有的系统与新开发系统之间也能够通信。在该项目中,我们采用中心辐射型消息代理技术,将中心辐射型集成模型引入到高校应用集成,结合相关标准,建立了一个适应于IT技术发展的、面向教育应用的可扩展集成架构。在中心辐射集成架构中,消息系统具有高度可扩展性,容易与其他系统进行集成,对于异构系统的集成效果显著。该项目完成至今已接近1年,从运行的效果来看,达到了项目的预期目标。项目验收时,得到了同行专家和该大学领导及有关人员的好评。<br> 正文:<br> 软件架构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。软件架构不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。软件架构的设计是整个软件开发过程中关键的一步。对于当今世界上庞大而复杂的系统来说,没有一个合适的架构而要有一个成功的软件设计几乎是不可想象的。不同类型的系统需要不同的架构,甚至一个系统的不同子系统也需要不同的架构。架构的选择往往会成为一个系统设计成败的关键。<br> 经过二十多年的信息化建设,我国高校的信息化工作取得了很大的发展,一些高校建立了多个应用系统。例如学籍管理系统、档案管理系统、办公自动化系统、财务管理系统、设备物资管理系统、劳资管理系统、图书馆管理系统等。由于这些系统在不同的时期开发,运行于不同的系统平台,采用了不同的技术和不同的标准规范,导致这些系统都是一些“信息孤岛”,系统之间的数据共享和交换存在问题。同时,高校对信息化的需求又是不断扩展和发生变化的,这决定了任何一家厂商都不可能提供一所高校所需要的所有产品,高校需要采购不同厂商的软件产品。因此,在同一高校环境下,集成不同厂商的应用软件是高校信息化实施过程中必然要面临和解决的问题。<br> 我在一个软件企业工作,2007年4月,我所在的公司承担了某高校的应用集成项目,该校领导决定投资建立一个可扩展的统一集成平台,以解决学校信息系统中复杂、分散、异构的数据信息之间的交换、相互转换、共享等问题。该校已有的系统主要有办公自动化系统、财务管理系统、设备物资管理系统、图书馆管理系统和教务管理系统,要求新开发招生管理系统、就业管理系统、劳资管理系统、人事管理系统和科研管理系统。我有幸参加了该项目的开发,并担任架构师职务,主要负责系统架构设计工作。<br> 通过系统分析,我们发现该高校信息化建设存在以下几方面的问题:<br> (1)目前,各系统厂商各自为政,致使学校缺乏一套通用的数据标准。<br> (2)现有各系统之间主要依靠数据的直接共享达到集成的目的。在系统之间进行信息交换的过程中,被交换信息的安全性没有保障。<br> (3)部分系统之间已经进行了紧密集成,增加了扩展教育信息系统的难度,某一个系统的调整或维护会影响整个学校其他系统的正常工作。<br> (4)现有系统的集成接口数量众多,难以维护。随着系统数量的增加,接口数量成比例增加。多家厂商所开发的系统之间的协调、异构平台之间的信息共享比较困难。<br> 基于该校信息化存在的上述问题,我们认为,应用集成的架构必须体现遵循以下原则:<br> (1)可扩展性:使得高校应用集成可以快速进行,有较强的通用性,各系统之间属于松散耦合,保证教育信息系统的可持续性发展。<br> (2)标准化:采用教育行业的信息交换标准进行信息集成。<br> (3)安全性:充分考虑高校应用集成过程面临的安全问题,各应用系统之间不直接进行数据共享或交换,采用基于消息的方式进行集成。<br> (4)保护现有投资:高校应用集成必须考虑已有系统,充分发挥现有系统的作用,保护现有投资。<br> 为了实现可扩展性强、安全性高的应用集成,经过研究和实践,我们设计了一个基于国家教育部标准的中心辐射型集成架构,该架构既包括数据集成,也包括应用集成。<br> 我们采用中心辐射型消息代理技术,将中心辐射型集成模型引入到高校应用集成,结合相关标准,建立一个适应于IT技术发展的、面向教育应用的可扩展集成架构。该架构使各异构系统之间的信息交换采用消息传递的方式,系统之间的通信只取决于消息发布和消息订阅,并不需要知道系统的位置,以及具体做什么和怎么做。每个系统只关心各自订阅的消息和需要发布的消息。中心辐射型集成架构如图21-3所示。模<img src="http://que-oss.fenziquan.com/web/akimg/asource/2016091908334952777.gif">型中各辐射与中心服务器之间的消息传递直接采用标准的消息格式,任何需要接入的应用产品(一个辐射)只要将自己的接口充分暴露给中心服务器即可。消息在中心服务器内既可以采用消息队列方式进行调度,也可以采用消息代理的方式进行调度。各应用系统之间基于发布与订阅方式进行消息交互,各应用系统以广播的方式发布标准消息,消息进入中心服务器,中心服务器再根据相应的业务流程组织,将消息发送给订阅该消息的应用系统,被请求系统进而做出回应。<br> 该集成架构具有以下优势:<br> (1)在中心辐射型集成架构中,消息系统具有高度可扩展性,容易与其他系统进行集成。<br> (2)中心辐射型集成架构为建立动态、可靠和灵活的系统提供了基础。在中心辐射型集成架构中,消息的生产者和使用者之间是一种松散耦合的关系,这种关系基于对消息的异步处理。对于使用者来说,它并不在乎是谁产生了消息、产生者是否仍在网络上,以及消息是什么时候产生的。对于生产者来说,它也并不在乎谁将接收这个消息。生产者和使用者只需将接收消息的格式达成一致,就可以达到目的。这样,一个子系统的修改不会影响其他子系统的正常运行。<br> (3)消息系统具有高度的可靠性,消息服务为消息传递提供保证,可以指定给消息不同的优先级别,从而保证关键任务消息比常规消息的传送有更高的吞吐量。<br> 在选择集成服务器平台时,我们将Microsoft的BizTalkServer、IBM的WBI、BEA的WeblogicIntergration和Oracle的HTB进行比较,这些产品的设计思想基本相同,仅仅是实现方法有所区别。由于该大学的基础数据库建立在Oracle数据库上,因此,我们选用了Oracle的HTB作为集成服务器平台。<br> 该项目完成至今已接近一年,从运行的效果来看,达到了项目的预期目标。项目验收时,得到了同行专家和该大学领导及有关人员的好评。</p>