SOA, RPC и межпроектные зависимости - PullRequest
0 голосов
/ 31 января 2011

Мое понимание 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?

1 Ответ

0 голосов
/ 31 января 2011

На мой взгляд, вы должны создать 2 проекта: один для SecurityCheckService, а другой для RpcClient. SecurityCheckResults - это единственный класс для возврата результатов (такой же, как int, double или smth else). SecurityCheckResults в вашем коде не очень большой класс, поэтому вы можете предоставить его клиентам вместе с заглушками службы SecurityCheckService.

...