APP下载

SOA在软件工程开发中的应用

2017-06-05李永红

电子技术与软件工程 2017年7期
关键词:软件工程

李永红

摘 要 随着软件工程的应用和普及,许多行业引入了先进的分布式管理系统,这些应用软件的功能越来越多,因此开发工作规模也迅速增加。软件工程开发过程中,已经诞生了许多模式,比如快捷程序模式、组件开发模式、MVC模式等,随着面向对象软件编程思想的诞生,软件开发也逐渐提出了一个面向对象开发模式SOA,SOA是一个松耦合、面向服务的程序开发框架,其可以为用户提供强大的操作管理规程,便于实现软件工程各个架构、体系之间的异构框架数据共享,具有重要的作用和意义。

【关键词】SOA 软件工程 面向服务 松耦合

1 引言

随着软件工程的发展和进步,分布式管理系统已经在电子政务、电子商务、物流仓储、智能旅游、在线学习、金融证券等多个领域得到广泛普及和使用,取得了显著的应用成效。应用软件开发经历了面向过程、面向结构、面向对象等多个时期,但是这些开发模式都无法实现松耦合模式、可复用模式的软件开发,因此经过多年的研究,人们提出了一种新型面向服务架构的SOA开发模式,该模式采用松耦合、远程功能呼叫功能、消息使用XML数据,这样就可以促进了软件工程开发的快速性和高效性,缩短软件工程的开发周期,更快的满足人们信息化需求。

2 SOA概念简述

SOA是一个面向服务架构的组件,其可以为软件开发提供不同功能的应用服务单元,这些服务之间可以通过定义好的接口和协议集成在一起,接口定义的原则是保持可扩展和中立性,这样就可以确保接口独立于硬件服务平台、操作系统和编程语言,能够兼容各类型的应用软件,包括Eclipse、VisualStudio、Qt等,同时可以支持Java语言、C#语言、C语言和C++语言,采用一种通用的模式进行消息交互。SOA作为一种松散耦合、优化复用、动态扩展的服务体系和架构,其吸收了传统的过程调用、结构化程序设计、面向对象方法的优点,同时接收了组件化、构建化改造和集成的理念,并且SOA在软件开发过程中一直得到持续研究和改进。SOA是一个开放的、异构的分布式软件开发平台,这个平台可以为用户提供强大的服务支撑,更加适用于当前互联网应用环境。SOA开发框架的基础部件包括WSDL、UDDI和SOAP,WSDL可以描述服务内容、UDDI可以实现服务注册和查找,SOAP作为传输层可以实现消费者、服务提供者之间的消息传输,SOAP是Web服务的默认机制,其他的技术为可以服务实现其他类型的绑定。

3 SOA在软件工程开发中的应用

SOA在软件工程开发过程中,其可以采用共享服务模式提供应用软件通信,也即是能够将各个应用程序从各个底层硬件中分离出来,这样就可以调资源使用操作效率,并且能够重复使用软件组件,简化定制应用程序的开发流程,从而可以更加有效地满足用户需求,SOA已经在软件开发中应用很长时间,SOA在软件工程开发中得到了较多的实践,具体应用包括以下几个方面:

3.1 松耦合

SOA架构使的软件开发已经发展到了一种最高的松耦合境界,传统软件开发模式可以将软件划分为三个关键部分,分别是网络连接、数据转换、业务逻辑,这三个部分内容整合在一起系统中,形成了铁板一块的软件模式,牵一发而动全身,这样就造成应用软件无法适应环境变化,不能够为应用软件提供强大的支撑服务。SOA利用面向对象技术,可以将各个逻辑组件进行分离,并且使用消息中间件将各个组成部分进行异步通信操作处理,增大了软件的灵活性。消息代理促进了SOA架构服务业务的封装,实现了逻辑业务、网络连接和数据转换的完全解耦。

3.2 组件复用

SOA是以服务为中心的软件开发架构,该架构采用了组件复用模式,其可以为各类型的软件计算平台提供强大的支撑,核心内容为组件对象的管理,但是由于分布式组件依赖计算环境,因此组件运行和支撑技术之间存在很多的异构性,为了保证不同技术组件的复用性,SOA采用了Webservice、SCA、SDO等服务模式,通过这些服务模式,可以建立一个更高层次的解耦、复用和互操作,也即是利用SOA实现标准封装,实现各个服务组件之间的安装、编排、重组,实现各个服务组件的复用,能够实现不同开发架构、程序语言之间的复用,并且可以兼容各个厂家的软件开发工具,实现动态可配置的复用。

3.3 消息机制

传统的组件利用COM、CORBA等,這些组件模型从服务器端可以传输到客户端一个二进制编码对象,这样客户端调用这个对象方法能够完成某些功能,但是在开放网络环境下,不同的余元和不同的平台数据都需要不同的类型定义,只有这样才可以在不同服务之间传输消息对象,并且实现信息组合。

3.4 SOA与Web服务结合

基于SOA的软件开发过程中,SOA需要与Web服务实现一个良好的结合,只有这样才可以完成网络通信处理、封装和反馈功能,SOA与Web服务结合时,可以构建一个强大的服务建模、描述、发布、通信、脚本交互、安全保障功能,并且引入先进的服务编程、领域建模、应用集成等先进的方法和理念,进一步提升服务的操作处理。

4 结束语

SOA软件开发没有采用固定的界面模式,每一次被交换的仅仅是数据,不是隐藏在服务背后的逻辑业务信息。SOA利用远程调用功能可以实现本地函数、子程序的使用,这样就可以为程序员提供一个完全透明的服务模式,基于信息界面传输ESB程序,并且采用XML交换数据,不是采用各类型的文件或二进制语言,因此这些消息传输服务是同步的,可以更好的缩短软件开发周期。

参考文献

[1]谷玉奎.基于SOA的企业应用集成分析与实现[J].电子技术与软件工程,2016(16):71-71.

[2]秦方钰,刘冬梅,徐栋.一种面向SOA架构的数据业务总线应用研究[J].电子技术与软件工程,2015(09):203-204.

[3]谷玉奎.SOA在科技资源数据库系统中的应用研究与实现[J].电子技术与软件工程,2015(12):193-193.

作者单位

河南省外贸学校 河南省郑州市 450002

猜你喜欢

软件工程
应用瀑布模型的MOOC制作方法
融合APTECH体系的软件产业人才培养探究
关于如何创新和完善计算机软件工程管理的探讨