Service Orientation的动机:
由于商业(业务)系统越来越多的互连起来,因此这极大地改变了软件系统的设计
这些软件系统的显著特征是基于标准的互连性,利用其他系统投资,松耦合……
这些极大地加大了系统的敏捷性。

对象、组件和服务
1980s Object-Oriented  多态性、封装性、子类化
1990s  Componet-Based  接口化、动态加载、原数据
2000s Service-Oriented  基于消息、基于Schema+Contract、基于Policy实现绑定

SO是建造分布式系统的技术框图,是一种改良,一种持续的过程,一种渐进的过程,是容易的

服务,面向服务,面向服务的体系架构
service,反映消息的终点
Service Orientation ,是一种体系框图,有四个原则:
边界清晰
服务自治
共享Schema和Contract,而不是类
基于策略的服务兼容性
Service-Oriented Architecture(SOA)是一种反映了上述四种原则的体系架构

1.边界清晰
服务是通过交换信息从而互动的
每一个消息横跨边界-这种横跨是高成本的
每一个服务对象在内部进行格式化,在交换信息时是清晰的

2.共享Schema和Contract
服务暴露的是结构定义,合约定义操作
Contracts和Schema可以随着时间,有独立的版本

3.基于策略的服务兼容性
策略是针对服务之间沟通需求的声明
服务能力和需求是基于POLICY表达的
一个服务策略可以包含多个断点

4.服务自治
自治不等于独立
随着时间的演化,服务的拓朴图也会演化
与OO不同,服务不共享操作层面的东西
服务需要处理失败

Benefits Of Service Orientation

Service Granularity

Topology Independence

规模的可变性

OO的演化

Microsoft Technology Solutions

总结