计算机(3)班 斯军浩 E08620325
摘要: 任何信息系统都需要一个体系结构来提供其战略性描述。这将大大促进软件的互操作性、集成性,提高开发效率,减少重复开发,降低开发成本。体系结构是一个非常值得研究的课题,本文综述了软件体系结构在软件开发应用中所取得的进展,主要介绍了国内外典型的软件体系结构及其应用原理。最后探讨和展望了我国今后的发展方向。
关键词:软件体系结构;TAFLM;DOD;TOGAF
1 概述
IEEE Std 1471-2000把“体系结构”定义为“一个系统的基本组织,体现在组成系统的各构件、构件的相互关系、构件与环境的关系、以及指导构件设计和随时间演进的原则当中”。根据其具体的应用,体系结构有两方面的含义[1]:
●一个系统的形式化描述,或系统在构件层的详细计划,以便指导其实现;
●构件的结构、相互关系,以及指导构件设计和随时间演进的原则与指南。
任何复杂的基于计算机的信息系统都需要一个体系结构来提供其演化的一个战略性环境描述。体系结构提供了对组成信息系统的组件或构造块的描述以及这些组件间复杂的内部关系。确切地说,一个体系结构是对一个信息技术(IT)系统的正式描述,它定义了组成整个信息系统的组件或构造块,并提供获取产品的计划,以及开发系统,这些因素共同运作实现整个系统。因而,你可以通过它管理你的全部IT投资,使其适合你的商业需求。
虽然体系结构对系统设计至关重要,但过去人们对于体系结构的理解和使用却是非常不规范的,往往是隐含的、粗糙的、片面的。直到二十世纪九十年代,人们才开始较系统地研究软件系统的体系结构问题。目前主要的研究领域有体系结构框架、技术参考模型、体系结构描述语言、体系结构的形式基础、体系结构分析技术、体系结构开发模型与方法、体系结构恢复与重用、体系结构设计工具与环境、领域体系结构等。
对软件系统体系结构的研究[2],美国DoD有关机构研究[3,4]的TAFIM、DOD TRM和Open Group研究的TOGAF最具有代表性。
由于我国各行业的大部分软件系统是按项目开发的[5~7],立足于满足当前某一领域的需求,客观上易于造成“烟囱”式系统,即系统之间的互连、互通、互操作性差,系统的重复开发现象普遍。具体表现在:
●没有进行系统的体系结构设计,许多软件系统都是由若干子项目组成的“拼盘”;
●数据通信的协议、格式不统一,造成互连、互通上的问题;
●图形系统,尤其是数字地图不统一,直接影响图形数据的交换和互用;
●由于缺乏统一的数据模型、数据元素定义和灵活的、可扩展的数据交换格式,无法进行直接的数据(库)共享。
目前各行业使用的软件除了一些大型项目外,很大一部分是属于短期的小型项目。这些软件由于贴近需求,在功能和人机界面上比较适合使用。但我们不应只注重开发短时期内解决局部问题的单个系统,坐等“烟囱林立”的局面出现后再寻求解决之道。通过公共体系结构框架的设计和规划,使不同应用单位在不同时期开发的软件系统能够按作战需求实现互连、互通和互操作,即保证信息资源的共享和不同系统资源的相互动用。
2 国内外典型体系结构研究
TAFIM体系结构
Tafim体系结构的主要目的[1~3]是为了实现互操作和信息系统集成的,所以首先提出了信息管理与集成模型。集成的目的是实现和改进系统的互操作性,与各种国际、标准相兼容,并为用户提供一个单一的接口。
系统的集成功能和技术需求可以由图1中的集成模型体现。给出了集成的边界定义。功能函数和技术方面的集成需求必须一方面在纵向的边界上的一个层次内研究,另一方面在横向的边界上在层次之间研究。
图1 Tafim信息管理集成模型
集成的类型和层次:
集成既可在层次内部,也可在层次之间,但是集成类型的需求必须被定义。集成可以获得互操作、效率、效力、优化、节省资源、或者其他的好处。集成可以下面的几个观点来看:
●功能函数集成:功能函数集成通常包括将两个或者是多个具有相似的功能的软件模块融合为一个新的软件模块,或者将两个或者是多个不相似的软件模块通过一个公共数据库相关联。
●技术集成:技术集成通常包括硬件互操作性的兼容性和连接性,以及软件的相关性(例如:协议之间的对话)。
实现互操作的集成过程是通过IM集成模型实现的,这个模型包括以下几个步骤:
●体系结构、策略、以及技术管理计划信息是在专有部门的指导下为每一个功能活动开发的。功能活动和功能领域体系结构、策略、以及技术管理计划信息是由专有部门评论,为了能够和企业领域和使命领域的体系结构、策略、和技术管理计划信息一致。
●每个系统的互操作需求都被转换到了使命关键标准,以满足测试的目的。互操作的测试是为了确保能够满足使命关键标准。
●认可的数据、应用软件、基本构架、以及信息系统体系结构、策略、以及技术管理计划信息变成了整体企业和使命空间体系结构基础的一部分。
Tafim通用技术参考模型
通用技术参考模型[1]是一个概念、实体、接口、以及提供标准规范基础图标的集合。在很大的范围内,通用技术参考模型采用了IEEE POSIX P1003.0工作组的基础性工作。如图2所示。模型包括三个类型的实体和两种接口。
模型的这种构造程度使得它可以容纳各种类型的通用的和特定的系统。
从应用软件实体的观点来看,不管该服务是从本地平台提供的还是从远程平台提供的,它们一起构成了大的分布式系统。
图2 Tafim通用技术参考模型
DOD体系结构
DoD的体系结构研究[3,4]着眼于从大系统的整体性出发,统一组织制定公共的体系结构框架等规范文件来指导美军各军兵种和DoD各机构的体系结构开发,DoD体系结构研究的重点是体系结构框架。DOD(美国国防部)体系结构遵从通用开放体系结构框架(GOA)。如图3所示。GOA是由SEA ASD开发的。GOA中定义了四层结构、九类接口。GOA的下面三层结构是与Tafim的应用平台层兼容的。
图3 通用开放体系结构框架
GOA框架由四个层次构成:第一层一般包括硬件,但也可以包括固件和非常底层的软件;第二层是底层服务和功能实体,通常指“设备和硬件驱动”;第三层是系统服务层;第四层是DoD TRM应用软件实体。在DOD TRM中,第一层、第二层、第三层为第四层应用软件构成了应用平台。
接口分为逻辑接口和直接接口:
图4 DOD技术参考模型服务视图和接口视图
逻辑接口(虚线表示):点对点实体之间支持信息(对象、数据、参数、状态、以及控制)共享的规范,于交换机制和媒体。
直接接口(实线表示):各层实体之间支持物理信息(对象、数据、参数、状态、以及控制)传输的规范。
DOD技术参考模型
DOD 技术参考模型集成了服务视图和接口视图[1], 如图4所示。
TOGAF体系结构
TOGAF[1]是设计用于支持技术(IT)体系结构的开发。它也支持对IT体系结构开发有影响的一部分商业体系结构。它主要关心有意支持核心配置和任务关键性应用的软件基础结构。
TOGAF包括两个主要部分:
●TOGAF基础体系结构——公共服务和功能的体系结构,为构建具体的体系结构和体系结构构造块提供基础。这个基础体系结构包括:
1.TOGAF标准信息库(SIB),开放产业标准数据库,用于定义特定的服务组件;
2.TOGAF技术参考模型(TRM),提供一般平台服务的模型和分类。
●TOGAF体系结构开发方法(ADM),正确地解释如何从基础体系结构获取具体组织的体系结构。ADM提供:
1.一个可靠的,被证实的体系结构开发途径;
2.体系结构视图,使体系结构的构造者能够确保一组复杂的需求可被充分地定位;
3.一个处理过的实例,以及与实际案例研究的联接;
4.体系结构开发的工具;
简单的说,TOGAF提供一个公共的观念(sense),实际的、谨慎的和有效的开发IT体系结构的方法。
ADM
TOGAF体系结构开发方法(ADM)形成了TOGAF的核心[1]。它是一个可靠的、被证实的方法,用于开发符合某组织的商业需求的IT体系结构,利用本文中描述的TOGAF的其他单元和组织可获取的其他体系结构资源。
推荐一个循环的体系结构开发途径,如图5所示。
ADM各阶段描述
●Phase A:初始化和框架:确认需求,初始化体系结构开发循环
●Phase B:基线描述:捕获相关的现有环境
●Phase C:目标体系结构:定义目标体系结构
●Phase D:时机和解决方案:评价和选择主工作包
●Phase E:移植计划:区分工作的优先级,开发概要计划
●Phase F:实现:开发完整计划并执行
●Phase G:体系结构维护:建立维护新基线的进程图5 体系结构开发循环
TOGAF[1~4]主要集中在C阶段——目标体系结构的创建,但是,ADM是覆盖整个体系结构的生命周期的。注意,每一个阶段都产生一个输出结果,前一个阶段的结果可能被下一个阶段修改。输出的版本管理通过版本号来管理。例如,第一个阶段输出版本号为1的商业体系结构,在第二个阶段再输出的商业体系结构,版本号为2。
3 行业软件体系结构发展趋势
我国信息系统体系结构的研究尚处于自发研究的初级阶段[5~7],从对国内出版的有关期刊和会议文献中的文章分析就可看出。一般在高等院校从事软件工程研究的工作中有所反映。但基本照搬美国规范,实施策略却迥异,效果并不理想。我国GSD、GAD、AMS和NDU等部门也积极开展了这方面的研究,但因没有统一的机构来组织和管理,基本不可能制定出象DoD那样统一的体系结构文件。
所以笔者建议我国应从高层机构发起相关研究,制定相应的集成模型、体系结构框架、技术参考模型、体系结果开发方法。然后可以分行业对体系结构进行行业细化。
根据我国软件发展的特点,我们研究的侧重点主要有:
●体系结构的内核:包括操作系统和支持环境,它提供基本的系统管理功能、基本的安全管理功能、以及处理集成服务的辅助工具。
●基础底层服务:它于任何特定的应用程序,提供网络、通信、分布式计算、数据访问、多媒体等服务。
●公共服务应用程序:它倾向于向特定的任务空间提供服务。主要包括预警服务、相互关系服务、消息服务、办公自动化服务、在线帮助服务等。
●集成模型管理工具:管理集成中的集成层次、集成类型、集成度、集成子集的认定、集成子集的发布认可等。
建立体系结构标准以后,各个行业依据这个标准,开发体系结构框架下的具体的软件的过程如下:
●向行业体系结构管理中心申请项目,确定项目的边界;
●制定相应的技术方法模型,获得体系结构管理中心的认证;
●开发相应的组件;
●将组件提交给行业体系结构管理中心测试,获得组件的行业内与行业间的集成度和兼容性;
●组件的集成度和兼容性满足后既可发布,否则继续完善;
●发布后的组件将纳入行业体系结构管理中心管理。
4 结论
软件的发展过程和一般的事物发展规律是一样的。在发展到一定的规模以后,系统之间的协作和交互越来越成为严重的问题。
我们相信,随着对软件体系结构的逐步重视,从上到下,建立一套行之有效的标准和支持工具,那么,软件的发展就会慢慢的趋于成熟。最终,将促进行业间、行业内、企业内的各个软件的交互、互操作、以及集成,提高开发效率,减少重复开发,降低开发成本。
参考文献
[1] The Open Group Architecture Framework (TOGAF) Version 6 [S],December 4,2000.
[2] USA DoD, Defense Information Infrastructure (DII) Common Operating Environment(COE) Integration and Running Specification(I&RTS) [S], Version 4.1,October 3,2000.
[3] Architecture Working Group (AWG), C4ISR Architecture Framework [S], Version 2.0, December 18,1997.
[4] The Chief Information Officers Council [S],Federal Enterprise Architecture Fram-
ework(FEAF) Version 1.1, September 1999.
[5] 陆军,张育平.基于构件的软件体系结构实现技术[J].计算机工程与应用,2002.
[6] 赵会群,王国仁,高远.软件体系结构抽象模型.计算机学报[J].2002,25(7):730-736.
[7] 周国强,陈春玲.软件体系结构模型描述的研究.南京邮电学院学报[J].2002,22(2):75-79.