2013-12-17 1 views
0

이것은 디자인 질문입니다.웹 서비스 또는 Java API 사용

우리는 자바로 REST-ful 웹 서비스를 구현하고 있으며, 우리 디자인은 씬 서비스 레이어와 도메인 레이어를 분리 할 것이다. 우리의 도메인 계층은 완전히 분리되어 있으며 서비스 계층을 인식하지 못하기 때문에 자체 .jar로 캡슐화 될 수 있습니다. 서비스 계층은 일부 비 자바 클라이언트를 서비스하게 될 것입니다. Java 클라이언트가 Java API를 직접 사용할 수 있도록 설계하는 것이 좋지 않습니까? Java 소프트웨어가 웹 서비스를 통과 할 필요는 없다고 생각하지만, 웹 서비스는보다 표준화 된 인터페이스이며 모든 소프트웨어가이를 통과해야한다고 주장 할 수 있습니다. Java 클라이언트가 도메인 계층 API를 직접 사용할 수 있도록 허용하거나 거부 할 수있는 몇 가지 이유가 있습니까?

답변

1

나는 당신이 당신의 자신의 질문에 대답했다고 믿는다.

그러나 웹 서비스는보다 표준화 된 인터페이스이며 모든 소프트웨어가이를 통과해야한다고 주장 할 수 있습니다.

웹 서비스는 확실히 관계없이 (자바, C#을 asp.net, PHP 등)에 자신의 클라이언트를 구축해야 플랫폼의 모든 고객을위한 더 많은 표준화 된 인터페이스입니다. RMI (여전히 What is rmi registry 참조)를 통해 Java API를 노출하고 Java 클라이언트가 이러한 API를 사용할 수 있도록해야하지만 이러한 API를 노출하는 것과 함께 POJO 또는 사용자가 소비하는 도메인 등급에 대한 변경 사항을 따라야합니다 이 RMI 호출을 통해 전선을 통해 (그렇지 않으면 serialversionUID에 오류가 발생하지 않습니다.) 클라이언트와 도메인 클래스를 공유해야하기 때문에 (액세스 할 수있는 일부 Maven 저장소에서 도메인 클래스의 .jar를 중앙 집중화해야하기 때문에) 더 많은 문제가됩니다.

모두 웹 서비스는 훨씬 더 깨끗한 방법입니다. 그건 내 2 센트 야.