随着信息科学技术的不断进步,计算机的软件领域已经发展得非常成熟,软件开发成为了我国信息产业中的重要组成部分。
随着开发技术不断地革新,软件架构在软件开发中所处的重要地位已经被软件开发企业所重视。
文章围绕着软件架构进行研究,对软件架构的发展现状进行了详细的阐述,并就当今的现代软件架构技术做了深入的探讨。为软件开发中的软件架构设计提供了一定的理论基础和实践指导经验。
关键词:软件开发架构;信息产业;软件企业
引言
在二十世纪初,在计算机系统的开发中,软件成本的占比非常小。随着软件应用的不断增加,软件产业不断地发展壮大,软件生产规模也在不断地扩大。
软件成本在计算机系统中的比重也越来越大。在二十世纪中期,软件成本占计算机系统的比重已超过百分之五十。随着软件危机的出现,软件工程开始得以广泛推广和应用。
随着软件系统的规模越来越大,结构越来越复杂,现有的软件工程方法已经逐渐不适应软件设计的发展。相对于当今的复杂而庞大的软件系统而言,软件的系统结构设计以及开发架构设计已经比数据结构的选择重要很多倍。
因此,广大的研究者和软件开发企业对软件架构越来越重视。软件架构的重要性在于,能够成为提高软件生产率和解决软件维护问题的新的最有希望的途径。
1 软件架构的特点以及发展现状
软件架构也是软件体系结构,软件架构其实是由一系列相关的抽象模式构成,作用是用来指导大型软件系统的设计。软件架构中抽象的模式,对应的是系统中各个抽象组件。
每个抽象组件之间的关联,对组件之间的通信进行了细致的刻画。在软件实现的阶段,这些抽象组件被细化为实际应用的组件。例如,被细化为实际的某个类或者对象,而组件之间的关联可以被细化为接口。
目前,对于软件架构的定义,比较流行的概念是,软件架构就是系统在开发环境中的最高层的概念。软件架构之所以重要,是因为在设计软件系统之前,开发人员通过软件架构进行详细的设计以及构造,通过软件架构作为日后软件开发的重要基础。
一般来说,软件架构设计后,不能轻易的进行更改,因为这关系到整个软件系统设计的成败。
经过多年的发展,针对软件架构的研究已经取得了很多的进展。但是,在软件架构的研究与发展过程中,产生了很多的问题,例如,当代软件应用中,基于分布式的软件应用的软件架构以及面向服务的软件系统越来越来多,现有的软件架构已经不再适用于新的软件开发环境和应用环境,因此,文章对分布式以及SOA现代软件架构技术进行深入探究。
2 现代软件架构技术
2.1 分布式的三层软件架构技术
分布式的三层软件架构技术分为表示层、逻辑层以及数据层。分布式的软件架构技术适用于分布式的软件系统应用。下面将详细的阐述每一层的功能描述。
表示层:在分布式的软件系统中表示层处于浏览器/服务器体系中,与用户交互的层面。例如,处于表示层的用户可以通过IE等浏览器工具,进入分布式软件系统,用户进入系统后,可以根据分布式软件系统提供的相关功能进行逻辑业务的请求。
逻辑层:在分布式的软件系统中逻辑层中,逻辑业务处理层在接受由表示层的客户发出的请求后,可以对请求进行解析,并能够将用户的请求分类为逻辑业务处理以及数据业务处理两种类型。
假如用户的请求只涉及到逻辑业务,则将反馈结果直接返回给表示层的客户。假如用户的请求是数据业务处理,则将请求发送至数据处理层次,最后将数据处理层次的结果返回给客户。
数据层:在分布式的软件系统中数据层主要是由数据库服务器构成,其接口是由一个高性能的数据服务程序组成的。
当数据业务层接收到逻辑业务层次的数据处理请求,数据库服务器对数据库进行查询、更新、插入以及删除等操作,并将最后的结果返回给逻辑处理层。
逻辑业务处理层在接受到数据处理层反馈的结果时,将逻辑结果一并返回给用户的表示层,为用户提供浏览和查看最后的结果。
2.2 面向服务的软件架构
面向服务的软件架构,英文简称为SOA。SOA软件架构最初是在一九九六年提出的。在现代的软件架构技术研究中,SOA作为重要的软件架构技术,在分布式技术、程序设计方法学、业务计算能力等领域的软件应用中有着非常重要的作用。并且,被誉为现代应用开发领域中最重要的课题。
SOA的软件架构如图1所示。SOA可以根据服务的需求,利用网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。
面向服务的软件架构的服务层是基础,能够被应用进行直接调用,这样能够有效的控制系统中与软件代理交互的认为行为。
因此,可以得出,SOA是一种粗粒度并且松耦合的服务架构,SOA中的服务通过简单并且精确的定义接口进行通讯,并不涉及底层的编程接口以及通信模型。SOA可以看成是浏览器/服务器模型,标准通用标记语言XML/网络服务技术以后的延伸架构。
SOA能够为软件工程师、软件架构师等提供一个更高的平台,让开发者去理解企业级的软件架构的组件是如何开发,以及如何部署的。
SOA将使企业级的软件架构设计变得更加快速,可靠以及高重用性。并且,在面对企业中的业务变化时,SOA的软件架构能够更好的适应这些变化。
作者:郑惠中 来源:科技创新与应用 2015年17期