服务的四大特点:可重用性、自治、无状态和可被发现性。
面向服务的开发过程主要包括以下六个步骤:
1.面向服务的分析
- 确定需要构建的服务
- 明确每一个服务所包含的逻辑
定义业务需求->明确已有的自动化系统->对候选系统的建模(服务建模)
服务建模主要有以下几个步骤:
- 分解业务流程:基于业务需求文档,将流程分解为许多粒度相对比较小的步骤。
- 确定候选操作:根据上一步的结果,进一步标记流程的步骤。可以将流程的步骤划分为手动步骤,已被系统支持的步骤,以用没有系统支持的步骤。
- 抽出流程控制逻辑:将控制逻辑独立抽象出来,可以满足不断出现的新变化。
- 建候选服务:根据上下文对相关的服务操作进行分组。每一组构成一个潜在的服务。
- 应用面向服务的原则修正候选服务:主要是检查是否满足可重用性及自治的原则。
- 确定服务的组合:即确定候选服务之间的关系。挑选流程的一条主要执行路径,依次检查哪些服务被调用。
- 调整操作的分组:在上一步结束后,可能出现某些操作需要重新分组。
- 分析应用级的处理需求:前面都是以业务为中心进行的。
- 确定应用级服务的操作:
- 构建候选的应用级服务:
- 修正服务的组合
- 再次调整振作的分组
2.面向服务的设计
- 设计服务的接口
- 确定需要支持的服务特征及使用的规范
服务可以分为三层:应用级服务层,业务级服务层和流程级服务层。
- 构建面向服务的架构
- 设计实体型服务
- 设计应用级服务
- 设计任务型服务
- 设计流程级服务
3.服务的开发
- 采用具体的开发平台和语言,按照设计好的服务接口,实现相应的服务
4.服务的测试
开发好的服务需要经过反复测试
5.服务的发布
把经过反复测试的服务发布到具体的运行环境中。
6.服务的管理
这一步负责运营、管理和维护服务