基于SOA的软件开发的研究与实现

    

    

    摘 要:随着软件技术的不断发展和Web技术的应用,面向服务的软件系统开发的方法也得到了迅速的发展。文章提出了SOA框架设计的方案,对基于SOA的软件开发的关键性技术、功能实现进行了分析和研究,具有一定的应用价值。

    关键词:面向服务体系结构;软件开发;软件系统

    1 面向服务体系结构分析和研究

    1.1 面向服务体系结构分析

    面向服务体系结构(Service-Oriented Architecture,SOA)是一种组件模型,在面向服务体系结构中,面向服务是指体系结构应用程序中的功能,并且各个功能之间的互通是通过定义好的接口来进行连接的,通过中立的方式对接口进行定义,接口与硬件平台和操作系统之间是相互独立的。面向服务体系结构对接口进行中立的定义,称之为服务间的松耦合,松耦合的系统中体系结构比较灵活,系统中应用程序服务中的内部结构发生变化时候,松耦合系统还是可以独立存在的。松耦合与紧耦合正好相反,紧耦合的系统中接口和系统之间关联比较紧密,如果系统中应用程序发生改动,那么整个系统会发生变化,紧耦合系统比松耦合系统脆弱。在SOA系统应用中业务的灵活性需要引进松耦合系统,在应用系统中业务的需求是不断变化的,松耦合系统可以适应不同环境变化的需要。基于SOA体系结构软件开发的整体设计是面向服务的,SOA应用的基础技术是XML可扩展标记语言,通过XML可扩展标记语言对接口进行描述。基于SOA软件开发的安全可靠是最终目的。

    1.2 面向服务体系结构的研究意义

    SOA与传统的体系结构相比,具有松散耦合和共享服务等特点,松散耦合的应用可以帮助服务的提供者和使用者在接口上更好地进行独立的开发,在系统中服务的使用者在对服务接口和数据进行更改的时候,系统中服务的使用者不会受到任何影响。松散耦合可以帮助系统根据高可用性的需要来实现对系统应用程序独立的管理,SOA中松散耦合为系统提供了重要的独立性。通过基于行业标准的技术就可以实现SOA,把系统中特定的标准消除,使系统不再受平台技术和行业技术垄断的束缚,对所有服务进行优化。基于面向服务体系机构的应用程序采用共享的基础框架服务,可以进行单点管理。

    1.3 面向服务体系结构相关技术应用

    SOA中服务的使用者通过接口来访问应用服务,服务应用的接口是通过网络来进行调用的,这和Web服务的设计理念和应用技术比较类似,所以在SOA中可以通过Web技术来实现。在SOA中没有具体技术,采用的技术集合有Web技术和SOAP技术等。SOAP技术是基于可扩展标记语言XML的一种通信协议,对XML消息在网络中进行传输的格式进行了定义,在SOA中请求者和提供者之间通过SOAP对通信协议进行定义。SOAP结构包括4个部分,如图1所示。

    在SOAP结构中SOAP信封功能是对整体的表示框架进行了定义,对消息的内容和处理者进行表示;SOAP编码规则功能是对编序机制进行定义;SOAP PRC表示功能是对远端过程调用进行定义;SOAP绑定功能是对完成结点间SOAP信封的交换所使用的底层传输协议进行定义。

    2 面向服务软件体系结构框架设计及功能实现

    2.1 面向服务软件体系结构框架设计

    SOA是应用程序体系结构,所有相关的服务都被定义成了独立的服务,通过可调用的定义好的接口对服务进行调用来实现业务的流程。SOA设计要以结构层次清晰、功能和服务可随意扩展、服务功能复用度高为设计理念,采用分层设计的原则,按照不同应用服务的需要对结构进行逻辑划分。系统在设计的时候采用Web服务功能丰富的J2EE 1.5作为系统平台,J2EE对系统服务的应用进行逻辑划分,并且可以加强计算机的计算能力,J2EE是一种完全分布式计算模式的代表。基于SOA的软件开发系统的层次结构划分如图2所示。

    在基于SOA的软件开发系统的层次结构设计中,表现层的设计目标,对多个客户端请求进行集中处理,提高请求处理的扩展性,可以在系统中加入新的功能。表现层通过前端控制器来处理所有的请求,通过后端控制器把请求处理的命令或者视图都调用起来。表现层的设计使系统模块化的程度得到了提高,对模块化的组件进行了重用,系统模块的可扩展性也得到了提高。业务层的设计目标是防止业务层与客户端之间发生紧耦合的情况,为业务对象提供远程访问的功能。业务层的设计为远程客户端访问服务提供一个专门的层,降低系统中各个层次之间的耦合,简化应用服务的复杂度。服务层设计目标是把现有的服务都提供给客户端,并监视客户端对服务的使用情况,根据服务的需求对服务的使用进行限制等。基于SOA的软件开发结构体系的设计,首先按照分层思想对系统的体系结构进行逻辑区间的划分,使SOA层次结构清晰,功能模块可以根据需要进行扩展。

    2.2 面向服务软件体系结构功能分析

    在基于SOA的软件开发系统的层次结构中,客户端层包括应用系统的所有客户端的设备,Web浏览器和系统扩展连接的WAP收集都可以作为客户端。表现层把系统访问的客户端和服务的表现逻辑都进行了封装,表现层功能是对客户端的请求进行统一管理,为客户端提供了单一的登录入口,建立会话管理,把对业务访问的请求响应返回给客户端。业务层为客户端提供各种应用的业务服务,业务数据存放在业务层中,系统相关的业务处理都是在业务层完成的。服务层负责与外部系统进行通信,服务层与资源层之间通过Web服务等进行协作,服务层中可以设置Web服务代理,负责一个或者多个服务组件之间的交互,通过聚合方式对响应的信息进行管理。资源层在功能设计上主要是存放业务数据和外部数据信息资源。

    3 结语

    随着分布式计算方式的研究和应用,在软件的应用集成和软件的重用方面,SOA得到了具体的应用。通过对基于SOA的软件开发的分析和研究,可以让SOA在软件的开发应用中发挥巨大的作用,基于SOA的软件开发的研究与实现具有一定的研究和应用价值。

    作者简介:王桂华(1978— ),女,辽宁营口,本科,讲师;研究方向:计算机应用技术。

    [参考文献]

    [1]郭晋伟.SOA架构的管理信息系統设计与实现[D].沈阳:中国科学院研究生院(沈阳计算技术研究所),2006.

    [2]章晓勤,李心科,夏克付.基于SOA的软件开发方法研究以及在高校学生管理系统的应用[J].福建电脑,2008(4):127-128.

    [3]郑旭飞,张为群.一种基于面向方面的统一过程软件开发方法[J].西南师范大学学报(自然科学版),2004(1):45-48.

    Abstract: With the continuous development of software technology and the application of Web technology, service-oriented software system development method has also been developed rapidly. This paper puts forward the scheme of SOA framework design, analyzes and studies the key technology and function realization of SOA based software development, which has a certain application value.

    Key words: service-oriented system architecture; software development; software system

相关文章!
  • 融合正向建模与反求计算的车用

    崔庆佳 周兵 吴晓建 李宁 曾凡沂<br />
    摘 要:针对减振器调试过程中工程师凭借经验调试耗时耗力等局限性,引入反求的思想,开展了

  • 基于MATLAB 的信号时域采样及

    唐敏敏 张静摘要:频率混叠是数字信号处理中特有的现象,发生频率混叠后,信号会分析出错误的结果。而采样过程中,由于频率不够高,采样出

  • 卫星天线过顶盲区时机分析

    晁宁+罗晓英+杨新龙<br />
    摘 要: 分析直角坐标框架结构平台和极坐标框架平台结构星载天线在各自盲区状态区域附近的发散问题。通过建