面向服务是一种设计范式,用于创建解决方案逻辑单元,这些单元可单独设计,并可结合起来重复使用,以支持实现面向服务计算的特定战略目标和收益。
符合“面向对象”原则的解决方案逻辑称为面向服务的解决方案逻辑,其组成单元称为“服务”。作为分布式计算的一种设计范式,面向服务可比作面向对象或面向对象的设计。面向服务在很多方面扎根于面向对象,并且受到行业其他发展的影响,如图3.2所示。
面向服务
面向对象
模块开发过程式编程
BPMEAIAOPRPC
服务技术其他
其他
面向服务设计范式主要由8个具体的设计原则组成(见图3.3)。
.标准化服务契约:相同服务库存内的服务遵从相同的契约设计标准。
.服务松散耦合:服务契约对服务消费者耦合的要求不高,并且与所在环境无耦合。
.服务抽象:服务契约仅包含必要信息,并且关于服务的信息局限为服务契约中发布的信息。
.服务可重用性:服务包含并表达无关逻辑,且可作为可重用的企业资源。
.服务自治:服务对其底层运行时执行环境有很大的控制权。
.服务无状态性:服务通过在必要时推迟管理状态信息,最小化资源消耗。
.服务可发现性:服务得到了一些描述性元数据的补充,通过这些元数据可以有效地发现并解释服务。
.服务可组合性:服务可以有效地组合起来,对组合的大小和复杂程度没有要求。