📖 WIPIVERSE

🔍 현재 등록된 정보: 74,824건

객체 요청 브로커

객체 요청 브로커(ORB)는 분산 컴퓨팅 환경에서 객체 간의 통신을 가능하게 하는 소프트웨어 아키텍처이다. ORB는 클라이언트가 네트워크 상의 서버 객체에 위치 투명적으로 요청을 보낼 수 있도록 중개자 역할을 수행하며, 객체의 위치나 구현 세부 사항에 대한 지식 없이도 객체 서비스를 호출할 수 있게 한다.

역할 및 기능

  • 위치 투명성: ORB는 클라이언트가 서버 객체의 물리적 위치나 네트워크 주소를 알 필요 없이 객체를 호출할 수 있도록 한다. 클라이언트는 객체의 인터페이스만 알면 된다.
  • 중개 및 라우팅: 클라이언트의 요청을 해당 객체가 존재하는 서버로 전달하고, 서버의 응답을 다시 클라이언트에게 전달한다.
  • 객체 활성화 및 관리: ORB는 필요에 따라 서버 객체를 활성화하고, 객체의 생명주기를 관리한다.
  • 인터페이스 정의: 인터페이스 정의 언어(IDL, Interface Definition Language)를 사용하여 객체의 인터페이스를 정의하고, 클라이언트와 서버가 동일한 인터페이스를 공유하도록 한다.
  • 프로토콜 독립성: ORB는 다양한 통신 프로토콜을 지원하여, 이기종 환경에서도 객체 간의 통신을 가능하게 한다.

동작 방식

  1. 클라이언트는 원하는 객체에 대한 요청을 ORB에 전달한다.
  2. ORB는 인터페이스 저장소(Interface Repository)를 참조하여 요청된 객체의 인터페이스를 확인한다.
  3. ORB는 서버 객체의 위치를 찾고, 요청을 해당 서버로 전달한다.
  4. 서버 객체는 요청을 처리하고, 결과를 ORB에 반환한다.
  5. ORB는 결과를 클라이언트에 전달한다.

표준 및 구현체

가장 대표적인 ORB 표준은 OMG(Object Management Group)에서 정의한 CORBA(Common Object Request Broker Architecture)이다. CORBA는 다양한 프로그래밍 언어와 플랫폼을 지원하며, 다양한 ORB 구현체(예: ORBit, JacORB, TAO)가 존재한다.

활용 분야

ORB는 분산 시스템, 엔터프라이즈 애플리케이션 통합(EAI), 미들웨어 등 다양한 분야에서 활용된다. 특히 CORBA는 금융, 통신, 국방 등 높은 안정성과 확장성을 요구하는 시스템에 많이 사용되었다.