Richard Veryard 在他的最近的一篇日志里提到:
SOA 世界终于开始跟上一点生态系统的思想了…以生物性的方式来创建业务和软件服务。
根据 Richard 的说法,这一方式与解决方案驱动的 SOA 方式截然不同。在这种情况下,不是基于特定的解决方案来定义服务,而是基于它们所属于的生态系统 (可与 自顶向下 vs 自底向上 的服务设计方式相对应)。Richard 将从解决方案驱动的 SOA 到 SOA 生态系统的转变认为是 SOA 成熟度的一个阶段。他陈述了以下的三个成熟度水平:
- 实验性 SOA 是由特定的解决方案驱动的,牵涉到以下几个步骤:
- 认定业务问题
- 认定这一解决方案的用户
- 就这一解决方案的需求进行协商
- 设计并实现这一解决方案
- 企业级 SOA 由一个普遍的解决方案来驱动,牵涉以下几个步骤:
- 认定业务领域
- 认定业务领域的用户
- 设计领域特定的需求
- 为一个特定的业务领域设计并实现解决方案工具箱
- 生态系统 SOA 由演化而驱动,并牵涉以下几个步骤:
- 认定生态系统
- 认定这一生态系统特定的服务
- 将服务的实现分派给生态系统的各个参与者
企业 SOA 与生态系统 SOA 两者之间的一个主要区别就是服务组合定义的方式。企业 SOA 里一个典型的组合,是基于认定该企业能力的企业业务模型。而在生态系统的 SOA 里,业务模型进一步的被划分为核心 (战略),能力与周边等不同的域。核心部分始终作为服务集来设计,由企业实现,而能力通常在企业与合作伙伴进行划分,周边部分通常外包给合作伙伴。
作为结果,生态系统 SOA 不仅包括了服务分解,同时还允许企业专注于核心功能来构建业务流程,而由合作伙伴来提供其它功能的支持。
Richard 定义了两个主要的通往生态系统 SOA 的途径:
…实现生态 SOA 的一种途径是将企业推向生态系统。John Hagel 称此为由内而外的架构,与由外而内的架构相比较…一个由外而内的架构将知识 (流程) 的模型和在生态系统中的整体价值作为起点。一个企业所面对的战略问题是如何找到一种方式,通过提供生态学可行的服务,既能为这一生态系统贡献价值,又能从中获取价值。
企业不会是孤立的岛屿。因此,如果定义企业的服务不结合考虑企业的合作伙伴所提供的功能 / 服务 / 流程,将会变得很困难。 Richard 的日志里所供述的生态系统这一途径可以帮助企业定义特定的服务架构,同时又结合了全盘的考虑。
评论