컴퓨터 공부/COM&ActiveX

[6월 8일 1교시] 소개

려리군 2009. 6. 8. 09:12

추천도서 : Inside COM...


메인 프레임 : 중앙 집중식, 터미널.

클라이언트 서버 시대 : 메인 응용 프로그램 실행 <-> 데이터, DB

3계층(3-tier) 클라이언트 서버 시대 : 클라이언트 <-> 응용 프로그램 서버 <-> DB 서버


분산 객체 기술

CORBA, COM/DCOM, EJB


※ COM 서버와 클라이언트 (COM 명세서 : 마이크로 소프트에서 정함)

※ COM의 결과물은 dll, ocx, exe


컴포넌트 조건 : 언어 독립적, 위치 투명성, 버전 호환성, 표준화


인터페이스 정의 언어

IDL - Interface Definition Language

컴포넌트 간 통신을 위한 약속

언어 독립적, 버전 호환적 특징


Monolithic Application : 모든 프로그램을 하나로 작성

Component

 - 작은 응용 프로그램과 비슷.

 - 응용 프로그램을 customize(부분만 수정해도 됨)

 - 동적 연결, 어떻게 구현 되었는 지는 숨겨져 있다.

 - 이전 버젼의 형식을 깨면 안된다.


동적 연결

실행 중에 응용 프로그램의 컴포넌트를 바꿀 수 있다.

※ 배포 중에는 메소드를 추가할 수 있지만 재정의 할 수 없다.


캡슐화

구현된 언어는 숨겨져 있다.

binary 형식으로 전달되어야 한다.


COM은 명세(spec)이다.

- 표준을 제공, 컴포넌트와 클라이언트가 함께 돌아가는 방법을 제공.

- 컴포넌트 구조를 위한 표준을 설정한다.


마이크로 소프트 분산 기술 변천

DDE : 메세지 전달 서비스, 복잡함.

Clipboard : 구현과 제어가 쉽다.

OLE : 서로의 객체를 포함(embedding)해서 사용한다.

OLE2

OLE

COM : 인터페이스를 보여주는 방법이 중요하다.

 - RPC : 다른 컴퓨터 응용 프로그램과 통신이 가능.

COM + 

DNA Architecture




COM Component

인터페이스

가상 함수 테이블 : 가상 함수 테이블 컴파일 결과와 이진 코드 형태가 동일하다.

인터페이스를 상속하여 구현한다.

※ 모두 순수 가상함수기 때문에 모든 메소드를 구현해야 한다.

※ 재사용은 aggregation을 이용하여 한다.