본문 바로가기

Dev.../델파이4의 모든것

24장 CORBA부분에서 빠진 부분..

 

1999년 Delphi4모든것 이라는 책 출판을

하면서 편집에서 잘린 부분들을 몇개 추려서

올려놓습니다. 초고라서.. 원고가 영~~~

(그림이 편하게 안올라가네요~~ ㅜ.ㅜ )

24 Distrubuted Applications

 

분산환경 프로그램을 작성하는 것은 OOP 붐이 일기 시작한 프로그램개발 컴포넌트화의 최신 기술을 적용하는 방법입니다. 프로그래머는 과거에 Source형태로 공유되던 방식부터, LIB형태로 보관되던 OBJ공유방법, 객체지향적인 방법이 도입되면서 발달된 객체지원방식,이제까지 Static Library형태로 공유되던방식과, 조금은 외도를 했지만 DLL 지원되던 방식, Windows프로그래밍을 접하면서 보았던 DDE, OLE등의 기술을 지나 최신의 개발기법을 만날 있습니다.

 

바로 CORBA DCOM기술입니다.  CORBA OMG(Object Management Group)라는 연합체에서 차세대의 산업표준으로 제시하는 것이고, DCOM OLE에서 발전한 COM 분산환경을 도입한 DCOM 차세대 산업표준으로 밀고있는 Microsoft 표준규격입니다.

 

어느쪽을 도입하든 개발자 선택의 자유이지만, 델파이4 선택한다면 이러한 고민이 해결됩니다. (! 클라인트가 Windows 사용한다면 말이죠..) 필자는 CORBA DCOM( 장에서는 비슷한 구조이므로 COM이라고 부르겠다.) 선택을 고민하고 있고, Microsoft 대표적인 DCOM기술인 MTS 대해서도 테스트하고 고민하며, CORBA 지원하기 위해 INPRISE에서 합병한 비지제닉사의 Visibroker 대해서도 테스트해보았다.

 

세세한 이야기보다는 에플리케이션을 만들어보자.

 


델파이 4에서 Multitier환경을 지원하기 위한 Wizard 수행시켜보았다. 간단한 CORBA DataModule, CORBA Object CORBA 지원하기 위한 모듈이고, MTS DataObject MTS Object DCOM 분산환경에 적합한 MTS 지원하기 위한 , Remote Data Module  DCOM으로 지원하기 위한 방법이다.

 

이중에 먼저 CORBA 대해서 알아보자.

25 CORBA에플리케이션

 

0. CORBA(Common Object Request Broker Architecture)이란?

 

OMG(Object Management Group)라는 비영리 단체가 1989 4월에 설립되었습니다. 단체는 현재 존재하는 객체지향 기술을 밑바탕으로 하여 프로그램들을 결합하기위한 산업표준안을 제정하기 위해 600개이상의 컴퓨터 단련 단체 기업의 연합체로 구성되어 있습니다. (DEC, HP, SUN, NCR, IBM, IONA, NEC, Transarc, ETRI )

 

객체지향기술을 기반으로한 이기종의 분산된 환경을 지원하기위한 표준기술을 제정하였는데 표준이 OMA(Object Management Architecture)입니다.

 

이때 만들어진 OMS 프로그램의 연결과 통합뿐 아니라 가장 기본적인 객체의 생성, 소멸, 저장, 트랜잭션(transation) 기능에 이르기까지 전반적인 분산 객체 환경에서 필요한 서비스를 전부 지칭하는 것입니다.

 

이기능중 CORBA 컴퓨터 H/W 내부버스처럼 프로그램사이에서도 서로의 위치에 관계없이 서로를 사용할 있는 기능을 제공합니다. 해서 CORBA OMA중에서도 가장 중요한 요소가 됩니다.  이러한 가장 중요한 CORBA부분 요소가 ORB인데 CORBA OMA 한부분이며, ORB CORBA 가장 중요한 핵심기술이 됩니다.

 

다음의 그림은 이러한 관계를 표현한 그림입니다.

l      
참고

CORBA에서는 ORB 가장 중요합니다. 바로 ORB 때문에 만들어진 CORBA간의 호환성문제 때문에 혼란이 있습니다. 델파이 4에서는 비지제닉에서 제작한 Visibroker 사용합니다.  대표적으로 가장 커다란 ORB 꼽는다만 IONA사의 ORBIX VIGIGENIC VISIBROKER 있으나 CORBAPLUS, FNORB, OMNI-ORB2, JTRADER, MICO, JOE, JYLU, JACORB, ELECTRA, ILU, OAK, DOME, CHORUS/COOL ORB등의 회사들도 참여하고 있습니다.

 

l       참고

OMA(Object Management Architecture) 대해

 

OMA 객체를 작성하는 구조인데, OMA에는 분산환경에서 통신을 담당하는 CORBA 객체를 조작하는 기본기능을 정의한 COSS(Common Object Service Specification) 그리고 기타 기본기능과 개발자가 작성한 각종 응용 객체들로 구성된다.

 

이중에 CORBA서비스는 객체들이 연결하기 위한 기본기능을 제공하는데 기능에는 객체의 생명주기 서비스(Object Lifecycle Service), 명명 서비스(Naming Service), 디렉토리 서비스(DirectoryService)등이 있고, 객체지향의 접근 방법인 온라인 트랜잭션 처리(On-line Transaction Processing) 트레이더 서비스(Trader Service)등을 포함하고 있다.

 

이러한 CORBA 서비스는 객체의 통신과 연결에 필요한 서비스를 제공하고, CORBA 편의(CORBA Facilities) 응용에게 필요한 서비스를 제공한다. 대표적인 복합문서 관리(Compound Document Management) CORBA 편의는 복합문서의 컴포넌트를 액세스할 표준화된 방법을 지원한다. 이러한 CORBA Facilties 두가지로 구분될 있는데, 하나는 Horizintal Facilties 복합문서서비스가 이에 준하며 전반적인 영역에서 사용할 있는 서비스이고, 또다른 하나는 Vertical Facilties 특정한 곳에만 사용하는 서비스를 말한다.

 

다음의