2)服务实现
服务实现指的是服务如何通过其明确定义的接口提供其能力。服务实现可以通过以下方式实现:
完全基于编码实现
基于其他服务的编排而成
基于已有应用适配封装而成
以上情况混合实现
核心点是服务如何被实现的对于服务消费方来说是透明的,服务消费方仅仅需要关心的是服务是做什么的,而不是如何被实现
的。
服务可以提供在保持服务接口或者行为约定不改变的情况下,提供根据不同的行业不同场景提供各种不同的实现。
服务实现在保持服务接口或者行为约定不改变的情况下,可以自由进行升级和切换。服务实现既可以是静态的更新升级,也可
以使动态路由实时切换实现,如对应到不同的行业以及不同的业务场景的自动实现切换。
不管服务实现如何升级或者按需自动路由切换,只用服务的行为和契约不会发生改变,用户也就是服务的消费者根本不会感知
到任何不同。
我们可以把服务接口想象成室内普通电源国标插口,服务策略为室内非防水情况下适用,服务契约想象成 24X7 的 220v 电压
供电能力(其中 180V~250V 50Hz 是质量要求,24x7 稳定性要求,电流供给 <= 10A 是性能要求),此国标插座(服务提供
方)可以给包含与此接口匹配且符合契约的任何电器(消费方)交互并提供供电能力,支持其运转。
服务接口定义了交互的的风格和细节,而服务的实现定义了一个特定的服务提供方或者特定的业务实现如何提供其能力。
这种类似连接点/插口的设计极大的方便了更松耦合的业务功能解决方案。
三、服务接口与服务实现的逻辑构成
服务接口与实现的构成也有两个重要的不同方面,分别是执行功能的方法和执行的信息数据。换句话说,一个服务是由一个业
务服务操作集合以及对应操作的输入输出的抽象业务服务数据模型组成。这层业务服务数据模型是企业业务层次或者平台业务
层次的业务实体的抽象,独立于底层数据存储与实现。此业务数据模型是和各子域密切相关联,但是超越各子域以上的,在完
整的业务线或者平台层次上达成一致的业务数据模型,也就是说在各子域之间达成共识且约定的严格明确的公共模型,主要用
于平台业务流程中不同域服务的交互,是平台层次统一的业务语言,我把它暂时称为平台业务数据模型。 此平台业务数据模
型通常需要包含平台统一语义的业务术语表,平台各域核心实体表,平台各域核心实体交互图等。
接口与实现的逻辑构成:
1)服务操作
服务操作声明定义了这个操作的输入以及输出参数。
2)平台业务实体模型
平台业务实体模型描述了服务中输入输出数据的结构以及含义。服务接口中的信息和服