概述
定义
面向服务(Service-Oriented,SO),进一步将接口的定义与实现进行解耦,则催生了服务和面向服务的开发方法
发展过程
OO → Component →SO
OO的应用构建在类和对象之上,随后发展起来的建模技术将相关对象按照业务功能进行分组,就形成了构件(Component)
的概念。对于跨构件的功能调用,则采用接口
的形式暴露出来。进一步将接口的定义与实现进行解耦,则催生了服务和面向服务的开发方法。由此可见,面向对象、基于构件、面向服务是三个递进的抽象层次。
产生背景
从应用的角度来看,组织内部、组织之间各种应用系统的互相通信和互操作性直接影响着组织对信息的掌握程度和处理速度。如何使信息系统快速响应需求与环境变化,提高系统可复用性、信息资源共享和系统之间的互操作性,成为影响信息化建设效率的关键问题,而SO的思维方式恰好满足了这种需求
组件 & 分类
SO方法有三个主要的抽象级别,分别是操作
、服务
和业务流程
- 操作:位于最低层,代表单个逻辑单元的事物。执行操作通常会导致读、写或修改一个或多个持久性数据。服务的操作类似于对象的方法,它们都有特定的结构化接口,并且返回结构化的响应
- 服务:位于第二层,代表操作的逻辑分组
- 业务流程:最高层,是为了实现特定业务目标而执行的一组长期运行的动作或活动,包括依据一组业务规则按照有序序列执行的一系列操作。其中操作的排序、选择和执行成为服务或流程的编排,典型的情况是调用已编排的服务来响应业务事件