방명록 에 소감을 남겨주십시 요.
여러분의 의견이 책의 내용을 더욱 풍부하게 만들 것 입니다.

코아 코바의 모든 내용은 본 저자와 영한 출판사 그리도 여러 회사들에 의해서 소유되어 있 읍니다. 본 저자의 허락없이 무단 복사 및 인용을 금합니다. 이 사항을 위반시 모든 법적인 책임을 지셔야 합니다.


[ 다음 | 이전 ]

6막 CORBA 제품 및 적용 사례

1장 CORBA 제품들

1.1 상용 제품들

CORBA표준은 현재 2.0까지 제안되었다. 따라 서 많은 제품들은 2.0 표준안을 지원하기 위해 많은 기능을 보강하고 있다. 다시 말해 현재 상용화된 많은 CORBA제품들은 서로 간의 생성한 객체간의 호환을 위한 보장하기 위한 방법들을 모색하고 있다. 왜냐하면 CORBA2.0 표준의 핵심은 각 제품간의 호환기능이기 때문이다. 현재 CORBA를 구현한 제품은 순수한 CORBA 제품 외에 기존의 시스템에 CORBA기능을 확장한 것까지 합하면 그 수를 헤아리기 힘들다. 그러나 대략 순수하게 CORBA제품을 구현한 것은 20개 가량 된다. 그 중에서 가장 광범위하게 사용되는 7가지의 제품에 대해 살펴보기로 한다.

비록 이들 제품이 CORBA 표준을 따르기 때문에 그 기능에 있어 비슷하거나 별차이가 없으리란 생각이 들겠지만 실제 그렇지않다. 왜냐하면 CORBA는 필요한 기능에 대한 추상적인 표준을 정의한 것이지 구현에 대한 부분까지 언급한 것이 아니기 때문에 각 구현 제품들의 구현방법은 각기 천차만별이다 . 예를 들면 , 어떤 제품은 RCP를 기반으로 제품을 구현했으며 어떤 제품은 소켓이나 기타 통신 소프트웨어를 이용하여 구현하였다.

따라서 이러한 제품들을 평가할 때 벤치마크 프로그램 등을 이용하여 각 제품의 성능을 검사하는 것도 유용하겠지만 현재로서는 벤치마크에 대한 명확한 기준이 없기 때문에 단지 이들 제품의 구조와 기능을 중심으로 살펴본다. 다음의 제품들이 우리가 살펴볼 CORBA 상용 제품들이다.

DSOM은 IBM에 의해서 로컬과 리모트 객체를 위한 프로그래밍 모델을 제공하기 위해 개발되었다. DSOM은 IBM의 객체모델과 바이너리 표준을 위해 개발된 SOM(System Object Model)에 근거한다. SOM은 객체를 개발하는 데 있어 객체의 위치와 개발 언어에 상관없이 시스템을 개발할 수 있는 클래스 라이브러리를 제공한다. 또한 SOM은 OpenDoc 복합문서의 하부 구조로서 중요한 의미를 갖는다. 따 라서 SOM은 OpenDoc의 일부로서 OS2 Wrap에 이식되었다. 이것 은 CORBA가 다양한 객체를 통합해서 조작할 수 있는 강력한 기능을 제공한다는 것을 의미한다. IBM은 1997년 6월 크로스 로드사와 함께 ComponentBroker라는 제품을 발표하였다. 이 제품에 대한 보다 자세한 내용은 다음의 URL을 이용하라: http://www.software.ibm.com/ad/cb/ . 여기서는 DSOM을 중심으로 살펴본다.

- SOM의 구조

SOM은 빠른 객체접근과 모듈화에 입각해서 디자인되었다. 따라서 SOM의 모든 구성 요소들은 다른 구성요소로 대체될 수 있다. 실제 SOM은 SOM 객체모델을 지원하는 SOM클 래스를 사용하여 구현되었기 때문에 모듈화가 가능하다. 이런 모듈화로 인해 SOM은 통신부분에 있어서도 TCP/IP , IPX , NetBIOS 등 다양한 프로토콜을 사용할 수 있다. 또한 원하면 언제든지 DCE RPC 처럼 다른 통신 모듈을 사용할 수도 있다.

-DSOM 서비스

DSOM의 서비스 구조는 일련의 서비스들을 묶어 놓은 프레임들로 구성된다. 제공되는 프레임웍으로는 다음의 것들이 있다.

* 객체의 동시성과 일관성을 제공하는 Replication 프레임웍

* 파일시스템 ,관계형 DB, 객체지향 DB들의 조작을 가능하게 해주는 Persistent 프레임웍

* 객체의 인터페이스 정의를 출력파일 형태로 정의하여 다른 언어로 바인딩 시켜주는

Emitter프레임웍

* Set,Bag,List,Array,Queue 같은 유용한 자료구조를 제공하는 Collection프레임웍

이들 프레임웍외에 DSOM은 인터페이스 저장소 , 구현 저장소 , IDL 컴파 일러 , 객체 아답터 , 정적 호출 인터페이스 및 동적 호출 인터페이스, IDL의 C , C++ , 스몰톡 매핑 기능을 제공한다. 또한 객체를 저장할 수 있는 지속성 기능과 객체 이벤트 , 각종 컬렉션 기능을 제공한다 .

- DSOM 응용 시스템

DSOM과 관련된 응용 시스템들로는 다음과 같은 것이 있다.

* OpenDoc : 기본 토대 구조로서 DSOM을 사용된다.

* VisualAge: DSOM의 스몰톡 개발환경을 지원한다.

- 지원되는 플랫폼

AIX , OS/2 , 윈도우 , 매킨토시

Orbix는 아일랜드의 IONA라는 회사에서 개발한 제품으로서 현재 분산객체 시스템 시장을 선도하고 있는 몇몇 제품 중 하나이다. 특히 Orbix는 OLTP제품인 TUXEDO, 객체지 향 데이타베이스인 ObjectStore와 소프트웨어적인 폴트폴런트 기능을 제공하는 ISIS등과 통합하여 사용할 수 있기때문에 그 활용도가 아주 광범위하다.

또한 Orbix사의 일부를 소유한 회사인 선소프트사는 선플랫폼을 제외한 나머지 플랫폼에 Orbix를 사용할 계획이다.

- Orbix의 기능

Orbix에서 제공하는 기능들로는 CORBA표준에서 정의한 인터페이스 저장소 , 구현 저장소 , IDL 컴파 일러 , 객체 아답터 , 정적 호출 및 동적 호출 등이 있다. IDL언어 매핑에 있어 현재 C, C++, 자바를 지원하고 있으며. 스몰톡과 Ada로의 매핑이 제공될 예정이다. 또한 Orbix의 경우 다양한 외부 소프트웨어와 결합되어 있어 다양한 용도에서 CORBA기능을 사용할 수 있다. 예를 들면 , 오브젝트스 토어(Objectstore) 나 버선트(Versant)같 은 객체지향 데이타베이스 기능을 함께 사용하기 위한 객체 아답터를 제공하고 있다.

이외에도 폴트폴런트(fault-tolerant) 기능을 위해 Orbix-ISIS , GUI 개발환경을 제공하는 UIM/Orbix 등 다양한 통합 제품을 제공하고 있다.

- 지원되는 플랫폼

솔라리스2.x , 솔라리스x86 , SunOS 4.1.x (솔라리스1.0.1) , HP/UX 9.x , Silicon Graphics IRIX 5.x , IBM AIX 3.2.5 , DEC Alpha OSF/1 2.0 (Digital Unix) , DEC Ultrix 4.3 , Novell UnixWare 2.0 , Siemens Nixdorf Sinix , 윈도우 NT 3.5 , 윈도우 3.1x (with OLE integration) , OS/2 , Mac , VxWorks , QNX , LynxOS , OpenVMS , AXP

ObjectBroker는 본래 디지탈사의 ACAS(Application Control Architecture Services)라는 프로젝트에서 시작됐다 . 이 프로젝트의 목적은 개발된 응용 시스템간의 호환과 관리를 위한 프레임웍을 구성하는 것인데 1993년 CORBA 표준에 맞게 다시 디자인되었고 지금의 ObjectBroker라는 이름으로 재명명되어 현재 버전 2.6까지 발표되었다. 특히 , ObjectBroker는 턱시도 TP모니터를 개발하고 있는 BEA사와 파트너 관계를 맺고 메세지 규(Message Queue) 기반의 통신 기능을 지원하는 BEA ObjectBroker V3.0을 발표하였다. ObjectBroker의 주요 특징으로는 마이크로소프트의 OLE/COM과의 연동과 커버로스 기반의 보안 기능을 지원한다는 것이다.

- ObjectBroker의 구조

ObjectBroker는 소겟을 이용하여 구성되었다. 따라서 ObjectBroker는 TCP/IP와 DECnet상에서 수행되며 DCE RPC 와 마이크로소프트의 COM과의 연동을 지원한다. 또한 ORB의 비동기 객체호출을 위해 DECmessageQ 라는 규잉 시스템을 지원하고 있다.

- ObjectBroker 기능

ObjectBroker는 인터페이스 저장소 , 구현 저장소 , IDL 컴파 일러 , 객체 아답터 , 정적 호출 인터페이스 및 동적 호출 인터페이스 등 CORBA2.0의 기본 기능들을 제공한다. IDL언어 매핑에서도 현재 C 와 C++ 모두를 지원하고 있다. 또 한 ObjectBroker는 DCE의 Generic Security Services API(GSSAPI)를 지원하여 DCE의 커버로스(Kerberos) 보안 기능을 지원한다. 구성상 특별한 점은 각 서비스를 제공하기 위해 모든 서비스를 레지스트리(registry)에 저장한다는 점이다. 이 레지스트리에는 서버의 위치와 인터페이스가 저장되는 알림(Advertisement) 레지스트리와 서버의 구현부분에 관한 정보를 저장하는 구현 저장소, 객체와 메소드에 대한 사용자 접근을 제어하기 위해 보안 저장소, 시스템 조정에 필요한 정보를 담고 있는 조정 보관소(Configuration Repository)가 있다. 이후 버전3.0에서는 DCE-ESIOP와 COM(Common Object Model)을 지원할 예정이다. 제공하는 주요 기능으로는 관계형 데이타베이스 시스템 같은 리거시 시스템의 접근을 위해 스크립트 서버와 컨텍스 객체(Context Object)가 있다.

- 지원되는 플랫폼

윈도우3.x , 윈도우NT , 매킨토시 , OS/2 , 탠덤 논스톱 커널 , OpenVMS , 솔라리스 , SunOS , HP-UX , SGI IRIX , Ultix , Digital Unix

PowerBroker는 엑스퍼소프트 사(Expersoft)에 의해서 개발된 ORB개발 환경이다. 엑스퍼 소프트사는 클라이언트/서버 분야의 전문가들이 모여 1989년 설립한 회사인데 1994년 PowerBroker 라는 CORBA제품을 개발하였다. 이후 1995년에 PowerBroker 3.5를 출시하고 난 후 CORBAplus라는 이름의 제품을 출시하였다. 이 회사에서는 CORBA2.0 명세 중 IIOP 기능을 선도하였다.

- CORBAplus의 구조

CORBAplus는 분산데몬 구조를 갖고 있어 클라이언트쪽의 데몬과 서버 구현 부분쪽의 데몬이 연결과 조작을 담당하고 있다. 지원하는 프로토콜로는 TCP/IP가 있다.

- CORBAplus의 기능

CORBAplus는 현재 정적 호출 인터페이스(SII)와 동적 호출 인터페이스, IIOP 등 CORBA2.0의 기능을 대부분 제공하고 있으며, IDL 매핑은 C++, 자바 , 비주얼 베이직 언어를 지원한다 . 객체서비스로는 객체 명명(Object Naming) , 보안 , 트렌젝션 , 객체저장 , 객체 생명주기 서비스 등을 제공하고 있다. 이용 가능한 응용 툴로는 C++ 클래스에 퍼지 로직을 추가한 툴과 COM/OLE 연동기능 등이 있다. 최근에 들어서는 메세징 기능과 값에 의한 전달 기능을 지원하고 있다.

- 지원하는 플랫폼

윈도우 NT , 솔라리스, HP-UX , SGI IRIX

먼저 비지제닉사는 이전에 포스트모던(PostModern)사라는 회사 이름으로 ORBeline이라는 제품을 공급했었다. 이 당시 ORBeline은 자바 언어로의 매핑을 지원하기 때문에 눈길을 끌었다. 특히 이 제품은 블랙위도우라는 이름의 자바언어 변환 킷으로 초기 IDL-자바 매핑 부분을 선도 하였다. 현재 비지제닉사는 Visibroker라는 이름으로 CORBA 제품을 제공하고 있다. 특 히, 이 제품은 IIOP 등 CORBA2.0 명세를 자바로 구현하였으며 넷스케이프사의 서버 개발군에 포함됨으로서 유명해졌다.

- Visibroker의 기능상의 특징

Visibroker은 다른 제품과 마찬가지로 인터페이스 저장소 , 구현 저장소 , IDL 컴파 일러 , 객체 아답터 , 정적 호출 및 동적 호출 , IDL의 C , C++ 매핑 등 CORBA2.0 표 준에서 정의한 기능을 제공한다. 이 기능들 외에 프로그램 수행 중 분산된 디렉토리 서비스를 제공하는 스마트 에이전시와 폴트톨런스 , 트렌젝션 , 다중 쓰레드 , 이벤트 핸들러 등 다양한 객체 조작 기능도 제공하고 있다.

- 지원되는 플랫폼

SunOS 4.1, 4.1.4 , 선 솔라리스2.4, 2.5, 2.5.1 , HP-UX 10.01, 10.10 , IBM AIX 4.1 , 윈도우 NT 3.51, 4.0 , 윈도우95 , SGI Irix 6.2

NEO는 선소프트사에 의해서 개발된 CORBA표준을 따르는 객체지향 분산 시스템이다. 선소프트사는 차세대 소프트웨어의 비젼을 제시하는 소프트웨어의 일부로서 NEO을 바라보고 있으며 NEO을 사용하여 완전히 통합된 객체응용 환경을 개발 중에 있다.

- NEO의 구조

NEO는 구조상 DOMF ( Distributed Object Management Facility ) 라는 데몬 프로그램을 근간으로 한 시스템이다.

- NEO의 기능

NEO는 기본적으로 IDL과 동적 호출 인터페이스와 정적 호출 인터페이스를 지원한다. 또한 IDL 바인딩으로는 C 와 C++ 지원하며 쓰레드와 동시성제어 기능을 제공한다. 특히 NEO는 솔라리스 2.x의 ONC+/NFS와 밀접히 연결되어 IIOP(Internet InterORB Protocol) 기능을 제공한다.

다음은 NEO의 주요 기능들이다.

- 이벤트

이벤트 서비스는 비동기 호출을 지원하기 위한 방법이다. 따 라서 이벤트 서비스를 제공하는 이벤트 클래스는 각 이벤트를 처리하는 채널을 조작하기 위하여 push()와 pull() 메소드를 제공한다. 여기서 채널은 이벤트 제공자와 소비자 사이를 연결하는 통로를 의미한다.

- 객체저장

NEO는 기본적인 객체저장 능력을 지원하기 위하여 Persistent Storage Manager(PSM)을 제공한다 . PSM은 기본적으로 C, C++ API를 이용하여 객체를 Object Design사에서 제공하는 객체지향 DBMS 엔진인 ObjectStore를 활용하여 조작한다. 특히 이 API 는 객체지향 DBMS의 표준인 ODMG-93 의 C++ 바인딩을 지원한다. 특히 현재 Objectivity사 에 의해서 개발중인 Object Database Adapter(ODA)는 객체지향 데이타베이스 시스템을 원활히 이용하게 해주리라고 생각한다. 또한 Versant에 의해서 개발중인 작업으로 IDL-OQL(Object Query Language)/ODL(Object Definition Language) 바인딩이 개발 중에 있다.

- 기타서비스

생명 주기 서비스 : 객체의 생성, 소멸, 복사 등 을 지원한다.

객체 관계 서비스 :객체사이의 관계를 지정할 수 있다.

명명 서비스 : 특정한 이름으로 객체에 접근할 수 있다.

트렌젝션 서비스 : 트렌젝션 기능을 지원한다.

- 연동 기능 및 응용 프로그램

Orbix와 연동할 수 있다.

Oberon SynchroWorks : NEO의 비주얼한 응용 프로그램 개발환경을 지원한다.

ParPlace VisualWorks : NEO의 스몰톡 개발환경을 지원한다.

MS 연동: NEO Connectivity for MS Windows를 통해 윈도우 데스크 탑과 연동할 수 있다.

ICL사에 의해서 개발된 DAIS는 Orbix 등 여타 데몬 구조의 CORBA제품과 달리 라이브러리 형태의 클라이언트/서버 구현모듈 형태의 제품으로 현재 3.2버전까지 개발되었다. 제공 하는 기능으로는 IDL,DII,SII,IR, IIOP등 CORBA 2.0 표준 을 지원한다. 지원하 는 CORBA 서비스 기능으로는 Configuration Generator , Trader , Trader Manager , Node Manager , Factory , Alert Service , System Configuration Manager가 있다 . 또한 인증 기능이나 접근제어 기능 등에 의한 보안기능과 트렌젝션 기능, 이벤트 기능 등을 제공하고 있다.

- 지원 플랫폼

윈도우95,NT, 솔라리스2.5, Open VMS6.2, DEC Alpha, HP/UX 9.0 , HP/UX 10.0,

SCO Openserver , IBM OS/390 , DEC VAX Open VMS 6.1 , DEC ALPHA Open VMS6.2,

ICL Series 39 Open VME

ORB Plus는 Hewlett-Packard 에 의해서 개발된 제품이다. 이 제품의 특징은 CORBA를 C++과 DCE로 지원한다는 점이다. 다시 말해 DCE-IDL과 DEC-Security등 DCE의 기능을 제공한다. 또 하나의 특징으로 IBM의 DSOM과 연동을 들 수 있다.

ORB Plus가 제공하는 CORBA표준 기능으로는 IDL,DII,SII,IR등 있으며 IDL 바인 딩은 현재 C++만 가능하다. 제공하 는 객체 서비스로는 객체 관계, 명명 , 생명주기 , 이벤트, 지속성 서비스 등이 있다.

1.2. CORBA 제품 비교분석표

다음은 앞서 설명한 여러가지 제품들과 기타 다른 제품들을 종합하여 정리한 것이다. 현재 많은 부분 개발 중이거나 이미 개발된 서비스들도 있을 수 있기 때문에 아래 표는 단지 참고 자료로 이용하기 바란다.

제품명 개발 회사 제공기능 객체 서비스 지원 언어 운영 체제
ObjectBroker Degital,

http://www.digital.com/info/objectbroker

IDL,SII,DII,IR

TCP/IP , DECnet

OLE,COM integration in V3.0

Visual Basic API

Script Servers ,

Context Objects, Advertisement , Security , Configuration Registries

C , C++ OS/2, MacOS, 윈도우95, 윈도우 NT,

Unix , VMS

PowerBroker

(CORBAplus)

Expertsoft, http://www.expersoft.com IDL,SII,DII

TCP/IP,UDP,

IIOP,IOR,BOA,Any 타입,

Asynchronous messaging,

COM/CORBA mapping part A

Event, Relationshop, LOG,Name,

Security,Time,

Transacation,

persistence, Multithread

C++ , 자바, 비주얼 베이직 윈도우95,

윈도우NT,

Unix,AIX,IRIX,ALpha,HP/UX

DAIS ICL, http://www.iclsoft.com IDL, SII, DII

TCP/IP , IIOP

, UDP ,

COM/OLE 연동,

Configuration Generator ,

Event, Security , Transaction , Trader , Trader Manager , Node Manager , Factory , Alert Service , System Configuration Manager , Multithread

C , C++ , 자바, Eiffel 윈도우95,윈도우NT, 솔라리스2.5, Open VMS6.2, DEC Alpha, HP/UX 9.0 , HP/UX 10.0 , SCO Openserver , IBM OS/390 , DEC VAX Open VMS 6.1 , DEC ALPHA Open VMS6.2,

ICL Series 39 Open VME

Distributed Smalltalk HP ,

http://www.hp.com

IDL,SII,DII,IR

TCP/IP

Association,Event,Lifecycle,Name,Presenation,Properties 스몰톡 OS/2,MacOS,윈도우,윈도우NT,

Unix

ORB Plus HP,

http://www.software.hp.com/software/Hpsoftware/ORBPLUS/orbexec2.html

IDL,SII,DII,IR, IIOP , DCE CIOP, DSOM 연동, OLE 연동 Association,Event,Lifecycle,Name,Persistence C++, 스몰톡 HP/UX , 윈도우NT , 솔라리스
SOMobjects IBM , http://www.software.ibm.com/sw-guide/enu/ad/ad117.htm IDL,SII,DII,IR

TCP/IP,IPX,

NetBIOS ,

Language-independent objects

Replication,Persistence,Emitter,Collection Frameworks C , C++, 스몰톡(VisualAge2.0) AIX,OS/2,윈도우
Orbix IONA ,

http://www.iona.com

IDL,DII,SII,IR,

IIOP,TCP/IP,XDR

NEO 상호연동, OLE연동

Event ,

Name,Location,Proxy,Filters,Fault-handler,

orbix-objectstore,

orbix-tuxedo,

orbix-ISIS,

UIM/orbix,

orbix-OLE,

Orbix-MVS, Multithread

C, C++ , 스몰톡 , 자바, Ada , 코볼 UNIX, HP/UX,IRIX 5.x,AIX,DEC Alpha

DEC Ultrix, Novell UnixWare 2.0, 윈도우 NT 3.5,

윈도우 ,OS/2,

Mac,VxWorks,

QNX,LynxOS,

OpenVMS,AXP

NEO SunSoft , http://www.sun.com/sunsoft/neo/index.html IDL,SII,DII,IR

TCP/IP

CDE,OpenStep integration

Event,Lifecycle,Name,Persistence,Property,Transaction,Association C , C++, 자바 UNIX,윈도우95,윈도우NT,
Visibroker Visigenic , http://www.visigenic.com IDL, DII, SII, IIOP Event,

Naming, Transaction ,

Multithread

C++, 자바, 스몰톡 SunOS 4.1, 4.1.4 , 선 솔라리스2.4, 2.5, 2.5.1 , HP-UX 10.01, 10.10 , IBM AIX 4.1 , 윈도우 NT 3.51, 4.0 , 윈도우95 , SGI Irix 6.2

2장 CORBA 적용 사례들

다음은 OMA에 보고된 CORBA를 활용하여 시스템을 성공적으로 구축한 사례들이다. 각 사례들은 광고/마케팅에서 부터 항공/국방 분야, 제조 분야에 이르기까지 다양한 분야가 총망라되어 있다.

  1. 광고/ 마케팅 분야

Deutsche Presse Agentur(DPA)는 독일 함부르크에 위치한 세계적인 출판 대행 업체로서 전 세계에 걸친 특파원과 소비자들에게 제공될 멀티미디어 정보 시스템을 구축 중이다. 이 시스템의 구축이 완료되면 세계 각지에서 발생하는 사건에 대해 즉각적이고 전달력 있는 보고를 생성할 수 있도록 다양한 여러 입력 정보에 대한 접근이 가능해진다.

이 회사는 뉴스 프로덕션 시스템과 대행업체의 사진 라이브러리, 멀티미디어 워크스테이션을 통합하면서 ICL의 CORBA 구현 제품인DAIS를 채택하였다. 이 회사는 CORBA기 반의 솔루션을 채택함으로써 편집자, 리포터, 소비자들에게 보다 개선된 서비스를 제공할 수 있었으며 기존의 리거시(legacy) 시스템을 사용하는 동시에 객체 지향 설계를 이용할 수 있었다.

2.2 항공 /국방 분야

British Aerospace Airbus는 pan-European Airbus Industry Consortium에서 날개의 디자인과 제조 부분을 담당하고 있는 회사로서 기존의 리거시 비즈니스 시스템을 객체 기반 응용 프로그램과 연계된 정보 하부구조에 통합하기 위한 계약을 ICL과 맺었다.

이 회사에서 CORBA 솔루션을 채택하게 된 동기는 급속히 변화하는 조직내에서 높은 유연성을 가진 시스템의 구축과 리거시 시스템과 함께 새로운 객체기반의 응용 프로그램을 통합하기 위해서였다.

ICL의 DAIS에 기반한 CORBA 솔 루션은 현재 파일롯 시스템으로 진행중이며 i500, ICL의 X.500 제품 , 디렉토리 서비스를 구축 예정으로 초기에 360명의 사용자들에게 서비스 제공을 목표로 하고 있으며 최종적으로는 3,800명의 사용자들에 대한 서비스를 계획하고 있다.

분산객체컴퓨팅에 중점을 두는 7개의 회사 연합인 The Component Ware Consortium(CWC)는 재사용가능한 소프트웨어 개발을 용이하게 하기 위한 미국 정부의 4백만 달러 규모의Technology Reinvestment Project(TRP)를 수주했다. TRP는 주요한 기술에 대한 공동의 개발연구와 상업화를 통하여 통상과 국방 부분을 통합하기 위한 연합 프로젝트이다. CWC의 목적은 CORBA와 같은 새로운 분산 객체 프레임워크를 사용하여 표준을 따르고 재사용가능한 소프트웨어 객체로서의 데이타 응용 프로그램을 팩키지화하는 것이다.

I-Kinetics는 Pratt&Whitney의 UTC's Hartford의 가상 엔진 응용(Virtual Engine Application) 프로그램을 개발중이다. 이 프로젝트는 1997년 6월까지 완료 예정이었으나 이미 1996년 10월에 완료되었고 프로젝트의 성공으로 Pratt&Whitney는 기존의100 런타임 라이센스, 12 개발 자 라이센스에 추가로 3000 런타임 라이센스와 개발자 라이센스를 구입했다. 또한, 공동 프로젝트의 일환이 아니라 개별 회사의 입장으로 개발된 응용 프로그램에 기능을 추가 중이다.

CORBA는 분산 병렬 처리를 향상시키는 기능을 제공하였는 데 현재 베타 테스트중인 CORBA Parallel Distributed Optimization Toolkit with the 3D External Airfoil은 순차적인 분석에 비해 40배의 성능향상을 나타내었으며 확장에 따른 성능의 향상도 linear한 결과를 나타내었다. 이 시스템의 신뢰도는 CORBA에서 제공하는 exception handling기능을 사용해 100%에 이르고 있다.

CORBA 클라이언트 객체에 사용되기 위해 리거시 시스템은 CORBA IDL로 포장(wrapping)되었다. 이 기술은 현재의 FORTRAN 시스템이 새로운 다양한 엔진 객체 모델(engine object model)과의 통합을 가능하도록 하였으며 이것은 새로운 환경으로의 기존 분석 시스템의 리엔지니어링을 최소화시켰으며 네트워크를 통한 시뮬레이션 시나리오의 병렬 분산을 편리하게 하였다.

보잉사는 항공 분야에서 제일의 회사를 지향하고 있다. 이를 달성하기 위해 보잉사의 정보 시스템 부문은 기존의 메인프레임 기종의 리거시 데이타 시스템을 분산된 클라이언트/서버 시스템으로의 전환을 추진하고 있다.

지금까지의 진행 상황을 살펴보면 CORBA를 사용하기전 보잉사는 OODBMS기반으로 한 웍플로우(Workflow) 시스템을 개발하였다. 그러나 이후 다음의 목표들을 달성하기 위해 CORBA 환경을 기존의 OODBMS를 기반으로 한 시스템에 추가하였다.

실제 이 프로젝트는 현재에도 진행중에 있으며 메인프레임과의 통합 등 다양한 형태로 개발되고 있다.

2.3 은행 /금융 분야

디지탈사는 유럽에 있는 한 SI 파트너와 협력하여 Credit Risk Management(CRM) 프레임웍이라 불리는 소프트웨어 계층을 개발중이다. 이 계층은 BEA Object Broker 위에 놓여 응용 프로그램과 BEA Object Broker 자체에 부가적인 서비스를 제공한다.

CRM 프레임웍은 결점 관리(fault management), 인터페이스 구현 관리, 투자 형태 관리 등과 같이 투자 은행에 관련된 주요한 세가지 기능을 다룬다.

BEA Object Broker는 표준의 생산자/소 비자 라이브러리를 만드는 데 사용되었다.

위험 계산(Risk Calculation)은 빠른 정보의 접근을 위해서 트리 구조 형태의 서버상에서 행해지며 하위 레벨의 "Producer Servers"는 부분적으로 데이타를 계산하여 트리의 상위레벨에 위치한 "Consumer Server"에 제공한다.

BEA Object Broker를 이용하여 개발자들은 이 기종의 플랫폼 상에서 현재의 응용 프로그램을 통합하고 새로운 분산 응용 프로그램을 개발할 수 있었다. 또한 이것을 이용하여 마이크로소프트사의 COM OLE에 기반한 데스크탑 환경에도 무리없이 연결할 수 있었다.

디지탈사의 BEA ObjectBroker, Digital UNIX on Alpha, Netscape, Visual C++,

윈도우 3.X, 윈도우 95, 윈도우 NT

2년전 이 회사는 고객 서비스와 다른 은행 업무를 합리화하기 위하여 기존의 폐쇄 시스템을 고객 중심적 구조로의 변경을 결정했다. 처음으로 시작된 것은 보험 판매원들이 높은 수준의 고객만족을 제공하는 동시에 소비자 정보에 대한 접근을 용이하게 하는 것이었다. 또한, 은행간의 잦은 합병과 인수로 인해 소비자 정보를 분산된 형태로 관리하는 것이 필요했다.

다음의 몇 가지 새로운 응용 프로그램이 구축되었다.

  1. 인터넷 뱅킹

넷스케이프 커머스 서버(Commerce Server)와 함께 Alpha UNIX 플랫폼상에서 C++를

사용하여 만들어졌다. 현재 55,000의 고객과 일당 증가하는 300명의 고객들에게

온라인 홈뱅킹 서비스를 제공하고 있다

  1. 에이젼트 데스크탑

현재 윈도우 3.1위의 PC에서 Visual C++로 만들어졌으며 윈도우95/NT용은 시험 사용중인 단계이다. 은행 정보와 고객 계좌 정보를 알기 위해 접근한 고객에 대해 도움을 주는 시스템으로 현재 400여 개의 데스크탑을 지원하며 내년에 4000여 개를 지원하는 것을 목표로 확장 중이다.

위의 시스템은 클라이언트는 윈도우 3.x, 윈도우 95, 윈도우 NT상에서, 서버는 Digital UNIX, HP/UX 9.x, HP/UX 10.x상에서 작동한다. 은행의 기존 온라인 데이타를 가지고 있는 IBM 메인 프레임은 3계층으 로 통합되었다.

IS 부서의 전체적인 이익은 향상된 소프트웨어 효율성, 보다 빠른 응용 프로그램의 개발, 새로운 GUI 클라이언트 응용 프로그램과 기존 리거시 응용 프로그램과의 통합, 향후 응용 프로그램 객체의 재사용 , 하드웨어/소프트웨어/데이타베이스에 대한 투자보호 등이다.

에이전트 데스크탑 응용 프로그램은 고객 정보에 대해 보다 빠르고 정확한 접근을 제공하여 보험 판매원이 각 고객에게 이익이 될 수 있는 추가의 은행 서비스를 권함으로써 고객의 만족을 극대화할 수 있다.

인터넷 뱅킹 응용 프로그램은 고객들로 하여금 자신의 계좌를 바로 접근할 수 있게 해주어 은행 업무 비용를 줄이며 쉬운 홈뱅킹 형태의 고객의 접근을 제공하여 새로운 계좌의 확보를 가능하게 하였다

인터넷 뱅킹 응용 프로그램은 30%씩 증가하는 매일 60,000건의 처리를 지원한다.

에이전트 데스크탑 응용 프로그램은 300개의 데스크탑과 매일 1,300건의 처리를 지원한다.

- 프로젝트

Direct Banking Program

- 목적

전 세계의 걸친 고객들에게 기존과 다른 형태의 고객 서비스를 제공

- 사용 도구

CORBAplus( Expersoft)

- 응용 프로그램

Enterprise wide Infrastructure를 구축하기 위한 토대를 제공하기 위하여 산업계 표준에 기반한 구조인 CORBA를 채택하였으며 이에 따라 Expersoft사의 CORBAplus은 Telephone Banking Project와 Web Banking Web Project에 이용될 예정이다.

Telephone Banking Project 는 Voice Response Units와 Customer Service Centers를 포함하며 구축 완료 시 보험대리인 각600당 하나씩 제공될 3~5 개의 Customer Service Centers를 갖게 될 것이다. 현재 초당 300 transactions을 가하여 시스템을 테스트 중이다.

Web Banking Web Project 는 고객들로 하여금 금융 서비스뿐만 아니라 그들의 계좌에 대해 웹 브라우저를 통한 접근을 제공해 줄 것이다.

현재 데스크탑과 서버 모두에 윈도우 NT 3.51을 사용하고 있으며 DB는 HP-UX상의 오라클 데이타베이스를 사용하고 있다. LAN은 100BaseT이며 Customer Service Centers는 backbone nodal network로 연결되어 있다.

브로드비젼사는 1993년에 세워진 조그만한 벤쳐회사이다. 이 회사는 CORBA를 사용하여 대화형 상거래 시스템인 ICMS(Interactive Commerce Management System)를 개발하였다. ICMS는 네트웍상에서 구매, 판매, 교환, 마케팅, 홍보, 데이타 수집 등의 기능을 제공한다. 또한 소비자와 공급자 사이의 직접적인 안전한 연결을 제공한다. 특히 인터넷 상의 대화형 상거래는 그 요구 사항과 변화가 다양하기 때문에 강력한 객체지향 기능과 네트웍 기능, 그리고 각종 개발 서비스 기능을 제공하는 CORBA를 사용하여 많은 이득을 얻을 수 있다.

2.4 의료 분야

- 사용 도구

FBE Design Centre, BEA Object Broker, Digital Unix, Project Management, Object Modelling, Legacy 'wrapping' consultancy, Infrastructure consultancy

- 문제

Zeneca사가 공급체계에 대한 리엔지니어링를 시작하였을 때 전체적인 information flows가 이 프로젝트의 성공에 결정적인 역할을 한다는 것을 알아냈다. 그에 따라 시작된 프로젝트는 기술적 요구가 아니라 업무적인 요구에 의해 생겨난 것이었다. 이 프로젝트를 시작했을 때 상이한 문화와 역사에 따라 발생한 주요 공급 체인의 국가와 지역에 있는 서로 상이한 시스템은 다음과 같은 문제점을 나타내었다.

- 응용 프로그램

제조 공급 체인을 통합하기 위하여Digital은 자사의 Framework-Based Environment(FBE)와 BEA ObjectBroker 제품을 공급했다. 새로운 비즈니스 모델은 FBE를 사용하여 모델링되었으며 Digital의 BEA ObjectBroker로 구현되었다. 시스 템 통합은 전적으로 IBM 환경에서 이루어졌으며, SAP/R3를 포함한 MRPII applications들은 wrapping되었다 . 이렇게 해서 9개국에 걸친 시스템을 통합하였으며 조만간에 다른 10개국의 시스템도 포함하게 될 것이다. BEA ObjectBroker의 서버는 Digital Unix Alpha이고 클라이언트는 윈도우95이다

- 효과

이 시스템 구축의 결과 Zeneca는 전세계에 걸친 제품의 재고량을 몇 초/분 사이에 일관성있게 알아낼 수 있었다. BEA ObjectBroker의 사용은 각 특정한 비즈니스 요구에 독립된 정보 체계를 구축할 수 있었으며 '플러그- 앤-플레이 (plug & play)' 환경을 새로이 구축하는 동시에 기존의 리거시 시스템의 활용을 극대화할 수 있었다. 1996년 이후의 전체 공급 체인 비용은 5천 ~9천만달러 감소될 것으로 예상되며 전체 재고 공급 비용은 4천5백~8천5백만 달러 감소될 것으로 예상된다.

- 크기

9개국의 시스템을 미들웨어를 통해 통합시켰으며 곧 다른 10개국의 시스템도 통합될 예정이다.

5개의 서로 다른 응용 프로그램을 운영하는 서로 다른 7개의 엔터프라이즈 시스템이 통합되었다.

2.5 제조 분야

- 문제

SuperPoseidon은 SEMATECH CIM Framework에 따라 디자인된 Manufacturing Execution System(MES)로써 제조 시스템에 보다 진보된 기술을 통합하기 위한 요구를 해결하기 위한 것이었다. CIM Framework는 표준을 따르는 모든 컴포넌트들 사이에 호환성과 대체성을 제공하기 위하여 제조 프로세스를 위한 분산 객체지향 컴포넌트 모델을 기술한 것이다. 이 분산 객체 메세징을 가능하게 하는 기술은 OMG의 OMA(Object Management Architecture)이다.

- 접근기술

SuperPoseidon의 개발 방법은 현재의 Poseidon semiconductor MES Solution를 CORBA를 이용하여 CIM Framework에 따르는 객체 지향 모델로 바꾸는 것이었다. 이 프로젝트는 다음의 두 가지의 중점을 두고 진행되었다.

  1. 분산 객체 환경을 지원하기 위해 재사용이 가능하고 ORB에 독립적인 OMA-enabled infrastructure를 만들었다. 여기서 만들어진 새로운 기술은 managed object instance framework, high quality of service event notification system, integration with distributed application managemetn enablers 였다.
  2. 반도체 산업에 MES Solution을 제공하기 위해 OMA- enabled infrastructure상에서 작동하는 응용 프로그램들의 분석과, 설계, 개발에 중점을 두었다. 향후 다른 MES 응용 프로그램은 이 framework상에서 만들어질 것이다.

SuperPoseidon은 CORBA를 따르는 ORB들을 지원하는 다양한 플랫폼을 지원할 것이며 또한 Persistence를 제공하는 많은 RDBMS를 지원하게 될 것이다.

- 현상황

SuperPoseidon는 1998년 상업적 배포를 목적으로 개발 중이다.

- 크기

현재 개발중인 SuperPoseidon은 초당 3~5의 트랜잭션을 처리할 수 있는 현재 최대의 반도체 설비를 지원할 것으로 예상된다. 또한 , 수백개의 툴과 operator interface clients에 대한 connectivity를 지원할 것이며 다양한 line motoring, reporting 클라이언트를 지원할 것이다.

- 효과

CIM Framework에 따르는 MES applications의 이익은 다양한 공급자의 컴포넌트를 쉽게 통합가능하다는 것으로써 이는 잘 설계된 객체 모델과 표준 메시지 구조를 통하여 이루어진다. SuperPoseidon는 MES 응용 프로그램으로 하여금 프로세스 산출물을 향상시키며, equipment 사용을 최적화하며 시스템 개발 시간을 단축함으로써 경쟁력 있고 생산성이 뛰어난 생산 설비가 되도록 한다.

모토로라는 다들 알다시피 세계적인 전자 장비 회사중 하나이다. IRIDIUM은 이 회사에 의해서 추진하고 있는 컨소시엄의 이름으로서 전 세계에 걸친 이동통신 네트웍을 구성하기 위해서 만들어 졌다. 특히 무선통신 기기로 팩스, 보이스, 이미지, 삐삐 등의 정보를 66개의 저궤도 위성을 통해 서비스할 계획으로 올해 프로토타입을 만들고 1998년에 상용 서비스를 목표로 하고 있다. 이 프로젝트에서 CORBA는 지상 기지국들을 제어하는 소프트웨어의 표준으로 사용되고 있다.

2.6 정부 분야

- 사용 도구

Dais - ICL's Object Request Broker

- 문제

영국에는 한 해 1000만 명의 외국인들이 입국한다. 현장의 이민국 직원이 이처럼 많은 입국자를 선별할 수 있는 시스템을 갖추기 위해서는 새로운 기술의 적용이 요구되었다.

- 응용 프로그램

UK Home Office Suspect Index System(SIS)는 매일 매시간마다 주요 항구에서 영국으로 들어오는 입국자들의 기계로 읽을 수 있는 여권을 확인한다. 이것의 주요한 기능은 이민국 직원들로 하여금 중앙 데이타베이스에 연결하여 입국자의 정보와 사진을 받아 이를 입국자에 대한 입국 허가에 사용할 수 있도록 하는 것이다.

- 효과

1995년 부터 사용중인 SIS는 영국의 주요 입국 지점에서 성공적으로 구현되었으며 지금까지 6백만 명의 입국자를 검색하여 만 명에 가까운 불법 입국자를 색출해 내었다. 또한, 이 시스템은 현재 불법 입국자의 색출뿐만 아니라 합법 입국자에 대한 검색 시간을 대폭 줄이는 효과를 가져다 주고 있다.

- 크기

각 30기가바이트의 저장 용량을 가진 두 대의 Unix에 약 40만 건의 목록이 등록되어 있으며 약 300대의 PC가 현장의 이민국 직원들이 사용할 수 있도록 연결되어져 있다. 과거 300페이지 분량의 기록부를 수작업으로 검색하던 방식에서 현재의 시스템을 사용한 후 검색시간은 1초 이하로 줄어들었다.

그리고, 280여대의 PC가 이외의 비공공장소에 설치되어 사용되고 있다. 향후 이 시스템은 영국의 전 입국지로 확장될 예정이다.

  1. 수송 분야

- 응용 프로그램

DaRT는 모든 지역과 부서, 서비스점에 있는 화물차와 수송 차량의 완벽한 재고를 온라인으로 파악할 수 있도록 하는 DB AG(Deutsche Bahn AG, German Railway Company)의 최초의 시스템이다 .

- 문제

DaRT가 개발되기전 DB AG는 다음과 같은 문제점을 가지고 있었다.

수송 차량에 대한 데이타가 서로 다른 많은 시스템에 분산되어 있었기 때문에 이 데이타를 consistent하게 유지하는 데 많은 비용이 지출되었다. 이러한 문제는 1990년에 구 동독의 차량이 통합되면서 심각하게 되었다. 데이타에 대한 수작업은 더욱 많은 비용을 소모했으며 새로운 차량이 등록되었을 때나 변경되었을 때는 많은 양의 파일 기록 작업이 필요했다. 또한 각 지역에서 이 데이타를 검증할 수 없었기 때문에 데이타 자체의 문제가 야기되었고 새로운 데이타의 갱신은 일년 후에나 이루어지는 상황이었다.

이전의 시스템은 모듈 별로 만들어지지 않았고 또한 확장성을 고려하기 않았기 때문에 데이타의 증가에 따라 시스템의 유지는 거의 불가능한 지경에 이르렀다.

- 기술적 접근

DaRT는 그의 모든 컴포넌트에 객체 지향 기술을 이용한 2단계 클라이언트/서버 시스템이다.

서버는 C++로 구현되었으며 SMP 유닉스 호스트상에서 돌아간다. 데이타 저장은 ObjectStore OODBMS를 사용하며 Orbix가 클라이언트와의 통신을 담당한다. DaRT의 소프트웨어도 각각의 프로세스를 parallel하게 이용할 수 있도록 만들어져 동시에 발생하는 요구사항에 대해 대처할 수 있으며 또한 향후 확장성을 제공할 수 있다.

클라이언트는 VisualWorks Smalltalk를 이용하여 윈도우 95에서 돌아가도록 만들어졌다. ParcPlace Distributed Smalltalk(DST)가 서버를 접근하는 데 이용되었으며 클라이언트 구축을 위한 Smalltalk Application Framework가 개발되어 향후 프로젝트에 이용될 것이다.

CORBA 통신은 WAN상에서 IIOP를 채용했는데 어떤 장소에서는 낮은 대역폭 때문에 속도에 문제가 발생했다. 이러한 상황하에서 CORBA request의 크기와 수를 최적하기 위한 요구가 CORBA 객체간의 pass-by-value mechanism이 없는 상황에서 데이타 교환을 용이하게 하기 위한 새로운 패턴 언어를 개발하게 만들었다.

전체적인 시스템은 디자인 패턴, 프레임웍, 제너레이터를 주로 사용하였으며 많은 부분의 원시 코드가 텍스트 객체지향 클래스 명세에 의해 만들어졌다 .

- 크기

DaRT는 독일 전체에 걸친 500명의 사용자를 지원하는 대형 클라이언트/서버 시스템이다. DaRT 를 사용하여 DB AG 는 5만대의 차량에 대한 데이타를 관리하여 이 전체 데이타의 양은 10GByte에 달한다. 최종 사용자는 초당 20~30의 읽기 트렌잭션과 2~5의 쓰기 트렌잭션을 발생한다.

- 현상황

DaRT는 1996년 이후 계속 작동 중이며 몇 년 내 몇가지의 확장 작업이 계획되고 있다.

- 효과

DaRT는 전에 언급했던 문제를 해결하면서 다음과 같은 이익을 가져다 주었다.

모든 차량의 데이타는 하나의 중앙 DB에 저장되었으며 이것은 실제 데이타에 대한 즉각적인 접근을 제공해 주었다. 데이타의 등록과 검색은 융통성있고 낮은 비용으로 이루어지며 이것은 DB AG의 모든 지역과 서비스 점의 관리에 대한 결정의 기반을 제공해 주었다. 또한, 이것은 궁극적으로 DB AG의 모든 차량과 이용 고객의 보안을 향상시킬 것이다.

DISCUS Data Integration and Synergistic Collateral Usage Study

http://www.serve.com/mowbray/discus.html

DISCUS프로젝트는 1991년 시작한 프로젝트로서 현재 7 개가 넘는 기존의 시스템을 통합하고 WWW와 OLE등 다양한 시스템을 CORBA를 사용하여 통합하였다.

먼저 CORBA 프레임웍상에 각종 데이타 교환과 변환, 그리고 원하는 정보에 대한 질의 기능, 스크립트 기능들을 지원하는 기본 프레임웍 메소드를 구현하였다. 이를 바탕으로 7개가 넘는 기존의 시스템을 통합했고 WWW 게이트웨이, OLE 게이트웨이 등을 구현하였다 . 이러한 과정에서 얻은 각종 통합 방법들은 참고문헌1 을 참조하기 바란다.



6막을 마치며

현재 수 많은 회사들이 CORBA2.0을 지원하는 제품들을 제공하고 있다. 이들 제품들 모두가 CORBA2.0에서 정의한 서비스들과 지원 기능들을 제공하는 것은 아니다. 따라서 사용자는 구축하고자 하는 시스템을 정확히 이해하고 이를 구축하는 데 필요한 서비스를 해당 CORBA 제품이 지원하는 지 판단해야 한다.

현재 CORBA 제품은 항공/국방 분야를 비롯하여 제조 분야에 이르기까지 수많은 분야에서 사용되고 있다. 시스템 통합 표준이라는 CORBA 자체의 특성으로 인해 주로 기존의 리거시 시스템을 통합하거나 아주 복잡한 이종의 시스템을 통합하는 데 사용된다. 그러나 이뿐만 아니라 CORBA는 분산 환경하에서 다양한 계층을 갖는 시스템을 구축하는 데 필수적으로 사용되고 있다.


[ 다음 | 이전 ]