IIOP (Internet Inter-ORB Protocol)

IIOP는 일종의 객체 지향 프로토콜로, 다른 프로그래밍 언어로 쓰여진 분산 프로그램이 인터넷을 통해 서로 통신할 수 있도록 한다. IIOP는 전략적 산업 표준인 CORBA의 핵심 부분이다. CORBA의 IIOP 그리고 관련 프로토콜을 이용하면, 한 회사가 다른 회사의 프로그램에 대해 그들이 어디 있든지 상관없이, 그 서비스의 내용과 이름만을 알고서도 서로 통신할 수 있는 프로그램을 작성할 수 있다. CORBA와 IIOP는 마이크로소프트의 소위 DCOM과 비슷한 전략으로 경쟁하고 있다 (마이크로소프트와 CORBA의 스폰서인 OMG는 두 모델 간에 다리를 놓는 소프트웨어 개발에 동의함으로써, CORBA로 설계된 프로그램이 DCOM으로 설계된 프로그램과 통신할 수 있도록 하였다.)

CORBA와 IIOP는 클라이언트 프로그램이 항상 요구하고 서버 프로그램이 클라이언트의 요구를 기다리는 클라이언트/서버 모델을 가정한다. 프로그램 작성시, GIOP(General Inter-ORB Protocol)라 불리는 인터페이스를 사용하는데, GIOP는 하나 이상의 네트웍 전송 계층을 위해 특화된 매핑으로 구현되었다. GIOP의 가장 중요한 특화 매핑은 IIOP로, 이것은 TCP를 이용한 인터넷의 전송 계층에서 요구를 전하거나 응답을 받는 것이다. 다른 가능한 전송 계층으로는 IBM의 SNA와 Novell의 IPX가 있다.

클라이언트가 네트웍 상 어딘가에 있을 어떤 프로그램에 대해 처리요구를 하려면, 그 프로그램의 주소를 가져야 하는데, 이 주소를 IOR (Interoperable Object Reference)이라고 부른다. IIOP를 이용할때, 주소의 일부는 서버의 포트 번호와 IP주소에 기반을 둔다. 클라이언트 컴퓨터에서, IOR을 더 사용하기 쉬운 프럭시(proxy) 이름으로 대응시키는 표가 만들어질 수 있다. GIOP는 프로그램이 IOR과 연결하여 그에게 요청할 수 있도록 한다(그리고 서버가 응답을 보내도록 한다). CDR (Common Data Representation)은 자료를 암호화/복호화 하는 방법을 제공하여 표준 방식으로 교환하도록 한다.

유사한 프로토콜로, RMI는 썬마이크로시스템즈가 자바 프로그래밍 언어를 위한 플랫폼간 구조를 지원하기 위해 개발하였다. 썬은 RMI를 사용하는 프로그램이 IIOP에 전사되도록 하는 방법을 제공한다.


이 정보는 1999년 6월 17일에 수정되었으며, 심재범님께서 도움을 주셨습니다.
영어판(whatis.com)