SOA服务设计原则一:边界是显式的
1、服务应易于使用。设计服务时,开发人员应使其易于其他开发人员使用。设计的服务接口(合约)也应允许服务在不中断与现有使用者之间的合约的情况下进一步发展。
2、避免使用 RPC 接口。应采用显式消息传递,而避免使用 RPC 之类的模型。这种方法将使用者与服务实现的内部隔离开来,使开发人员可以集中精力改进他们的服务,同时将对服务使用者的影响降至最低(使用公共消息而不是公用的方法进行封装)。
3、尽量减小服务的表面积。服务的公共接口越多,就越难以使用和维护。应当少提供服务的定义明确的公共接口。这些接口应该相对简单,主要用于接受定义明确的输入消息并以同样定义明确的输出消息进行响应。这些接口一旦定义,即应保持不变。这些接口提供服务必须支持的“恒定不变”的设计要求,为服务专用的内部实现充当门面。
4、内部(专用)实现的细节不应泄露到服务边界之外。如果将实现细节泄露到服务边界,很可能会使服务与服务使用者之间的耦合更加紧密。服务使用者不应当获知服务实现的内部情况,因为这样会使服务的版本更新或升级受到限制。
浙公网安备 33010602011771号