我对 SOA 的理解:业务中的各种系统都需要做安全检查,所以使用相同的流程并因此拥有 SecurityCheck 服务是有意义的。然后可以通过多种方式调用该服务——soap、rpc、http 请求。
如果到目前为止这是有道理的,那么我的问题是关于服务和 rpc 客户端之间的依赖关系:
public interface SecurityCheckService {
public SecurityCheckResults check(String name);
}
public class SecurityCheckResults {
private Date instant;
private int score;
//getter & setters
}
public class RpcClient {
private SecurityCheckService remoteService;
public boolean check(int personId) {
String name = "Person" + personId;
int score = remoteService.check(name).getScore();
return score > 10;
}
}
应该有3个单独的项目,SecurityCheckService
项目和RpcClient
项目依赖于SecurityCheckResults
项目吗?