我对SOA的理解:企业中的各种系统都需要进行安全检查,因此使用相同的流程并因此具有SecurityCheck服务是有意义的。然后可以通过各种方式调用该服务 - soap,rpc,http request。
如果到目前为止这是有意义的,那么我的问题是关于服务和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
项目?
答案 0 :(得分:0)
在我看来,您应该创建2个项目:一个用于SecurityCheckService
,另一个用于RpcClient
。 SecurityCheckResults
只是返回结果的类(与int,double或smth相同)。您的代码中的SecurityCheckResults
不是非常大的类,因此您可以将它与SecurityCheckService
服务的存根一起提供给客户端。