Remoting이란 클라이언트 어플리케이션과 원격 어플리케이션에서 제공하는 서비스간의 의사소통을 말한다.
| 원격 기술 |
설명 |
| RMI(Remote Method Invocation) |
방화벽과 같은 네트워크 제약이 없는 상황에서 자바 기반의 서비스를 공개하거나 접근하려는 경우에 사용한다. |
| Hessian/Burlap |
방화벽과 같이 네트워크 제약이 있는 상황에서 자바 기반의 서비스를 공개하거나 접근하려는 경우에 사용한다. |
| HTTP Invoker |
방화벽과 같이 네트워크 제약이 있는 상황에서 Spring 기반의 서비스를 공개하거나 접근하려는 경우에 사용한다. |
| Web Services |
웹 서비스에 접근하여 서비스를 호출하는 경우에 사용한다. Anyframe에서는 Web Services 기능을
Spring에서 제공하는 Web Service 기능이 아닌, Apache CXF
Web Service Framework에서 제공하는 기능을 이용하여 제공하고
있다. Apache CXF는 JDK 5.0만을 지원하므로 Anyframe Core를 통해 Web Service 기능을 구현하려면 JDK 5.0을 설치해야 함에 유의하도록 한다. 웹 서비스에 접근하여 서비스를 호출하는 Web Services 매뉴얼 내용은 Web Services 메뉴
를 참고하도록 한다.
|
| 원격 기술 |
장점 |
단점 |
| RMI |
자바 객체 직렬화 매커니즘을 지원하므로 복잡한 형태의 데이터 타입을 네트워크 상에서 전송 가능함 |
자바 대 자바 Remoting 솔루션이며 HTTP 프로토콜을 사용할 수 없음.
RMI 컴파일러와 레지스트리가 별도로 필요함 |
| Hessian/Burlap |
방화벽 문제 없음 |
자체 객체 직렬화 매커니즘을 가지고 있어서 복잡한 형태의 데이터 타입 사용이 어려움.
Burlap은 자바 클라이언트만 지원함
|
| HTTP Invoker |
HTTP 기반의 Remoting 기술
사용 편의성 |
자바 대 자바 Remoting 솔루션이며 서버와 클라이언트 모두 Spring 어플리케이션으로 구축해야 함 |
| EJB |
Remoting, 어플리케이션 보안, 트랜잭션 처리 등을 위한 J2EE 서비스 |
무거운(heavyweight) 기술로 J2EE 컨테이너가 반드시 필요함 |
| Web Services |
플랫폼과 언어에 독립적 |
SOAP을 사용하며 웹 서비스 구동을 위한 엔진이 필요함 |
|