Skip to main content
QUICK REVIEW

[논문 리뷰] RAFDA: Middleware Supporting the Separation of Application Logic from Distribution Policy

Alan Dearle, Scott Mervyn Walker|arXiv (Cornell University)|2010. 06. 18.
Distributed and Parallel Computing Systems참고 문헌 6인용 수 3
한 줄 요약

RAFDA는 응용 프로그램 로직과 분산 정책을 분리하기 위해 동적 런타임 시점에 어떤 객체라도 웹 서비스로 노출할 수 있도록 해주는 자바 미들웨어입니다. 이는 메서드별, 매개변수별 전송 정책(값 전달 또는 참조 전달)을 지원하며, 정적 인터페이스 정의나 코드 수정이 필요로 하지 않습니다. 이는 타임리프 타이밍의 분산 결정을 가능하게 하고, 소스 접근 없이도 기존 응용 프로그램의 모니터링 및 관리가 가능하게 합니다.

ABSTRACT

Middleware technologies often limit the way in which object classes may be used in distributed applications due to the fixed distribution policies imposed by the Middleware system. These policies permeate the applications developed using them and force an unnatural encoding of application level semantics. For example, the application programmer has no direct control over inter-address-space parameter passing semantics since it is fixed by the application's distribution topology which is dictated early in the design cycle by the Middleware. This creates applications that are brittle with respect to changes in the way in which the applications are distributed. This paper explores technology permitting arbitrary objects in an application to be dynamically exposed for remote access. Using this, the application can be written without concern for its distribution with object placement and distribution boundaries decided late in the design cycle and even dynamically. Inter-address-space parameter passing semantics may also be decided independently of object implementation and at varying times in the design cycle, again, possibly as late as run-time. Furthermore, transmission policy may be defined on a per-class, per-method or per-parameter basis maximizing plasticity. This flexibility is of utility in the development of new distributed applications and the creation of management and monitoring infrastructures for existing applications.

연구 동기 및 목표

  • 미들웨어 시스템에서 원격 가용성에 대한 조기 정적 결정으로 인해 발생하는 분산 응용 프로그램의 취약성을 해결하기 위해.
  • 원격 액세스를 지원하기 위해 응용 프로그램 클래스가 특수 인터페이스를 구현하거나 특수 기본 클래스를 상속해야 하는 필요성을 제거하기 위해.
  • 매개변수 전달 방식(값 전달 대비 참조 전달)을 클래스의 구현 및 분산 아키텍처에서 분리하기 위해.
  • 객체 분산 및 전송 정책에 대한 후기 단계 또는 런타임 결정을 가능하게 하여 유연성과 유지보수성을 높이기 위해.
  • 소스 코드 접근 없이도 기존 응용 프로그램에 대한 관리 및 모니터링 인fra를 구축할 수 있도록 하기 위해.

제안 방법

  • 소스 코드 수정 없이 임의의 객체 인스턴스에 대해 표준 웹 서비스를 동적으로 배포하기.
  • 반사(reflection) 및 바이트코드 조작을 사용하여 런타임에 프oxy 및 스텁 코드를 동적으로 생성 및 컴iles.
  • 반사 기반으로 원격 웹 서비스 호출을 대상 객체 인스턴스의 메서드 호출로 매핑하기.
  • 메서드별 및 매개변수별 전송 정책(값 전달 또는 참조 전달)을 런타임에서 구성 가능하게 지원하기.
  • 현지에 필드 값을 캐시하여 네트워크 호출 수를 줄이는 스마트 프oxy 통합하기.
  • 응용 프로그램 로직과 독립적으로 원격 참조 및 전송 의미 체계를 관리하기 위해 원격 참조 기술(RRT) 레이어 사용하기.

실험 결과

연구 질문

  • RQ1어떻게 하면 미들웨어 시스템에서 응용 프로그램 로직과 분산 정책을 분리하여 탄력성을 향상시킬 수 있는가?
  • RQ2소스 코드 변경 없이도 또는 상속 제약 없이도 임의의 자바 객체를 동적으로 원격 액세스 가능하게 만들 수 있는가?
  • RQ3매개변수 전달 방식을 객체 분산 및 클래스 설계에서 독립적으로 제어할 수 있는 정도는 어느 정도인가?
  • RQ4소스 코드 접근 없이도 기존 응용 프로그램에 대한 모니터링 및 관리 시스템을 어떻게 구축할 수 있는가?
  • RQ5정적 미들웨어 접근 방식에 비해 동적 정책 기반 원격 액세스의 성능 및 유지보수성에 미치는 영향은 어떠한가?

주요 결과

  • RAFDA는 소스 코드 수정 없이도 컴iles된 클래스나 라이브러리 클래스를 포함한 어떤 자바 객체라도 동적으로 원격 액세스할 수 있도록 합니다.
  • 시스템은 메서드별 및 매개변수별 전송 정책을 지원하여, 런타임에 값 전달 또는 참조 전달 의미 체계를 세밀하게 제어할 수 있습니다.
  • 스마트 프oxy는 현지에 필드 값을 캐시하여 네트워크 오버헤드를 줄여 자주 발생하는 접근자 호출에 대한 성능을 향상시킵니다.
  • 프레임워크는 소스 코드 접근 없이도 기존 응용 프로그램의 모니터링 및 관리를 가능하게 하여 비침습적 인스트루멘테이션을 지원합니다.
  • RRT 레이어는 분산 결정을 응용 프로그램 로직에서 분리하여, 분산 토폴로지의 후기 단계 또는 런타임 구성이 가능하게 합니다.
  • 이 방법은 글로벌 규모의 P2P 라우팅 네트워크에 성공적으로 적용되었으며, 코드 변경 없이 분산 및 중앙집중식 실행 모드를 모두 지원합니다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.