设计概念

titans 2011-07-18

一,系统外的面向服务设计

系统外的面向服务设计是指系统的对外接口是基于服务的接口,即SOA的实现。通常SOA接口必须遵循以下的设计准则:

1.面向服务的接口是一个远程RPC,它的调用参数和返回值必须是非引用型的可序列化对象,通常是简单POJO对象。

(即:所传参数如一些简单的参数,而不是所传的某些参数还要去调用另一些业务层的逻辑)

2.面向服务的接口应该是一个完整的业务服务功能点,而不是一个简单的本地方法延伸。

(即:1,如若你提供的业务功能粒度较低,这样一来调用者还需多次调用,才能完成业务,跨系统调用会浪费性能

2,若所取数据较大时,一次性调用在post也不能处理,传输上也会遇到性能问题,处理方式分成多次post,

   这时给予有状态标记,让使之处理方式一致

)

3.面向服务的接口通常是无状态(stateless)的,如果服务需要保持会话状态,必须由客户端进行维护。

(即:提供的服务是无状态,如果客户端在取出数据时,要处理些业务判断,这些都由客户端自行处理,以免产生更多的业务接口)

4.面向服务的接口应该对事务封闭的,即一个服务接口调用是一个单独事务。如果出现一个事务性服务需要同时调用两个服务接口,则需要将这两个服务接口封装成第三个新的事务性接口。

(事务的特性)

相关推荐