전문가칼럼

DBMS, DB 구축 절차, 빅데이터 기술 칼럼, 사례연구 및 세미나 자료를 소개합니다.

최적의 이기종 통합 수단 ‘웹서비스’

전문가칼럼
DBMS별 분류
Oracle
작성자
dataonair
작성일
2002-05-01 00:00
조회
10715





벤더들 관련 솔루션 속속 출시…
볼랜드 다양한 제품군 통해 폭넓게 지원


최근 들어 기업의 IT 관련 부서는 인터넷, 익스트라넷, 인트라넷과 관련된 새로운 변화에 직면하고 있다. 이 3가지 변화에 어떻게 대응하는가에 따라 그 기업의 경쟁력은 크게 달라질 전망이다.

현재 기업의 인터넷 활용은 자사에 대한 광고수단으로 이용되는 경우가 많다. 때로는 역동적인 정보제공 수단으로 사용되기도 하며 트랜잭션을 동반하는 정보교환의 수단 등으로 활용되기도 한다. 트랜잭션이 발생하는 정보교환 수단으로 사용하는 것은 기업의 핵심 정보시스템에서 지원해야 하는 서비스라 할 수 있다. 이는 기존의 레거시 시스템과 별도의 것으로 취급된다. 하지만 보안 및 트랜잭션 기능을 이용해 기존 시스템에 접근할 경우 해당 기업은 더욱 뛰어난 고성능과 고가용성의 인프라를 얻게 될 것이다.

인터넷이 해당 기업의 제품 및 용역을 최종 소비자에 연결시켜 주는 수단인 반면 ‘익스트라넷(Extra net)’은 해당 기업과 다른 기업과의 연계 수단이라고 볼 수 있다. 여기에 정교한 사용자 인터페이스를 사용해 기업간 거래 수준에 따라 해당 기업에 접근하는 수준 차이를 지정해 줄 수가 있다. 이외에 기업은 자사의 종업원들에게 똑같은 정보시스템의 서비스를 제공해야 할 필요가 있다. 콜센터, 지사의 고객센터, 판매대리점 등을 그 예로 들 수 있다.


이기종간 통합 움직임 본격화

기업에 산재한 인터넷을 포함해 각종 네트워크를 묶는데는 걸림돌이 많다. 이는 기업간 시스템 및 애플리케이션이 다르다는데 있다. 특히 최근 들어 인수합병이 본격화되는 등 기업환경이 점차 변하면서 IT 관련 부서에서는 이기종간 시스템 및 애플리케이션에 대한 통합작업을 필수적인 임무로 인식하기 시작했다.

이기종 시스템이 무엇인가는 여러 측면에서 볼 수 있다. 먼저 OS, 프로그래밍 언어, 네트워크 프로토콜, 데이터 표현방식 등이 시스템간에 서로 상이하다는 것을 말한다. 시스템 통합작업은 이러한 각 시스템간의 차이점을 이해하고 수용해야 하며 효율적이면서도 보안 및 신뢰성 있는 방식으로 이뤄져야 한다.

이기종 간 통합 바람이 불면서 수많은 기업들이 네트워크 프로토콜이나 OS에 상관없이 데이터 계층 혹은 비즈니스 프로세스 계층에서 통합하는 ‘EAI(Enterprise Application Integration)’ 도입을 서두르고 있다. EAI는 기존에 개발된 애플리케이션의 변경을 최소화하면서 데이터의 공유 및 프로세스의 통합을 구현하는 방식을 말한다. 즉 광범위한 EAI는 기업내부의 애플리케이션 통합뿐만 아니라 기업 외부에 존재하는 파트너와의 데이터 및 애플리케이션, 플랫폼 통합을 통해 협업기반의 B2B를 구축해 경쟁력을 갖도록 하는 것이라고 볼 수 있다.

EAI의 핵심은 애플리케이션 서버이다. 다수의 애플리케이션 서버들은 분산객체 및 컴포넌트기술에 그 기술적 기반을 두고 있다. 요즘 새로 출시되는 애플리케이션 서버 제품들은 여러 문제들을 충분히 파악하고 이런 상황에 대한 해답을 가지고 출시된다. 하지만 각각의 벤더들이 출시하는 애플리케이션 서버들은 서로 다른 기술요소를 기반으로 가지고 있으며 서로 다른 문제접근 방식을 취하고 있다.


이기종 통합 매개체 ‘CORBA’

현재 가장 널리 배포된 분산객체 기술은 ‘코바(CORBA: Common Object Request Broker Architecture)’이다. 코바는 개방형 산업표준이면서 여러 IT업체의 컨소시엄인 ‘OMG(Object Management Group)’에 의해 도입 및 관리되기 때문에 신뢰성이 있다. 이는 이기종 플랫폼간에 걸쳐서 사용 가능한 객체 기반 미들웨어에 대한 스펙(Specification)이다.

특히 코바 스펙를 구현한 ‘ORB(Object Request Brokers)’는 시스템 통합작업 및 인터넷으로부터의 접근성을 제공하는데 효율적인 메커니즘이다. Internet Inter-ORB 프로토콜은 코바 표준의 일부분으로 IIOP라는 표준 프로토콜을 이용, 서로 다른 ORB제품 및 애플리케이션들끼리의 통신도 가능케 한다(<그림2> 참조).

OMG는 핵심 코바 스펙에 덧붙여서 수평적, 수직적 서비스들을 위한 스펙을 개발하고 발표했다(<그림3> 참조). OMG가 발표한 수평적 서비스 중의 하나인 ‘OTS(Object Transaction Service)’를 이용하면 여러 데이터베이스에 걸치는 분산트랜잭션을 일으킬 수 있거나 기존 레거시 시스템에도 트랜잭션을 발생시킬 수가 있다. 이러한 OTS 인터페이스는 여러 프로그래밍 언어와 매핑이 가능하다. 썬에서는 OTS와 매핑되는 자바를 자바플랫폼의 일부분으로 채택했고 이 서비스를 ‘JTS(Java Transaction Service)’라고 명명했다.

코바는 플랫폼과 애플리케이션 작성 언어에 독립적인 디자인, 개발, 런타임 프레임워크를 제공한다. 이것의 핵심은 ‘IDL(Interface Definition Language)’이라고 할 수 있다. 이를 통해 각각의 애플리케이션들이 어떤 프로그래밍 언어로 작성됐든 독립적으로 객체에 인터페이스할 수 있는 방법을 얻어낼 수가 있다.

IDL은 복잡한 패러미터 데이터 타입에 대한 ‘선언적(declarative)’ 언어로 이뤄져 있으며 객체 개발자와 객체 사용자간의 계약서처럼 간주되기도 한다. 또 IDL은 코바 객체의 사용자가 스텁 및 스켈레톤이란 ORB통신코드를 이용해서 컴파일할 수 있도록 한다. IDL이 표준적으로 매핑(standard mapping)되는 언어는 C, C++, 자바, 코볼, Ada, 스몰토크(Smalltalk) 등이 있다. 이를 통해 기존 레거시 시스템과의 통합이 수월하게 이뤄진다.

볼랜드가 제공하는 웹서비스 개발도구

볼랜드는 웹서비스 지원을 위해 윈도우와 리눅스 개발 플랫폼에 맞는 J빌더(JBuilder), 델파이(Delphi), C++빌더, 카일릭스(Kylix)를 출시했다. 이 제품군은 내부 및 외부시스템간 웹서비스를 빠르고 신뢰성 있게 개발할 수 있게 한다. 서버측 개발과 클라이언트측 개발에 같이 사용될 수도 있고, 윈도우와 리눅스간 소스코드를 수정하지 않아도 디자인 및 개발이 가능하다.

이외에 볼랜드는 ‘볼랜드 엔터프라이즈 서버’라는 애플리케이션 서버 및 플랫폼을 출시했다. 이 제품은 웹서버 통합을 통해 웹서비스가 구동하는데 있어 좋은 성능을 제공하고 있으며 플러그 인 방식의 모듈과 서비스를 사용하고 있다.

특히 이 서버는 J빌더, 델파이, 카일릭스를 이용해 만든 웹서비스를 J2EE 애플리케이션 서버에 배포하는 등 유기적으로 연계해 사용할 수 있다.

eceo200206005_01.gif

<그림1> OPB와 시스템 통합작업 및 인터넷으로의 접근

eceo200206004_02.gif

<그림2> Internet Inter-ORB 프로토콜

eceo200206004_03.gif

<그림3> 핵심CORBA스택과 수평적 수직석 서비스를 위한 스팩


EJB와 코바의 연계

한편 지난 98년 썬은 ‘EJB(Enterprise JavaBean)’의 첫번째 스펙을 발표했다. EJB란 분산 트랜잭션 애 기반의 컴포넌트 지향적인 프레임워크이다. EJB 스펙이 점차 성숙해지면서 99년 중반 1.1버전의 EJB 스펙이 발표되었고 EJB서버는 애플리케이션 서버의 형태를 띠며 출시됐다.

코바와 EJB 두가지 스펙은 서로 다른 그룹에 의해 독립적으로 발전해 왔다. 하지만 이 두가지 기술은 궁극적으로 상호 보완적인 측면이 있다. 즉 EJB서버는 코바, IIOP, OTS/JTS 등에 의해 구현 가능하다.

애플리케이션 서버가 그 역할을 수행하게 되는 미들티어는 대개 비즈니스 로직을 캡슐화해 서비스하고 다양한 백엔드 시스템에 대한 클라이언트의 접근을 가능토록 한다. 여기서 말하는 백엔드 시스템은 관계형, 객체데이터베이스, 애플리케이션 소프트웨어 패키지, 레거시 시스템을 모두 포함한다.

볼랜드 엔터프라이즈 서버는 코바 기반의 J2EE 애플리케이션 서버로 코바의 분산객체관련 서비스를 이용해 자바 애플리케이션을 쉽게 개발할 수 있게 한다. 이 서버를 사용해 이질적인 시스템끼리의 비즈니스 애플리케이션 및 원격 데이터베이스를 사용할 수 있고 엔터프라이즈급 애플리케이션을 어떻게 패키지화할 것인지, 어떤 방식으로 배포할 것인지에 대한 절차를 규정할 수 있다. 또 수많은 J2EE API서비스를 제공, 엔터프라이즈 애플리케이션을 어셈블링 하기 전에 아키텍처 디자인상의 문제점들을 고려할 수 있게 해준다. 특히 방화벽과도 연계되며 DB 및 기존에 사용되던 레거시 시스템과 같은 백엔드 컴포넌트와도 통신이 가능하다.


‘웹서비스’ 컴퓨팅 환경의 차세대 이동축

이기종 간의 통합은 과거에도 있었다. EDI와 같은 초기 e-비즈니스 애플리케이션이 그것이다. 이 애플리케이션에서는 서로 다른 시스템끼리의 통신을 위해 특수한 프로그램들을 사용해야 하는 수동적인 통합방식이었다. 이러한 ‘point-to-point’ 통합 방식은 통신 프로토콜과 데이터 포맷을 재정의해야 하고 각각 프로그래밍으로 작성한 인터페이스를 가져야 했다. 따라서 애플리케이션을 자주 업그레이드하거나 수정하게 되면 통합하는 모듈 및 아키텍처도 재작성해야 했다.

이에 따라 이기종 환경에서 다른 애플리케이션과 통신을 할 수 있게 만드는 표준기술로 ‘웹서비스’가 대두되기 시작했다. 웹서비스는 HTTP같은 프로토콜 및 기존의 인터넷 기술을 사용해 네트워크를 가로지르는 통신을 가능케 한다. 웹서비스는 기업에서 사용하는 공통적 서비스를 클라이언트들도 접근할 수 있도록 설정, 고객과의 비즈니스가 원활하게 이뤄지도록 할 수 있다. 따라서 인터넷으로의 기존 애플리케이션 확장이 필요하다면 웹서비스가 그 방안으로 적용될 수 있다.

웹서비스의 핵심은 ‘시스템끼리의 통신에 표준을 제공한다’는 것이다. 이러한 표준에는 정보를 인코딩시키는 방식인 XML과 WSDL(WebService Definition Language) 등이 있다. 웹서비스는 WSDL을 이용해서 표현되는 인터페이스를 가지고 있어야만 하고 UDDI 저장소에 등록될 수 있어야 한다. 또 SOAP 인터페이스를 통해 XML로 통신 가능해야 한다.

일단 웹서비스가 정의되면 다른 시스템들에 의해서 호출 및 접근이 가능하다. 웹서비스는 독립적인 전송구조를 가지고 있기 때문에 어떠한 시스템에 대해서도 지원이 가능하다. 웹서비스는 어떠한 시스템과도 상호 작용할 수 있고 하드웨어나 OS에 무관하게 작동 가능하다.

이에 따라 기업에서 사용하는 모든 개발도구들이 이미 웹서비스를 사용하도록 지원하고 있거나 앞으로 사용가능해질 것으로 예상된다. 기업들은 웹서비스 표준을 준수해 시스템을 구축할 경우 쉽게 기업 간 통합작업을 할 수 있을 것으로 보인다.

이미 많은 기업들은 이미 자사 내부의 시스템 통합 및 파트너사들과의 통신 수단으로 웹서비스를 사용할 방법을 조사하기 시작했다. 몇몇 기업은 자사 웹서비스를 공동으로 사용 가능하도록 UDDI를 사용해 레지스터(resister)하기도 한다. 웹서비스를 이용하면 비즈니스 프로세스통합과 회사내부의 시스템 통합, 회사들간의 통합 등이 간단해진다. 궁극적으로 웹서비스는 부서간 혹은 회사 전체간의 통신의 기반으로 작용할 전망이다.


제품 출시 등 발빠른 대응

웹서비스의 물결을 타고 이미 IT업계는 관련 제품을 출시하는 등 발빠르게 움직이고 있다. 패키지 소프트웨어 벤더들은 자신들의 애플리케이션이 웹서비스 프로토콜을 통해 접근 가능하도록 인터페이스를 제공하고 있다.

데이터베이스와 OS 벤더들은 자사의 시스템에서 웹서비스가 가능하도록 지원하고 있다. 오라클, IBM, hp, 마이크로소프트 등도 자사의 최신 제품에 웹서비스 기능을 부여하고 있다. 이러한 웹서비스는 통합을 진행하는데 따른 문제점들, 특히 기존 시스템에 의해 만들어진 접근 프로세스 같은 사항들을 해결했다. 물론 통합을 위해 개발자가 ‘커스텀 코드(custom code)’를 작성해야 하지만 애플리케이션으로 데이터를 주고받는 것은 이전보다 더욱 간단해졌다.

웹서비스를 이용하면 어떠한 효과가 있을까 우선 웹서비스를 이용하면 다른 애플리케이션으로부터의 복잡한 접근정보를 신경 쓰지 않아도 된다. 데이터의 교환이 상당부분 자동화 및 표준화됐기 때문이다. 개발자들은 단지 핵심 비즈니스 로직과 애플리케이션 내에서 데이터를 어떻게 처리할 것인지 프로그램코드를 작성하기만 하면 된다.

웹서비스를 조화롭게 사용하도록 편성하는데 있어 가장 중요하게 고려해야 할 사항은 ‘기업 내에서 웹서비스가 수행할 기능이 무엇인지를 결정’하는 것이다. 웹서비스는 단순하게 시스템간의 자동화된 정보교환에 사용될 수도 있고 그래픽 유저 인터페이스의 데이터 소스로 사용될 수도 있다. 아니면 외부소스로부터 넘겨받는 데이터로 처리하는 웹서비스 클라이언트가 될 가능성도 있다.

웹서비스는 회사내부 또는 방화벽 건너편의 회사외부로부터의 접근이 가능하도록 해 준다. 이미 수많은 대기업들은 웹서비스를 이용해서 기존 애플리케이션을 통합하는 시스템을 개발하고 있으며 웹서비스 인터페이스를 이용해 기존 시스템을 재조립함으로써 기존 인프라 투자에 대한 가치를 더욱 높이는 방안을 찾고 있다

eceo200206004_04.gif

<그림4> 볼랜드 엔터프라이즈 서버의 n-tier 조망도

eceo200206004_05.gif

<그림5> 볼랜드에서 제공하는 웹서비스

eceo200206004_06.gif

<그림6> 볼랜드 엔터프라이즈 서버


제공 : DB포탈사이트 DBguide.net