SOA架构设计分析

  SOA(Service-Oriented Architecture,面向服务的架构)是一个组件模型,它将应用程序的不一样功能单元(称为服务)进行拆分,并经过这些服务之间定义良好的接口和契约联系起来。前端

  SOA能够知足企业软件架构的须要,大大增长了企业对于IT系统更改的灵活性,它为企业软件架构的搭建定义了一种新方法,使得一些大企业或不在同一地区的开发团队可以进行更有效率的合做,此外,SOA还能帮助企业处理系统升级方面的困难。web

  要想实现SOA类型的架构设计,首先得明白SOA的架构模型,各部分的做用是什么,什么样的设计才能对职责进行正确的划分。图1是一套由五个逻辑层组成的简化版SOA模型。数据库

                              图1 基于SOA的管理信息系统体系结构示意图浏览器

 

接下来对各层的功能进行分析:安全

一、表示层架构

  为企业内部用户或企业服务客户提供与系统交互的界面,例如web用户界面。用户与系统交互须要经过表示层的应用程序前端,而外界若要调用服务层的服务,也只能经过表示层。表示层中存在多种类型的应用程序前端,例如给用户使用的操做界面。spa

二、数据库层架构设计

  包括企业底层的各类数据实体,例如业务合同、文档备份等。设计

三、数据控制层blog

  为表示层提供服务接口,容许表示层的应用程序前端对系统内部的各类服务进行调用。

四、业务逻辑层

  整个系统架构模型中最重要且最复杂的一层,包含了企业全部的业务逻辑和流程。主要有简单业务服务与高级业务服务两种服务。

五、数据访问层

  包含了对数据库层的数据进行持久化操做的业务。

图2 各层在SOA中扮演的角色

 

  把全部服务实体集成,并在松耦合的约束下组合他们以造成复杂高级的业务逻辑是SOA最根本的目的。ESB(Enterprise Service Bus,企业服务总线)是基于SOA的企业信息系统模型中的一个抽象层,它把SOA的服务交互过程虚拟、统一化,并对该过程进行全程管理和监控。ESB的另外一个重要特征是事件驱动,做为SOA的信息传输主干道,它为SOA提供了一种灵活简单的服务整合方法,下降了服务的耦合度和复杂度,是SOA在企业中成功实施的关键。 

  SOA被提出得比较早,但由于缺乏标准化的技术与方案规划,因此一直没有取代传统的解决方案,近几年web服务技术逐渐成熟,SOA概念才真正被应用于软件开发,以此来为企业信息化服务。 

SOA的优点不少,总结以下: 

  ①给企业提供一个更敏捷的系统。能从现有的服务中组合新的服务。经过对现有的组件和服务的重用来减小新软件系统的开发周期,使企业能够快速的开发新的业务服务。 

  ②更好的重用企业现有的IT资产。SOA提供了一个能够将现有的资产组合包装成能提供企业新功能的服务的抽象层,企业能够经过它来继续在IT方面投资。 

  ③减小开发成本、增长重用 

  ④给整个系统提供更完善的集成。经过提供针对基于彻底不一样的系统构建的现有资源和资产的服务规范,使集成更加易于管理。从而实现了真正意义上的集成:跨平台和跨语言。 

接下来给出一个以某公司为例的SOA设计 

公司原系统概况:本实例的公司是一家保险公司,总部在长春市,在吉林省有多家分支机构,在北京等地设有分公司。公司业务包含营业险等几个主营险种,此外还约有100多个产品险种,200多个附加保险产品,客户分布面广且数量大。公司在成立初购买了国内某著名软件公司量身定作的信息管理系统,然而随着公司的不断发展,国内保险行业和市场需求的不断变化,该系统暴露出愈来愈多的缺点,更换新的系统迫在眉睫。 

该公司信息系统主要存在如下几方面的问题:①系统架构致使集成困难;②系统效率底下;③系统缺少敏捷性。 

公司新系统需求以下:①较高的集成能力;②敏捷的快速部署能力;③具备较高的安全等级。 

该公司基于SOA的信息系统架构设计 

  为了减小二次开发对原系统产生的冲击,面对SOA的新系统结构上并不与原有的系统冲突,这个项目的解决方案采用了多层结构的架构模型,以下图

图3 系统的N层架构

 

关键层功能设计 

  表示层。该层包含用户界面应用程序,这些程序大多基于web客户端,容许公司员工或者保险客户经过web浏览器或其余终端访问。 

  应用程序与业务逻辑层。包含了服务实现的业务流程,组合和重用简单业务服务和数据库操做服务,由表示层访问,经过表示层与域服务层的底层服务交互。 

  域服务层。包含了用于域的全部数据服务与基本业务服务,其主要目的是定义与和核心业务实体以及基本数据库操做相关的功能。 

 

参考文献:基于SOA的企业信息系统架构设计__张卓

相关文章
相关标签/搜索