对于SOA的关注有一段时间了,曾经在毕业论文尝试涉及到SOA方面,但是由于自己对这方面还了解非常肤浅加上就业的压力,后来改为SSH。但是心里还是很喜欢SOA的,所以从今天开始,记录下自己对这方面学习的点点滴滴,也希望能得到高手们的指正,让我能在soa方面有所突破。那么先从最简单的service这个概念开始。
Service:封装了一个概念(一个是动词),代表了涉及领域的一个重要的行为,不能忽略或者简单将之合并到某个对象去,这样的,这样的行为最好将之声明为一个服务。服务本质是一个类。
特点:不拥有内置的状态。
作用:简化所提供的领域服务。它的协调作用,可以讲服务于实体和值对象的相关功能进行分组。
角色:担当一个提供操作的接口。一个服务不是在执行服务的对象,而是与被执行操作的对象相关。这时一个服务通常变成了多个对象的一个连接点。
建立原则:一个服务应该不是对通常属于领域对象的操作的代替。
只有当一个操作凸现为一个领域的重要概念时,就需要建立一个服务。
特征:1.服务执行的操作涉及一个领域概念,这个概念通常不属于一个实体或者值对象。
2.被执行的操作涉及到领域中的其他的对象。
3.操作是无状态的。服务作为单独的接口。