SOA实践指南 读书笔记二

SOA

SOA是一种范式(或一种概念、一种哲学),针对所有者各异的大型分布式系统,SOA给出了一个评估体系。

SOA定义

对SOA下个准确的定义很困难。
所有定义都同意:SOA是一种范式,目的是增强灵活性。

维基百科定义:SOA表达了一种软件架构概念,它定义为使用服务来满足软件用户的需求。在SOA环境中,网络上的节点以独立服务的形式将自己的资源开放给网络其它参与者,其它参与者按一种标准方式使用资源。可以用任何基于服务的技术实现SOA。
与传统点对点架构不同,各种SOA都由松耦合、高度可互操作的应用服务构成,服务基于某种格式定义进行互操作,该定义独立于底层平台和编程语言。

SOA是个范式:SOA是一种方法,是种思考方式,是个价值体系。当使用这个范式到具体场合时,必须根据自己的情况作出具体决策。
SOA目标为增强灵活性。

SOA驱动因素

  • 分布式系统,SOA很适宜处理复杂的分布式系统。
  • 所有者各异。
  • 异质Heterogeneity:大系统缺乏一致性。SOA可以用一种合适的方式处理异质化。

SOA概念

  • 服务:对问题的业务角度进行抽象。
  • 互操作性:高互操作性,能够轻松的连接这些系统。
  • 松耦合:为了满足灵活性、可伸缩性、容错的目标。

SOA要素

基础设施、架构及流程(包括元流程、监管)。

基础设施

基础设施使SOA中使高互操作性成为可能的技术部分。SOA范畴的基础设施被称为“企业服务总线(ESB)”。
ESB的关键特性是,使你能在异质系统间进行服务调用。职责包括数据转化、智能路由、处理安全和可靠性、服务管理、监测以及日志。后面会详细介绍。

架构

必须分清不同类型的服务,决定松耦合的程度,限制服务接口的数据模型,定义政策、规则和模式,理顺角色和职责,选择基础设施技术,敲定使用哪个标准等。
需要基于自己的具体情况建立起系统架构。

过程

通常不是由一个人或少数人控制着所有一切,必须建立适当的过程。这些过程包括:

  • 业务流程建模(BPM):把业务流程细分为更小的活动或任务,也就是服务。
  • 服务生命周期:定义服务成为现实需经历的不同步骤。
  • 模型驱动的软件开发(MDSD):处理服务时生成代码的过程。
监管

监管是所有流程的元流程,也是SOA的一个总体策略。

你可能感兴趣的:(SOA实践指南 读书笔记二)