15.9 构建 SOA架构时应该注意的问题
15.9.1 原有系统架构中的集成需求
首先考虑如何重用已有的资产,
在分析和评估一个已有系统体系结构的集成需求 时,必须考虑一些更加具体的集成的类型,主要包括:应用程序集成的需求, 终端用户界面集成的需求,流程集成的需求以及已有系统信息集成的需求。
设计新的体系结构框架时,必须要全面地考虑所有可能 的集成需求
15.9.2 服务粒度的控制以及无状态服务的设计
两点需要特别注意的地方:服务粒度的控制,无状态服务的设计。
1、服务粒度控制
通常来说,对于将暴露在整个系 统外部的服务推荐使用粗粒度的接口,而相对较细粒度的服务接口通常用于企业系统架构的内 部。
从技术上讲,粗粒度的服务接口可能是一个特定服务的完整执行,而细粒度的服务接口可 能是实现这个粗粒度服务接口的具体的内部操作。
2、无状态服务的设计
SOA架构 中的服务应该是无状态的服务。当某一个服务需要依赖时,最好把它定义成具体的业务流程 (BPEL)。
15.10 SOA实施的过程
15.10.1 选择SOA解决方案
1.尽量选择能进行全局规划的方案
首先对系统进行全面评估,其次选择合适的工具和技术,最后 进行开发
2、选择时充分考虑企业自身的需求
3.从平台、实施等技术方面进行考察
从平台的选择、实施方法与途径、供应商的选择三 个方面进行考量。
15.10.2 业务流程分析
1.建立服务模型
1)自顶向下分解法
自上而下的领域分解方式从业务着手进行分析,选择端到端的业务流程进行逐层分解至业 务活动,并对其间涉及的业务活动和业务对象进行变化分析。
2)业务目标分析法
通过关键性能指标分析来验证已有服务候选者以及发现遗漏的服务候选者
3)自底向上分析法
自底而上方式的目的是利用已有资产来实现服务,已有资产包括已有系统、套装或定制应 用、行业规范或业务模型等。
2.建立业务流程
1)建立业务对象
业务对象是对数据进行检索和处理的组件,通常位于中间层或业务逻辑层。
业务对象分类:实体业务对象、过程业务对象、事业业务对象
2)建立服务接口
服务接口通常应该包含多个操作, 服务之间的交换可以有状态、无状态。
3)建立业务流程
流程是指定的活动顺序,包含明确确定的用于提供业务值的输入和输出。