我们概述了三种开发Services的途径。这些当然不是互相排斥的,他们在解释在使用一个模型开发SOA的不同的途径和想法的时候是很有用的。
1. 以消息为中心的设计
在以消息为中心的设计中,关注的焦点是服务域。这种方法的一个例子也许就是在传统的business-to-business领域中有,为代表的就是电子数据交换(EDI)标准。在EDI中并没有一个真正的服务借口的概念,尽管EDI系统通常有一个发送消息的全局收件箱和代发箱。
2.以服务为中心的设计
在这种方法中,设计者关注的是提供给商业或者应用程序所期望的功能。这种方法的一个例子就是Amazon (AWS) 和eBay提供的 Web Services APIs.这种服务接口并不在客户端强加一个商业处理过程,而是他们以一种清晰和直觉的方式为第三方开发者提供他们的服务提供商的各自的操作。
3.以协作为中心的设计
在一个以协作为中心的方法中,关注的焦点是两个或更多的服务的协作;这就正是一个服务的处理视图并且和更多的传统商业模型相关。服务被看作是满足合作的角色,并且服务规范就是为一个或者更多的角色之间的协作定义的职责集合。这样的一个方法将会普遍的以商业过程设计或者商业集成活动的形式出现,而在那些商业集成活动中,一个IT系统的构件被作为一个服务来提供。
结论
最后的总结,在对SOA建模的时候,类似于服务划分技术的这些技术能够提供的透明性和灵活性来让商业能够在今天的竞争和演化的市场中取得优势地位。正确的框架的提出,从服务规范的标识到UML服务建模的设计,导致了更加有效的成熟的商业应用程序的实现。最终地,三种开发服务的方法解释了可以用来为SOA建模的不同方法。通过追随这篇文章的概要,为表现一个服务模型的适当的层次的抽象被以一种允许商业能够满足他们的IT挑战的方式被提出来了。