随着软件危机的爆发,越来越多的人开始关注软件工程的研究。在研究初期,软件设计的重点仍停留在数据结构和算法的选择上,随着计算机技术和网络技术的发展,软件系统规格不断扩大,软件系统的结构也变得越来越重要,在软件危机加剧的环境下,传统的软件工程方法越来越乏力。对于大型的软件系统,对比算法和数据结构的选择,系统的整体结构设计显得更重要。在这种情况下,人们终于认识到软件架构的重要性,并开始深入研究软件系统的体系结构,这将是提高软件生产率和解决软件维护问题最有效的方法。
软件架构在整个软件开发和维护过程中,可以帮助软件设计师全面和深刻的理解系统各级之间的关系,更好地分析系统性能。同时,软件体系结构是软件设计师与用户的工具,可以改善需求分析和软件设计的效率,更好地整合业务信息,并融合设计师的设计理念,为用户提供快速、高效的沟通方式。
1 SOA 体系架构
2001 年 IBM 公司提出了 SOA 模型,如图 1 所示。
在 Web Service 的 层 面 之 中 有 三 项:publish, 在Service provider 向 Service broker 提供己方的信息及访问请求;?nd(查找),通过 Service requestor 向 Service broker查找特定种类的服务;bind(绑定),让 Service requestor使用 Service provider 提供的服务。SOA 面向服务的体系结构不需要彻底重新创建系统,而是基于现有的系统投资来发展。
SOA 架构的目的是使投资人不用再关注低水平的集成问题,将注意力集中到业务流程和应用的开发,提高软件设计的效率。采用 SOA 的分布式架构应用程序可以把功能当作服务交付给终端用户,也可以构建其他服务。
SOA 技术与 Web 技术不同的地方是相关的服务功能。
SOA 技术对具体的服务功能没有做出任何的硬性规定,所以 SOA 技术的服务功能相对自由,互通性很强。所以,他们之间的区别就是对服务功能的定义与规则。也就是说,他们对实现服务功能的具体开发策略完全不同。
Web 服务被认为是最好实现 SOA 的方式,但是SOA 却只能提供有限的 Web 服务。Web 是基于服务,SOA 架构则是基于应用程序开发的。Web 服务就是一个典型的服务项目,可以作为一个 SOA 组件(非必要的组件),实现一个基于 SOA 的复杂系统。但 Web 服务技术本身并不能完成所有任务,如何协调 Web 服务和管理数据之间的关系、控制系统的安全性、稳定性是设计者需要解决的事情。这就要求用到其他相关技术,如服务总线技术(Enterprise Service Bus,ESB)等。
2 信息管理系统的需求分析
信息管理是对信息的记录、存储、整理、编目,使之更加规范化、标准化,方便对信息的处理和操作。信息管理系统往往只是系统的一个方面,而信息管理的本质,是为了服务于用户的日常工作,因此信息管理的研究和开发可能关系到许多行业部门,甚至关系到国家机密。因此,对信息管理系统的需求分析,就必须反映到对系统要求的各个方面。综合信息真实、准确的需求特性,而且还要求反映信息质量的水平和信息获取的效率以及信息的安全性,以提供可靠的信息。信息管理系统必须具备很好的适应性,它应该是用户业务信息中心处理信息的关键系统,需要充分展现信息系统应有的功能,还应该具备融合性,使信息经过处理之后可以共享,而对这些信息还可以运用现代化的管理工具实现信息统计处理。
作为信息管理系统,信息来源的处理是最需要关注的问题,需要用信息管理系统的用户往往需要处理的信息量都非常大,使用频率高。基于这些特性,信息管理系统的设计应具有以下特点。
信息分类编码标准化。统一的信息标准在信息的数据通信、网络软件、信息交流和标准化设计之中都有利于分类代码。
数据验证的容错性。对输入数据计算机自动生成的索引应进行逻辑校验,自动识别的非法字符和自动识别非法环境,保存时的错误信息经过核查后可以更正。
一致性和完整性。集中与分散处理的数据组合成各种集合类型,同样的数据在丢失之后可以进行补救,避免重复录入。数据共享的实施可以减少存储数据冗余,确保数据的唯一性和准确性。
兼容性和通用性。信息管理系统的特点需要与现有的业务管理功能需求有很好的融合性。业务功能设计需要按照数据输入和管理职能的实际需要进行设计,以便信息管理信息系统可以很好的实现业务功能。
开放性和适应性。信息管理系统的开发不但需要效率,还需要充分考虑系统未来的业务发展,尤其与业务信息网络的信息交换和接口,网络结构和设置自由扩展。
可移植性和扩展性。系统需要自上而下和自下而上的模块化设计方法,根据需要进行组合。用科学的数据字典管理信息系统,以确保其可扩展性,方便改善和维修系统。
安全性。可以设置多级密码管理系统,设置多重不同的权限,确保不同用户数据的安全性。
3 基于 SOA 架构的信息管理系统设计
3.1 系统架构
随着 SOA 的发展,SOA 架构的优点和特点已为厂家和用户所熟知,基于信息管理系统的特点,设计系统SOA 架构如图 2 所示。
通过底层的适配器服务。将组织现有应用系统进行封装,形成可复用的服务,来复用组织中的现有应用资产。因此,作为应用集成的关键,适配器服务必不可少。
流程服务其主要目的是对组织服务进行重组组合,以满足业务流程的需要,从而形成一个全新的、更大的服务集成体来满足业务服务。流程服务决定了业务流程的复杂性以及业务流程的敏捷性,对于实现用户的需求发挥着关键作用。
服务总线可以协调机构所有的服务。集中管理服务组织,形成服务接口,提供增值路由查找,服务协议制定和服务保障等,是 SOA 体系结构的核心。
顶部的交互式服务层。作为用户的操作界面,提供了门户的集成功能,直接面向用户。SOA 实施的效果,往往通过互动服务来体现。