首页  »   Web Service

关于WCF服务粒度划分有关问题

网友分享于:2013-02-21  浏览:31次
关于WCF服务粒度划分问题


大家在使用WCF时,粒度是如何划分的

如一个系统中许多功能:如
人员档案维护
地区信息维护

举例关于以上两个服务大家是如何划分的,是采用一个服务还是采用两个服务?

还请各位有经验的朋友能谈谈观点!

------解决方案--------------------
可以考虑大粒度一些,在一个服务中实现。从性能上考虑,尽量每次交互多传输一些数据,有利于提高系统的吞吐量。
------解决方案--------------------
guan zhu...
------解决方案--------------------
建议你参考《WCF服务编程》的附录C《WCF编码规范》

服务契约规范:
... ...
4. 避免定义只有一个成员的契约。
5. 每个服务契约最好只定义三到五个成员。
6. 每个服务契约的成员不要超过20个。12个是可能的实际限定。

我认为,定义一个服务,就是把几个相关的操作按照面向对象的思想组织在一起。
楼主所说的系统包括:人员档案维护、地区信息维护,要看它们具体有多少操作。比如,人员档案维护:
1. 如果只有3、5个操作那么就把它定义为一个服务; 
2. 如果只有一个操作,那么就要考虑把它合并到其他服务中;
3. 如果有数十个操作,则可以进行进一步细分。
 

------解决方案--------------------
不应从功能角度划分粒度,做服务,首先应该细化业务,再将细化后的业务颗粒经行二次封装。
像你的问题:
人员档案维护 
地区信息维护 
应当做一个具有“维护”粒度的WS,“人员档案”与“地区信息”只是业务参数

相关解决方案

最新解决方案