初识SOA(一) SOA定义

软件架构的定义

 软件架构是一系列声明,描述软件组件,并将系统功能指派给组件。架构描述组件的技术结构、约束、特性和组件之间的接口。架构是系统蓝图,是结构的高级隐式规划。
 
SOA的定义

 SOA是一个软件架构,它包含四个关键概念:应用程序前端、服务、服务库和服务总线。一个服务包含一个合约、一个或多个接口以及一个实现。 SOA全部概念的重心是定义业务基础结构。服务是SOA的主要战略性实体。

SOA的元素

 1.应用程序前端
 
 应用程序前端是SOA的活跃元素,负责发起和控制企业系统的所有活动。应用程序前端有多种类型。包含图形用户接口的应用程序前端(如Web应用程序或富客户端)与最终用户直接交互。有些应用程序前端不一定非与最终用户直接交互。周期性调用功能(或在特定事件驱动下调用功能)的批处理程序或长期流程也属于应用程序前端范畴。
 应用程序前端完全可能将业务流程的大多数职责委托给一个或多个服务,但应用程序前端负责发起业务流程并接收结果。
 应用程序前端类似于传统的多层应用程序的较高层,但不要误认为服务更类似于较低层。服务有一个不同的结构,有垂直分层的特点。
 
 2.服务
 
 服务是一个软件组件,具有明确的功能,通常封装着高级业务概念。服务由数据、业务逻辑、接口和服务描述组成。
 服务合约提供一个信息规范,说明服务的作用、功能、约束和使用。规范的格式因服务类型而异。
 服务接口将服务的功能向服务客户(客户通过网络连接到这个服务)公开。接口描述是服务合约的一部分,但接口的物理实现包含服务占位程序,占位程序被嵌入到服务或调度程序的客户中(应用程序前端或其他服务)。
 服务实现在物理上提供所需的业务逻辑和适当数据。在技术上实现服务合约。服务实现由一个或多个工件组成:如程序、配置数据和数据库。
 业务逻辑由服务封装,是服务实现的一部分。可通过服务接口访问业务逻辑,无论是否运用面向服务的方法,都要对照接口编写程序。
 服务还包括数据,“以数据为中心”的服务当然离不开数据。
 
 
 3.服务库
 
 通过服务库,可以发现服务,获得使用服务的所有信息。如果必须在创建服务的功能和时间范围以外发现服务,则服务库显得更重要。虽然服务合同提供了大多数必要的信息,但是服务库补充了一些信息,如物理位置、提供者信息、合约人、使用费用、技术限制、安全问题和可用服务级别。
 服务库可能非常简单,甚至可能不需要技术。办公室里一批已经打印好并能被所有项目访问的服务合约就可以称为一个有效的服务库。不过,可以用更好的方法来提供信息,并保持服务库的简单性。
 
 4.服务总线
 
 服务总线将SOA的所有参与者(服务和应用程序前端)相互连接在一起。如果两个参与者需要通信(例如,应用程序前端调用基本服务的一些功能),就必须依靠服务总线。在这方面,服务总线类似于CORBA上下文中定义的软件总线概念。不过这些概念之间存在巨大的差别,服务总线并不一定由单个技术组成,它可能包含多种产品和概念。
 特性:连接性、技术异质性、通信概念异质性、技术“服务”等。
  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值