추천도서 : 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을 이용하여 한다.
'컴퓨터 공부 > COM&ActiveX' 카테고리의 다른 글
[6월 9일 3교시] COM 서버 제작 (0) | 2009.06.09 |
---|---|
[6월 9일 2교시] COM 클라이언트 제작 (0) | 2009.06.09 |
[6월 9일 1교시] IUnknown Interface(141쪽 그림 추가) (0) | 2009.06.09 |
[6월 8일 3교시] COM Component (함수설명) (0) | 2009.06.08 |
[6월 8일 2교시] COM Component (60쪽에 C++ 클래스 추가할 것) (0) | 2009.06.08 |