서 론
서비스 지향 아키텍처는 이 기종 환경 사이에서도 원하는 정 보를 공유하기 위해 등장한 개념이다. SOA가 성공하기 위해 서는 비즈니스 계층의 서비스와 애플리케이션을 연결하는 기 술이 주요한 이슈 중 하나이다[1, 4]. 서비스 지향 아키텍처는 로직의 개별 단위들이 서로 고립되지 않고 상호 작용 하면서도 자율적으로 존재할 수 있도록 한다. 로직 단위는 원칙에 따라 공통성과 표준성을 유지하며 독립적으로 구성되며, SOA에서
는 이러한 로직 단위를‘서비스’라고 한다. SOA의 이런 장점 중 하나는 비즈니스 지향적인 컴포넌트와 관련 인터페이스, 그 들간의 상호관계 등을 표현함으로써 비즈니스 관점에서 IT애 플리케이션을 시각화 한다는 점이다[2]. 서비스 지향적 설계와 컴포넌트 기반 설계 범위의 차이는‘서비스’에 있다. 즉, SOA 는 비즈니스 수준의 서비스를 효율적으로 제공하기 위해 컴포 넌트를 개발하고 관리하는 것으로, 기존 애플리케이션 서비스 를 구현하는 아키텍처이다[3]. SOA에서는 서비스 계층을 따 로 구성한다는 점에서 차이가 있다. 비즈니스 계층 애플리케이 션 계층 서비스 계층 으로 분류한다. 서비스 계층은 애플리케 이션 계층과 비즈니스 계층을 연결한다. 또한 SOA에서는 재 사용성을 통해 필요한 경우에만 새로운 애플리케이션을 생성 한다. 따라서 유지보수 비용을 줄일 수 있다[4].
애플리케이션을 강결합이 아닌 약결합으로 통합하는 데 있 어서 웹서비스 방식을 사용한다[5]. 그러나 웹서비스는 단순히
대한의학영상정보학회지 2010;16:14-17
─ 14 ─
SOA 기반 생체 신호 측정 시스템의 서비스 레이어 추상화
박 선 영1∙김 남 현2
1연세대학교 대학원 생체공학협동과정
2연세대학교 의과대학 의학공학교실
Service-layer abstraction of the Biomedical system Based Service Oriented Architecture
S. Y. Park1, N. H. Kim2
1Graduate Program in Biomedical Engineering, Yonsei University
2Department of Medical Engineering, College of Medicine, Yonsei University
= Abstract =
Currently, large efforts are spent to develop standards and architectures useful to achieve more ef- fective interoperability among medical information systems. Service-oriented design paradigm is at- tended for improving reusability, ease of integration, flexibility, development agility of software. This paper has shown an employing Service Oriented Architecture (SOA) principles in a biomedical sys- tem. In this study we discusses how the Service-layer abstraction for biomedical data. there are signif- icant benefits with respect to interoperability, reuse and modifiability.
Key words: Service Oriented Architecture, Service-Layer abstraction, biomedical data, Reuse
본 연구는 서울시 산학연 협력사업(과제번호:10608)의 지원으로 수행 되었음
통신저자: 김남현, (120-752) 서울특별시 서대문구 신촌동 134 연세대학교 의과대학 의학공학교실
Tel: 02-2228-1915, Fax: 02-392-4358 E-mail: [email protected]
서비스를 어떻게, 어디에 기술하고, 어떻게 찾을 지를 기술하 며 서비스 지향 구조의 구현 기술일 뿐이다[6]. 따라서 의료기 관 내외의 비즈니스 상호 작용을 지원하기 위해 서비스 작성과 관리를 위한 구체적인 기본 원리를 제공하고 있는 SOA와는 구별된다[7]. 서비스 지향적 서비스 레이어 추상화는 사용자의 복잡한 비즈니스 로직을 처리하며 관리와 확장성이 가능하도 록 3-Tier 기반의 시스템 아키텍처로 구성 한다. 이러한 구성 에서는 각 레이어에서의 문제가 다른 계층에 영향을 미치지 않 는다는 장점이 있다. 서비스 컴포넌트는 업무 프로세스가 연관 되어 표현된 소스코드다. 다른 서비스 구성요소와 협력하며, 서비스의 작업 흐름에 참여 메시지 교환 또는 업무 거래를 수 행하는 것이다. 물리적으로 서비스 네트워크 상에서 어느곳으 로나 배포될 수 있고 서비스의 주요한 논리와 연관되어 존재할 수 있다[4]. 의료 업계의 SOA 솔루션을 위한 시스템적 관리 요구사항 실행은 그만큼 이뤄지지 않고 있다. 의료 비즈니스 프로세스 중 의료 데이터 교환의 복잡성 때문에 요구사항을 받 아들이고 분석하는 것이 매우 어렵다. SOA는 IT 아키텍처적 스타일로 서비스 지향을 지원하고 비즈니스 프로세스를 서비 스와 결합해 비즈니스 신속성을 지원하도록 통합할 수 있다[5, 8]. 본 논문에서는 의료 정보 시스템의 일부인 생체신호 측정 시스템에 서비스 지향적 모델링을 적용하여 서비스 레이어를 추상화 하였다.
재료 및 방법
1. 생체신호 측정 시스템의 서비스 후보 추출
SOA는 여전히 컴포넌트를 사용하여 컴포넌트의 일부 또는 전부를 캡슐화 하지만 전체 모델링에서 애플리케이션 로직을
분할하는 방식과 분할된 로직의 프로세싱 로직의 위치 등 서비 스의 생성에 집중한다. 여기서 서비스는 로직의 독립된 단위로 서 존재하며 비즈니스 프로세스는 일련의 서비스들로 분할할 수도 있고 각 프로세스의 실행 부분에 책임을 부여할 수도 있 다. 여러 비즈니스 모델 문서로부터 업무 담당자와의 요구사항 등에 이르기까지 다양한 출처에서 필요한 정보를 얻을 수 있으 며, 본 논문에서는 생체 신호 측정 프로세스로 부터 그림 1의 후보 서비스를 추출하였다.
2. 서비스 레이어 추상화 모델링
각 서비스 레이어를 통한 추상화 개념으로 최신 SOA의 핵 심 특성들이 실현될 수 있다. (본질적인 상호운영성, 확장성, 의료환경 전반의 느슨한 결합, 서비스 지향 비즈니스 모델링, 조직적 기민성, 추상화 레이어) 그 중에서 가장 두드러지는 것 은 조직적 기민성의 증가이다. 또한 기업환경 전반의 느슨한 결합을 달성하기 위해서 서비스를 물리적으로 분리할 수 있는 레이어가 필요하다. 애플리케이션 로직을 나타내도록 설계한 서비스들은 별도의 애플리케이션 서비스 레이어에 구현하고, 비즈니스 로직을 나타내도록 설계한 서비스들은 별도의 비즈 니스 서비스 레이어에 속하게 한다. 또한 기민성을 높이기 위 해 사전에 정의된 워크플로우 로직에 따라 비즈니스 프로세스 를 완성 하도록 다른 서비스들을 조합할 수 있는 프로세스의 서비스 개념으로 오케스트레이션 서비스 레이어를 구축한다.
위의 모든 레이어들을 추상화 레이어로 구현하게 되면 비즈니 스와 애플리케이션, 기민성 모두를 한꺼번에 고려하여 서비스 를 구축해야만 하는 부담을 덜 수 있게 된다. 그림 2는 SOA의 일반적인 세 레이어인 애플리케이션 서비스 레이어, 비즈니스 서비스 레이어, 오케스트레이션 서비스 레이어를 보여주고 있 다[1]. 이 서비스 인터페이스 레이어는 서비스 연결이 발생하
박선영 외: SOA 기반 생체 신호 측정 시스템의 서비스 레이어 추상화
- 15 -
그림 1. 추출된 후보 서비스들 그림 2. 서비스 레이어 추상화
는 곳이고, 따라서 SOA의 특성이 가장 잘 나타나는 곳이기도 하다[4].
결 과
추출된 생체 신호 측정 시스템의 서비스 후보를 가지고 프로 세스 범위내에서 발생할 수 있는 가장 일반적인 시나리오 집합 을 식별한다. 임시 비즈니스 서비스 레이어와 애플리케이션 서 비스 레이어를 형성하는 서비스 후보들을 식별했다.
1. 애플리케이션 서비스 레이어
애플리케이션 서비스 레이어는 기술에 특화된 기능을 표현 하기 위한 토대가 된다. 애플리케이션 서비스 레이어에 존재하 는 서비스들은 애플리케이션 서비스로 재사용 기능을 제공하 는 것이 목적이며 신규 혹은 기존 애플리케이션 환경에서 데이 터를 처리하는 것과 관련이 있다.
● 특성
- 특정한 처리 상황에 알맞은 기능을 노출한다.
- 주어진 플랫폼에서 사용할 수 있는 자원들을 이 용한다.
- 솔루션에 독립적이다.
- 일반적이고 재사용이 가능하다.
- 다른 애플리케이션 서비스들과 일대일로 통합하기 위해 사 용될 수 있다.
- 종종 노출되는 인터페이스의 크기가 일관적이지 않다.
- 직접 개발한 서비스들과 서드파티 서비스들이 혼합되어 구 성된다.
그림 3은 본 논문에서 도출된 애플리케이션 서비스를 서비
스 레이어에 배치하였다.
2. 비즈니스 서비스 레이어
비즈니스 서비스 레이어는 비즈니스 서비스 로직 뿐 아니라 회사의 비즈니스 모델까지 나타낸다. 비즈니스 서비스 레이어 에 존재하는 비즈니스 서비스의 목적은 가능한 한 가장 순수한 형태로 비즈니스 로직을 표현하는 것이다. 이론적으로 비즈니 스 서비스는 비즈니스 로직을 실행하기 위해 애플리케이션 서 비스를 조합하는 컨트롤러이다(그림 4).
3. 오케스트레이션 서비스 레이어
오케스트레이션은 서비스 지향 아키텍처의 일부로 포함되어 SOA의 구성요소 중에서 프로세스 역할을 수행한다. 오케스트 레이션을 통해서 비즈니스 프로세스 모델링을 서비스 지향 모 델링 및 설계와 결합 시킬 수 있다. WS-BPEL 같은 오케스트 레이션 언어는 프로세스 서비스 모델 전반에 걸쳐 워크플로우 관리를 위한 실체적 방법을 제공하기 때문에 마스터 조합 컨트 롤러로서 비즈니스 프로세스를 서비스 레이어에 위치하게 한 다. 오케스트레이션 레이어는, 서비스가 상호작용의 세부적인 내용까지 관리할 필요가 없도록 추상화 기능을 제공한다. 이와 같이 오케스트레이션 프로세스 즉, 프로세스 서비스는 비즈니 스 프로세스를 사용해 각 서비스의 호출 순서와 에러처리 등을 제어 한다. 또한 프로세스 단계별로 각각을 대표하는 비즈니스 서비스로 분해 된다. 이를 통하여 재사용성을 높여준다(그림 5). 오케스트레이션 서비스 레이어의 오케스트레이션은 워크 플로우 로직을 추상화하여 비즈니스 서비스나 애플리케이션 서비스에 영향을 미치지 않으면서 비즈니스 룰을 변경할 수 있 기 때문에 기민성이 높아진다. 이런 점이 오케스트레이션 서비 스의 가장 중요한 특성이고 비즈니스 프로세스 로직이 다양한
대한의학영상정보학회지 2010;16:14-17
- 16 -
그림 3. 애플리케이션 서비스 레이어 그림 4. 비즈니스 서비스 레이어
박선영 외: SOA 기반 생체 신호 측정 시스템의 서비스 레이어 추상화
- 17 - 요구 사항 변경을 받아들일 수 있게 한다. 변경 요인에는 사용 자의 개입, 병원(또는 기업)의 정책변화나 비즈니스 규칙, 그 리고 예측할 수 없는 요구 사항들이 포함된다.
재사용 가능한 서비스를 구축하기 위한 핵심은 특정 프로세 스나 솔루션 환경에 국한되지 않은 서비스 레이어를 도입 하는 것이다. 서비스들이 다른 프로세스와 솔루션을 연결하는 서비 스 레이어의 부분으로 사용되게 되면 서비스들은 프로세스와 솔루션에 독립적이다. 이렇게 얽매이지 않은 독립적인 서비스 에 투자를 많이 한 기업은 재사용성을 더 쉽게 달성할 수 있다.
결 론
본 논문에서 제안한 생체 신호 측정 시스템의 서비스 레이어 추상화는 SOA 기반의 설계를 통해 상호 운용성과 확장성이 가능한 개방형 구조를 지향하였다. 생체 신호 측정 시스템에 SOA 개념을 도입함으로써 상호 독립적인 구조로 기능이 구성 되어 신규 기능 개발시 재사용을 극대화할 수 있었으며, 생체
신호 측정 시스템의 주요 기능인 데이터 프로세싱 부분을 컴포 넌트로 모듈화 함으로써 DB접근 방식, 에러처리 등에 대한 일 관된 방식의 지원이 가능하도록 하였다. 이처럼 기능의 독립성 을 보장함으로써 각종 기능변경과 데이터 수집기관의 확대, 타 정보 시스템과의 연계 등 정보시스템이 일반적으로 가지고 있 는 시스템의 수정이나 변경 문제에 대한 유연성이 확대되었다.
과거의 컴포넌트는 동일 시스템 내에서 동일한 도구를 사용해 야만 재활용이 가능하던 것에 비해 SOA는 의료 정보 시스템 구축에 있어서 개발과 활용 전반에 걸쳐 재활용과 일관성, 유 연성이 확대될 수 있도록 함으로써 요구사항에 만족스럽게 대 처할 수 있게 한다. 또한 SOA를 기반으로 의료기관 정보시스 템의 신속한 개발과 효과적인 유지보수를 지원할 수 있다.
참 고 문 헌
1.최미숙, 이서정. SOA에서 서비스 분류 기준에 따른 매칭기법 설계, 디지털콘텐츠학회 논문지 제8권 제2호, 2007.6.
2.이성규, 김태석. SOA기반의 워크플로우를 응용한 웹서비스 설 계 및 구현. 멀티미디어학회 논문지, 제12권 제1호, 2009.1.
3.한국전사원. 공공부문 서비스지향 아키텍처 도입전략, 2004.
4.토마스 얼. SOA : 서비스 지향 아키텍처개념에 서 설계, 구현까 지, 에이콘, 2008.
5. Chunhua Weng, Betty A. Levine, Seong K. Mun. Software Architecture and Engineering for Patient Records: Current and Future, Military Medicine, vol.174,5:27, 2009.
6.이경하, 이규철. 웹 서비스의 표준화 동향과 발전 방향, 한국정 보과학회 데이터베이스 연구회지, 제19권 제1호, pp80-87, 2003.3
7. Sahay R, Fox R, Hauswirth M. Ontologising interaction behav- ior for service-oriented enterpr ise healthcare integration, Proceedings of the 6th IEEE European Conference on Web Services, ECOWS’08, art.no. 4711660, pp.165 -174, 2008.
8. EHR 핵심공통기술 연구개발 사업단. 제4차 심포지엄 : 인증체 계, PHR 현황 및 EHR아키텍처 논리설계, 2009.
대한의학영상정보학회지 2010;16:14-17
=초 록=
최근 IT 분야에 서비스 지향 아키텍처(SOA)가 화두가 되고 있다. 이는 IT 시스템의 복잡성, 중복개발, 상호 운용성 미흡, 시스템 통합의 어려움 등이 SOA가 등장 하게 된 주요 배경으로 작용되었다. 우리나라를 비롯한 여 러 나라에서 의료 IT 부문에 SOA 도입을 통해 업무 프로세스 개발시 부분적인 프로세스를 처리하는 다수 애플 리케이션을 다시 통합하고 재사용성을 높이고자 시도하고 있다. 본 논문에서는 생체신호 측정 시스템 전반에 걸 쳐 SOA를 적용하여 서비스를 도출하고 이를 서비스 레이어 추상화 하여 의료 IT의 정보화 효과를 극대화 시키 고자 한다.
그림 5. 오케스트레이션 서비스 레이어