SOA在仓库管理系统中的研究与应用
2.l软件体系结构概述
软件体系结构为软件系统提供了一个结构,行为和属性的高级抽象,有构成系统的元素的描述,这些元素的相互作用,指导元素集成的模式以及这些模式的约束组成[1]。软件体系结构不仅制定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。
软件体系结构贯穿于软件开发和维护的全过程。开发过程中它能够帮助软件设计者全面而深刻的理解系统各层次之间的关系,从而更好的分析系统的性能。同时,软件体系结构是软件设计者之间以及设计者和用户之间快速高效交流的工具,提高需求分析和软件设计的效率,能够将用户提供的业务信息和设计者的设计思想更好的融合在一起。维护过程中,参照原有的软件体系结构,能够保证在不破坏完整性的前提下,对系统进行维护、扩充和升级。软件体系结构是应付复杂需求、提高开发效率、改善系统易维护性的有效措施。
2.2软件体系结构发展演变过程
随着软件行业的不断发展,系统复杂度不断的增加,为了提高软件开发效率,软件体系结构发生了很大的变化。大体上可以分为三个阶段,传统的软件体系结构阶段、基于组件的软件体系结构阶段、面向服务的软件体系结构阶段。
2.2.1传统的软件体系结构
传统的软件体系结构是指在软件行业刚刚起步的阶段,程序规模不大,没有特别的考虑软件体系结构的问题,只是以语句为基本单位,由语句组成模块,通过模块的聚集和嵌套形成层层调用的程序结构。它强调的是结构化程序设计方法学,自顶向下、逐步求精,并注意模块的耦合性,这个阶段的应用程序都把操作的数据、用户的接口还有所有业务逻辑的处理都混杂在一个可以执行的包中。这种软件设计的方法仍然在规模较小、系统复杂度较低的系统中被大量使用,因为它需要少量的开发队伍和较短的开发周期,因为它的简单性会减少开发时间。但是它可重用性差、可维护性差、系统集成性也较差。
2.2.2基于组件的软件体系结构
组件是具有一定的功能,能够独立工作或能同其它组件装配起来协调工作的程序体。
随着软件行业的发展,开始慢慢的看到了软件复用的重要。从而,提出了基于组件的软件体系结构,他大大的增加了软件的可复用性,同时也提高了软件开发的效率和可维护性。从软件复用的角度看,面向对象技术实现了类级重用,它以类为封装的单位.组件技术将重用提到一个更高的层次上,它是对一组类的组合进行封装,并代表完成一个或多个功能的特定服务,也为用户提供了多个接口。整个组件隐藏了具体的实现,只用接口提供服务。与此同时,软件架构出现了多层的概念,其中经典的三层架构把的应用程序从下到上基本划分为数据层、逻辑层、和表示层。功能独立的各层可以重用它们需要的组件,从而使得软件开发效率大大的提高。数据层中涵盖了所有的数据格式。逻辑层独立出来专门处理系统的业务逻辑。表示层只需要把请求交给逻辑层,不需要考虑业务逻辑。比较流行的组件模型有CORBA和COM。其中受到广泛关注的.NET就能够基于COM组件进行开发的。然而在基于组件架构中的组件的使用上,存在一些问题:在异构系统调用困难,跨过防火墙调用更加困难。
2.2.3面向服务的软件体系结构
面向服务的软件体系架构(Service-Oriented Architecture)就是所讲的SOA,它是将所有功能都以服务的方式提供。服务和服务之间是都是相互独立的,服务的内部实现对于服务的使用者来说是透明的,服务的使用者只需通过服务提供的接口来调用服务,他所关心的不是功能如何实现的,而是该服务是否能返回他所期望的结果。无论从技术角度,还是地理位置角度来看,服务的可调用性并不局限在某一个特定的范围内,服务可能是在相同的应用程序中,也可能是在公司内部网内完全不同的系统上的不同地址空间中,还有可能是在合作伙伴的系统上的应用程序中,服务可能是C++语言开发、也可能Java开发、Visual Basic开发的,甚至可能是任何一种已经存在语言开发的。
服务所能实现的功能可以是简单的需求,也可以是复杂的商业过程。想要构建整合的应用,这种服务模型依靠于面向服务架构(Service-Oriented Architecture , SOA)[8]。
服务之间通过交互、协同作业从而完成业务的整体逻辑。所有的服务通过服务总线
或流管理器来连接服务和提供服务请求的路径。流管理器处理定义好的执行序列或服务
流,它们将按照适当的顺序调用所需的服务来产生最后的结果。这种松散耦合的体系结
构使得各服务在交互过程中无需考虑双方的内部实现细节、部署在什么平台之上。应用
程序的松散耦合还提供了一定级别的灵活性和互操作性,这种灵活性和互操作性完全高
于传统方法构建的高度集成的、跨平台的程序。
面向服务的思想在很大的程度上提高了软件的可重用性,同时也能够缓解面向组件体系结构中异构系统调用的问题。它是目前软件行业的一种潮流思想,对于企业内部子系统整合等工作都起到一定的作用。
以上内容只是毕业设计作品的部分资料介绍,如果了解更多详情请联系客服QQ:57510459
购买帮助>>