객체 랩퍼 클래스를 이용한 RPC 프로그램의 제공학 기법

A Technique on Reengineering RPC Program using Object Wrapper Classes

  • 서봉원 (청호컴퓨터 시스템공학연구소) ;
  • 최은만 (동국대학교 컴퓨터공학과)
  • 발행 : 1999.03.01

초록

RPC(Remote Procedure Call)는 프로그래밍이 쉽고 데이터 표현이 기계 독립적이므로 네트워크 파일 시스템등의 시스템 프로그래밍에서만 아니라 응용 프로그래밍에서도 활발히 사용되고 있다. 그러나 복잡하고 다양한 기능의 최신 프로그램을 개발하는데는 미흡한 점이 많고, 다른 RPC 표준간의 호환성이 결여되어 있어 유지보수가 어려운 단점을 가지고 있다. 본 논문에서는 객체 랩퍼 기술에 입각한 CORBA 계층을 추가함으로써 RPC 프로그래밍을 수정하는 단점을 해결하고 , 기존 RPC 프로그램을 재사용하면서 다중 플랫폼에서 RPC 프로그램을 연동하고 객체 지향 프로그래밍에 의한 재사용과 유지보수성을 높일 수 있는 WDL(Wrapper Definition Language)와 랩퍼 클래스 자동생성기를 제안한다. 사용사례로 기존 파일 전송 RPC 서버 프로그램을 랩핑해서 Unix, Windows 95 및 웹상에서 CORBA클라이언트와 연동할 수 있음을 보인다. 이 과정에서 RPC 프로그램의 구조적 프로그래밍에서 객체지향 프로그래밍으로의 전환이 가능하므로 객체 지향 방법론의 장점인 높은 재사용성과 유지보수성을 가질 수 있고 기존 RPC 서버 프로그램의 수정 없이 사용 가능할수 있다.

키워드

참고문헌

  1. Power Programming with RPC John Bloomer
  2. Design Patterns: Elements of Reusable Object-Oriented Software Erich Gamma;Richard Helm;Ralph Johnson;John Vlissides
  3. The Essential CORBA: Systems Integration using distributed Objects Thomas J.Mowbray;Ron Zahavi
  4. CORBA Fundamentals and Programming Jon Siegel
  5. 컴파일러 입문 오세만
  6. ACM Trans. On Computer System v.2 no.1 Implementing Remote Procedure Call A. D. Birrel;B. J. Nelson
  7. Orbix 2 Programming Guide
  8. RPC: Remote Procedure Call Protocol Specification, Version 2
  9. XDR: External Data Representation Standard
  10. The Essential Distributed Objects survival Guide Robert Orfli;Dan Harkey;Jeri edwards
  11. Client/Server Programming with JAVA and CORBA Robert Orfli;Dan Harkey
  12. Visibroker for C++ Programming Guide
  13. Visibroker for Java Programming Guide
  14. Distributed Systems: Concepts and Design G. Coulouris;J. Dollimore;T. Kinsberg
  15. OOPSLA Conference Proceedings Reengineering of Old Systems to an Object-Oriented Architecture I. Jacobson;F. Lindstrom