2. CORBA와 DCOM의 비교
CORBA - Common Object Request Broker Architecture
- 정의;
- CORBA는 네트웍에서 분산 프로그램 객체를 생성, 배포, 관리하기 위한 규격으로 네트웍 상의 서로 다른 장소에 있는 프로그램들이 “인터페이스 브로커”를 통해 통신이 가능하도록 해준다.
- OMG(Object Managemet Group)에서 개발.
- 구성요소;
- ORB(Object Request Broker):클라이언트 프로그램이 분산 네트웍에서 서버가 어디 있는지, 또는 서버 프로그램이 어떤 인터페이스를 가질지 인식하지 않고서도, 서버 프로그램이나 객체로부터 서비스를 요구할 수 있다는 것
- GIOP(General Inter-ORB Protocol)
- IOP(Internet Inter-ORB Protocol)
- CORBA의 경쟁대상: 독자적인 분산 객체 구조를 가진 마이크로소프트의 DCOM(Distributed Component Object Model)
ORB - Object Request Broker
- 정의:
- 객체들 간의 클라이언트/서버 관계를 맺어주는 미들웨어이다
- ORB는 요구된 컴포넌트를 찾아 통신하기 위해 CORBA 인터페이스 리포지터리(interface repository)를 사용
- CORBA의 IDL을 이용해 public interface를 선언
- 서비스
- Life cycle service : 컴포넌트를 어떻게 만들고, 복사하고, 이동하고, 지우는가 등에 관한 서비스
- Persistence service : 자료를 객체지향형 데이터베이스, 관계형 데이터베이스 그리고 보통의 텍스트 파일에 저장하는 능력을 제공
- Naming service : 컴포넌트가 다른 컴포넌트를 이름으로 찾고 기존 명명규칙(naming systems)이나 DCE, X.500, Sun의 NIS 같은 디렉토리 지원을 가능케 함
- Event service : 컴포넌트가 통보 받을 특정 이벤트를 지정하도록 함
- Concurrency control service : ORB로 하여금 트랜잭션이나 스레드의 처리가 끝날때까지 데이터를 잠그는 것(lock)을 관리하도록 함
- Transaction service : 트랜잭션이 완료되었을때 데이터베이스 갱신을 확정하거나, 그렇지 못한 경우 트랜잭션이 발생하기 전 상태로 복귀되는 것을 보증
- Relationship service : 이전에 "만난" 적이 없는 컴포넌트간의 동적 관계를 설정하고 이 관계를 지속
- Externalization service : "스트림"에서 컴포넌트의 입출 자료를 가져오는 방법을 제공
- Query service : 컴포넌트가 데이터베이스를 조회할 수 있도록 함. 이 서비스는 SQL3 규격과 ODMG(Object Database Management Group)의 OQL(Object Query Language)에 기반을 둠
- Licensing service : 사용 대가를 치를 목적으로 컴포넌트의 사용이 측정되도록 함. 요금 부과는 세션, 노드, 활성체 생성, 사이트 단위로 가능
- Properties service : 컴포넌트가 다른 컴포넌트에 사용될 수 있도록 자기 묘사를 담도록 함
COM - Distributed Component Object Model
- 정의 : COM은 프로그램의 컴포넌트 객체들을 개발하고 지원하기 위한 하부 기반구조로서 CORBA (Common Object Request Broker Architecture)에서 정의된 수준의 기능 제공을 목표로 한다.
DCOM - Distributed Component Object Model
- 정의 : DCOM은 네트웍 상에서 클라이언트 프로그램 객체가 다른 컴퓨터에 있는 서버 프로그램 객체에 서비스를 요청할 수 있도록 해주는 마이크로소프트의 프로그램 인터페이스 표준, COM은 같은 컴퓨터(윈도우95나 NT 시스템) 내에서 사용될 수 있도록 클라이언트와 서버에 인터페이스 집합을 제공
COM+ - an extension to the Component Object Model
- 정의 ; COM+는 MS사의 2.0버전인 COM(Component Object Model)의 차기버전으로 소프트웨어 컴포넌트 패키지인 액티브X 콘트롤들이 서로 통신할 수 있도록 해주는 업계표준 객체프로그래밍 아키텍처
- COM+ 향상기능;
- COM+는 프로그래밍 작업 중 반복적이거나 복잡한 작업을 단순화하고 서비스호출 등을 자동화함으로써 개발시간을 크게 단축
- 디렉토리서비스 수준의 객체관리를 비롯 각종 서비스호출용 코드수를 최소화함으로써 트랜잭션서버나 메시지큐서버 등 클라이언트서버 애플리케이션서비스를 보다 쉽게 액세스할 수 있도록 설계
- 윈도NT와 윈도95만을 지원해온 COM과 달리 COM+부터는 솔라리스, HPUX, 디지털VX등 유닉스버전을 비롯 IBM의 MVS 버전 지원
- COM+ 특징들;
- 프로그래밍 작업의 단순화를 비롯 효율적인 객체관리
- 쉬워진 애플리케이션서비스 액세스
- 풍부한 확장성
CORBA와 DCOM의 비교
구 분 |
장 점 |
단 점 |
CORBA |
- 다양한 플랫폼 지원 - 다양한 프로그래밍 언어 지원 - 위치 투명성 지원 - 정적 및 동적 호출 지원 - 인터페이스 언어(IDL)의 상속 지원 - 강력한 보안 모델 - 멀티쓰레드 지원 - 폴트 톨러런스와 밸런싱 사양 |
- 코바 벤더의 비 표준화된 확장 - 코바 사양을 100% 지원하는 제품의 부재 - 표준화 되지 못한 명령어 |
DCOM |
- 뛰어난 개발 툴 - 다양한 Active 컨트롤 - 정적 및 동적 호출 지원 - 위치 투명성 지원 - 멀티쓰레드 지원 |
- 윈도우 95/NT와 썬 Solaris 2.5만 지원 - 인터페이스만 상속 지원 - 정적 호출을 위한 인터페이스와 동적 호출을 위한 인터페이스가 일관되지 못함 - 폴트 톨러런스와 로드 밸런싱 사양의 미비 - 기술 구현의 난이도가 높음 |
IIOP (Internet Inter-ORB Protocol)
- 정의:
- IIOP(Internet Inter-ORB Protocol)는 코바(CORBA)기반 객체 통신표준으로 객체와 응용 프로그램 사이의 통신에 사용되는 공개 인터넷 프로토콜
- IIOP는 분산 객체 컴퓨팅을 위해 OMG(Object Management Group)에서 제정한 표준 스펙인 코바(CORBA) 사양의 일부
- 장점:
- 분산 컴퓨팅을 위한 응용 프로그램 개발이 쉬워질뿐만 아니라,
- 하드웨어와 운용체계, 프로그래밍 언어와 무관하게 분산 객체들간에 커뮤니케이션이 이루어져 비록 프로그램이 인터넷 상의 다른 컴퓨터에서 실행되고 있다고 하더라도, 마치 같은 프로그램의 일부인 것 처럼 사용할 수 있다.
RMI - (Remote Method Invocation)
- 정의 :
- RMI는 자바 프로그래밍 언어와 개발환경을 사용하여 서로 다른 컴퓨터들 상에 있는 객체들이 분산 네트웍 내에서 상호 작용하는 객체지향형 프로그램을 작성할 수 있는 방식
- RMI는 일반적으로 RPC라고 알려져 있는 것의 자바 버전
[출처] CORBA와 DCOM의 비교|작성자 협객
'프로그래밍 언어 > C++' 카테고리의 다른 글
유니코드 한글 문자열 조합형으로 변환 후 출력하기 (0) | 2010.09.29 |
---|---|
c언어 자료형 (0) | 2010.09.08 |
1. COM, COM+, DCOM, ATL의 개념 (0) | 2010.07.04 |
DirectShow를 이용한 간단 동영상 플레이어 샘플소스 및 실행화면 (0) | 2010.06.28 |
유니코드 사용시 한글 언어 출력 문제 (0) | 2010.06.28 |