I.

웹을 기반으로 한 미생물 데이터베이스의 구현

Implementation of Web-based Microbial Database

Yong-Wong Shin, Ph.D., Byung-Rae Park, Ph.D., Choon-Bo Shim, Ph.D., Hee-Woo Lee*

Dept. of Hospital Management, Dept. of Radiological Science, School of Computer Information Engineering, Catholic University of Pusan 609-757, kevin@cup.ac.kr

* Dept. of Biomedical Engineering, Graduate School of Inje University

Abstract: The contents of microbial information are complicated because of being hierarchical, duplicated as well as their changes are continuous and various. Much of time and cost is required maintaining, expanding it after representing them into a relational database. It's not adequate that they are shared via Internet. Thus, in fact, user's meta-knowledge is insufficient to use the information via Internet are user cannot cope with the continuous changes of microbial information through the static web interface. To solve these problems, object-oriented database. They were incorporated on user interface to assist users as interactive environment, who want to use information via Internet. The implemented system could solve advantages. That is, which microbial information is represented as hierarchical, duplicated data. It showed the possibility to share and manage it via Internet. It helped the system to be implemented as the database, information stored in the object-oriented database.

Keyword: Microbe, Object-oriented database, Web

서 론

최근 인터넷을 통한 의료분야의 적용은 전략적인 도구로 사용되어지고 있다. 이처럼 다양한 매체를 사용하는 정보를 공유할 수 있는 기반으로서의 웹은 사용의 편이성과 효율성 등으로 인해 일반 사용자 층과 상업적인 활용도는 기하 급수적으로 증가하고 있다.[1,2]

그 중에서도 데이터베이스 시스템은 웹과 관련된 연구로 가장 활발히 진행되고 있는 것 중의 하나이면서, 지리정보시스템, 의료정보시스템[3.4], 전문가시스템, 지식기반의 시스템 등의 여러 분야에서 데이터베이스와의 결합이 시도되고 있다.

하지만 기존의 데이터베이스 관리 시스템(DBMS)들은 이 새로운 응용 분야들에 대한 모델링 능력의 부족으로 인해 데이터 모델과 객체지향 프로그래밍 언어상의 결합의 불일치를 야기시킨다. 이러한 문제로 인하여 응용 프로그램 개발의 생산성과 수행 효율을 저하시킨다. 문제해결을 위해 실세계의 데이터 모델에 자연스럽게 부합되는 객체지향 데이터모델[3]을 기반으로 하는 객체지향 데이터베이스[2]를 필요로 하게 되었다.

미생물 검사실은 계층적이고 중복성을 가진다. 따라서 복잡하고 전산화가 타 부서에 비해 뒤떨어진 미생물 검사실의 정보를 관리하고 그 데이터의 모델을 효과적으로 진화시키기 위해서는 객체 기술이 필요하다.

본 연구에서는 웹과 객체지향 데이터베이스 시스템을 컴포넌트로 통합하여 미생물 정보에 능동적으로 적응하며 정보에 진화하는 질 높은 객체지향 데이터베이스를 구현하고자 한다.

II. 방 법

Fig 1. Software Architecture as a whole

기존의 데이터베이스로 의료정보를 표현하기에는 미생물 검사실의 데이터 형태가 매우 다양하기 때문에 적합하지 않고, 또한 복잡하고 계속 변화하는 정보를 포함하는 임상미생물 데이터에도 부적합하다. 따라서 객체 데이터 모델링을 하기 위한 객체 CASE Tool인 Rational Rose 98i(Rational Corp. 1999; 이하 로즈)를 사용하여 시스템의 요구분석과 데이터 모델을 UML(Unified Modeing Language 1.3)로 구현한 후 그 데이터 모델을 기반으로 하여 객체지향 데이터베이스인 Cache(Intersys Corp. 1999; Version 3.1)에 객체모델을 구현하였다. 또한 웹을 기반으로 하여 새롭게 변화하는 웹상의 정보를 이용하고 정보의 가치를 높이기 위해 액티브 X 컴포넌트(Active X Component)로 인터페이스를 구성하여 항시 능동적으로 객체 모델들을 이용할 수 있게 비주얼 스튜디오(Visual Studio 6.0)를 이용하여 컴포넌트 기반의 웹 인터페이스로 구현하였다. 이러한 점을 고려하여 웹 서버는 Windows 2000 Server 상의 IIS(Internet Information Server 5.0)를 이용하여 웹 서버를 구성하고, 만들어진 컴포넌트를 웹 문서(HTML)안에 액티브 X 도큐먼트 DLL의 형식으로 클라이언트에 그 문서가 임베디드(Embedded)되게 구현하고자 한다. 그림 1은 전체적인 소프트웨어 아키텍쳐이다.

본 연구는 객체지향 미생물 데이터베이스를 구현하고 웹 인터페이스에 새로운 방식을 제공해 양질의 미생물 정보를 제공해 임상자료의 활용에 도움을 주고자 한다.

III. 연구내용

본 연구의 구성은 첫째, 미생물 검사실에서의 정보 데이터 모델을 얻어내기 위해서 시스템 요구분석을 통한 유스(Use Case)모델링을 하고, 그것을 바탕으로 도출해낸 객체 데이터 모델을 구성하여 데이터베이스를 구현한다. 둘째, 구성된 객체 데이터 모델을 사용하기 위해 비주얼 스튜디오를 이용하여 웹상의 액티브 X 컴포넌트를 설계한다. 설계된 컴포넌트를 웹상에서 미생물관련 정보로 이용하고자 한다.

1.  객체 지향 데이터 모델링

1) 미생물 검사실에서의 요구사항

시스템의 요구사항 분석이라 함은 사용자가 시스템을 어떻게 사용해야 할지, 그들의 요구가 어떤 것인지, 작업을 위해 시스템에 기대하는 것이 무엇인지를 분석하는 것이다.[5,6,7,8]

Fig 2. Use case diagram of technician behaviors.

이러한 요구분석을 CASE Tool인 로즈[9,10]를 이용하여 복잡한 시스템의 기능성과 관심대상을 중심으로 분석을 하여 필요한 정보를 얻어내고자 한다. 즉 임상 미생물 검사실에서의 업무는 병리기사가 직접 관리하기 때문에 불필요한 서류 작업 및 중복작업이 빈번하고, 계속적인 작업의 반복으로 검사에 필요한 사람 및 장비가 동시에 요구된다. 여기에 검사 단계별 확인 과정은 문서나 전화, 구두에 의하여 전달되고 이는 검사 업무의 복잡성을 가중시킨다. 검사 결과를 도출하는 과정에서 환자의 정보와 검체에 수반되는 검사 의뢰서로부터 각종 기자재 대장과 슬립, 수기메모, 참고용 검사지표, 검사기기 회사들의 참조 책자 등을 보면 복잡성을 확인할 수 있다.[11]

이러한 복잡한 업무의 행위를 미생물 검사자의 관점에서 분석한 것이 그림 2 유스 케이스 다이어그램으로 확인할 수 있다.

이처럼 업무의 행위와 요구를 UML로 표현함으로서 직관적으로 시스템을 분석하고 문서화하고, 수정, 변경하는데 시간을 줄일 수 있고, 효율적인 관리를 할 수 있다. 즉. 프로그래머와 사용자 사이의 철저한 요구 사항의 분석이 가능하며 의사소통 시에 생기는 문제를 해결할 수 있다.

이러한 방식의 요구사항 분석은 전체 시스템을 구현하기 위한 문서자료, 즉 정보를 구성하기 위한 객체 데이터 모델인 클래스의 도출이 가능하다. 그리고 앞으로의 복잡한 환경을 분석하는데 용이하며 계속적인 반복분석과 시스템의 모델을 진화하는데 용이하다.

2) 데이터모델

a. 클래스

임상미생물 검사실로 한정된 범위에서의 객체들은 크게 환자들의 각종 검체와 슬립을 중심으로 배지, 세균, 질병, 항생제 등으로 나열된다. 하지만 본 연구에서는 좁은 영역의 미생물의 정보를 표현할 객체 데이터 모델을 구성하기 위해 객체들을 추상화를 시켜서 그 클래스들을 구현하였다. 이러한 클래스들은 계층적으로 환자, 검체, 질병, 미생물, 균, 배지 등으로 하였다. 그리고 각각의 객체가 가지는 속성을 명시하였다. 그림 3은 위에서 도출된 클래스를 자세히 클래스 다이어그램으로 표현한 것이다.

Fig 3. Class diagram based on microbial information model.

b. 클래스의 관계(Relationships)

하지만 단순히 클래스만 도출해서는 객체 데이터베이스를 구현할 수는 없다. 즉 객체 지향 모델링에서 세 가지 중요한 관계인 일반화, 연관, 의존이 객체 간의 구조 관계의 표현 시 나타나야 한다. 객체 모델링 시 클래스 간의 상속성을 표현하는 미생물 균의 특수한 속성을 표현하기 위해 구체적인 객체(인스턴스)로 만들어지지 않는 추상 클래스로 미생물의 특성들을 표현하여 일반화 시켰다.

그림4는 미생물 정보내에서 환자와 검체, 검체와 세균사이의 집합연관과 클래스 사이의 객체 간의 인스턴스를 고려한 다중성으로 표현이 된다. 이러한 클래스와의 관계는 실제로 객체 데이터베이스의 구현 시에 데이터가 중복되는 것을 막을 수가 있고 계층형을 표현할 수 있다.

Fig 4. Whole-Part relationships and multiplicity

c. Cache에서 객체 모델

미생물정보에 관한 객체 모델을 Cache의 객체 모델로 구현되기 위해서는 저장이 가능한 퍼시스턴트와 객체에 내장이 가능한 임베디드 클래스를 사용해야 한다. 그리고 데이터베이스를 실제로 구현하기 위해 텍스트 기반의 CDL(Class Definition Language)과 COA(Cache Object Architect)의 GUI를 이용하는 방법이 있다. 본 연구에서는 로즈와 COA를 이용하여 데이터베이스에 객체 모델을 구현하였다. 이 방법은 반복적인 모델의 수정에도 객체 데이터 모델이 유연한 구조를 가지게 되지 않으므로 순공학(Forward Engineering)과 역공학(Reverse Engineering)을 거쳐 반복적으로 수정을 하여 구현하였다.

2) 임베디드 웹 컴포넌트

a. 유저 인터페이스 구성

웹을 통해 DCOM을 기반으로 분산되어 있는 액티브 X 컴포넌트를 이용하여 임베디드 컨테이너를 구성해 유저 인터페이스를 구현하였다.

b. 인터페이스

기존의 HTML, ASP, Perl 등의 방식은 객체의 방식을 도입을 하고 있지만 서버내 소수의 정해진 객체만을 이용하는 스크립트 방식이다.[12] 최근 이러한 문제를 해결하기 위해 웹 브라우저 상의 임베디드 컴포넌트 방식으로 웹을 디자인 하려는 시도가 늘고 있다.[15,16] 이러한 방법은 분산된 객체를 웹에 사용하기 때문에 작업하기 쉽고, 분산되어 있는 컴포넌트를 재사용하기가 쉽다. 이러한 방식을 이용하여 객체 데이터베이스에 저장되어 있는 미생물 정보를 이용하였다.

이러한 방법들 중 하나인 COM을 기반으로 하여 액티브 X 컴포넌트인 액티브 X 도큐먼트의 형식으로 미생물 정보를 구성하기 위해 모델링된 유저 케이스, 시퀸스 다이어그램으로부터 GUI 원형을 만드는 충분한 정보를 입수하였다. 즉 시스템이 사용자의 필요에 바탕을 두고 있고, 설계에 도움을 주고 있음을 알 수 있다.

IV. 결 과

웹을 기반으로 한 객체 지향 미생물 데이터베이스 시스템은 객체 지향 데이터베이스 서버인 Cache로 미생물 정보를 저장하고 단순한 키워드 방식의 검색이 아닌 의미있는 객체 방식의 검색이 가능하게 구현하였다.

Cache데이터베이스 서버를 Windows 2000 서버와 어드밴스 서버에 각각 설치하여 데이터베이스를 분산시켰다. 이러한 분산방식으로 데이터베이스의 기능의 수행과 동시에 네트워크의 부하를 줄일 수 있었다. 그림 5는 로즈에서 모델링된 객체 데이터 모델을 Cache 서버에 순공학과 역공학방식으로 구현된 객체 데이터베이스 서버를 보여준다.

Fig 5. Implemented microbial object-oriented database

웹에 임베디드될 컴포넌트인 액티브 X 도큐먼트는 Windows 2000 서버의 IIS 서버에 설치되어 다른 클라이언트 환경에서 접속이 가능하게 구현하였다. 그림 6은 웹에서 사용을 나타내는 화면이다.

Fig 6. Web-based embedded component for interface

Ⅴ. 고 찰

기존의 방식은 웹을 유지, 보수하는데 시간과 노력이 요구되어지고, 정보를 이용하는 사용자들조차 메타지식의 부족으로 특정한 정보를 어떠한 장소에서 어떠한 방법으로 찾아야 할지 어려움을 겪고 있다. 이러한 문제를 해결하기 위해 본 연구에서는 객체 지향 미생물 데이터베이스를 웹을 통해 정보를 이용하고자 하는 사용자들에게 다양하고 변화하는 정보를 제공하고 인터페이스 또한 객체의 방식으로 된 컴포넌트 베이스로 구현하였다.

또한 Cache DBMS가 객체 데이터 모델링 툴인 로즈를 지원하고, 분산데이터베이스를 구현하는데 생산성을 높일 수 있음을 착안하여 데이터베이스를 구현하였다. 하지만 Cache의 객체 모델로의 완벽한 전환(순공학과 역공학)의 어려움이 아직도 존재하였다.

그리고 미생물 검사실의 전산화는 미흡하고, 여러 가지 제약조건으로 인하여 해결이 용이하지 않았다. 하지만 비전문가에게 또는 미생물 정보를 이용하고자 하는 사용자들에게는 도움을 줄 수 있다.

이러한 단점을 해결하기 위해 자동화된 에이전트를 이용하고, 자동화 임상 장비에 이러한 객체 데이터베이스를 이용하여 진화하는 시스템을 구축하는데 향후 연구에서 고려해야 할 점일 것이다.

그리고 웹에 컴포넌트 이용 시 인증, 보안, 배포문제를 고려해야 할 것이다.

참고문헌

1.  Alistair Dunlop, Mark Papiani, Tony Hey, Providing access to a multimedia archive using the World Wide Web and an object-relational database management system, Computing & Control Engineering Journal, 1996: 221-226

2. Francesco Pinciroli, Luisa Portoni, Carlo Combi, et al, WWW-based access to object-oriented clinical database: the KHOSPAD project. Journal of Computers in Biology and Medicine, 1998: 531-552

3. Veronique Biaudet, Franck Samson, Philippe Bessieres, Micado-a network-oriented database for microbial genomes, Oxford University Press, 1997, Vol 13: 431-438

4. Tatjana Welzer, Marjan Druzovec, Bruno Stiglic, et al, Database Reusability in Intelligent Medical Systems, IEEE, 1998

5. Jake Sturn, VB6 UML Design and Development, Wrox press, 1999: 49-90

6. Bruce Powel Douglass, Real-Time UML Developing Efficient Objects for Embedded Systems, Addison-Wesley, 1998

7. 심재철, 신인권, 임춘봉, UML 사용자 지침서, 인터비전, 1999

8. 김창완, 한번 더 생각한 객체지향모델링과 구현, 대림출판사, 1998

9. Terry Quatrani, Visual Modeling with Rational Rose and UML, Addison-Wesley, 1998

10. Rational Corp., Rational Rose 98 Using Rose, Rational Corp., 1998

11. 전종웅, 세균검사실 통합화상 데이터베이스 구축, 3판 보건복지부 용역보고서, 1998

12. 박기성 역, Active Server Pages 2.0, 정보문화사, 1999