SOAP、RPC 和项目间依赖关系

Posted

技术标签:

【中文标题】SOAP、RPC 和项目间依赖关系【英文标题】:SOA, RPC and interproject dependancies 【发布时间】:2011-01-31 17:06:13 【问题描述】:

我对 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项目?

【问题讨论】:

【参考方案1】:

在我看来,您应该创建 2 个项目:一个用于 SecurityCheckService,另一个用于 RpcClientSecurityCheckResults 是唯一用于返回结果的类(与 int、double 或 smth else 相同)。您代码中的SecurityCheckResults 不是很大的类,因此您可以将其与SecurityCheckService 服务的存根一起提供给客户端。

【讨论】:

以上是关于SOAP、RPC 和项目间依赖关系的主要内容,如果未能解决你的问题,请参考以下文章

Akka 简介

由于文件间依赖关系,在 Xcode 中创建存档不起作用

用于双向 RPC 的 grpc-js 中未解决的 HTTP2 依赖关系

maven项目关系依赖

webservice是啥

依赖注入与对象间关系