3.3.1 임베디드 서비스지향 아키텍쳐 설계
(a) (b)
<그림 3-5> 임베디드 서비스지향 아키텍쳐(a)와 MVC 아키텍쳐(b)
<Fig.3-5> eSOA(a)andMVC architecture(b)
<그림 3-6> 임베디드 서비스지향 아키텍쳐의 내부순회설계
<Fig.3-6> InternaltravelingdesignofeSOA
<그림 3-5>에서 OSGi기반의 임베디드 서비스지향 아키텍쳐(a)와 MVC아키 텍쳐(b)를 합성하여 <그림 3-6>과 같이 MVC 적용 임베디드 서비스지향 아키 텍쳐(eSOA:embedded Service Oriented Architecture)의 내부순회 헵타드경로 (7-1-4-2-8-5-7)를 설계하였다.설계된 경로에 따라 서비스모드를 설정하고
<그림 3-3>의 서비스지향 아키텍쳐 툴킷 기본 배치도와 <그림 3-4>의 품질속 성을 확인하여 <표 3-6>과 같이 임베디드 서비스지향 아키텍쳐의 서비스모드, 3가지의 품질속성 및 4종류의 이클립스 플러그인 프로젝트와 <표 3-7>과 같이 eRCP(embeddedRichClientPlatform)를 포함한 상세한 계층별 이클립스 프로 젝트 구성표를 정리하였으며 <그림 3-7>과 같이 임베디드 이클립스 프로젝트 스크린샷으로 해당 이클립스 사이트에서 확인하였다.
여기서 MVC 적용 임베디드 서비스지향 아키텍쳐의 내부순회 헵타드경로
<그림 3-7> 임베디드 서비스지향 아키텍쳐 이클립스 프로젝트
<Fig3-7> EclipseprojectofeSOA
(7-1-4-2-8-5-7)를 살펴보면 “7-1-4”의 경로는 사용자의 요청이 View에서 입 력되어 Controller에게 전달되어 해당 로직이 발생하며 Model의 수정에 이르는 명시적인 헵타드 경로이다.정상적으로 문제가 처리되어 Model의 Entity에서 쿼리결과값을 “4-2-8-5”의 암묵적인 헵타드 경로를 통하여 사용자의 요청에 대 한 변화를 사용자의 Entity Listener에게 공지하면,감지된 사용자는 역헵타드 경로를 통하여 “5-8-2-4”의 암묵적인 헵타드 경로를 통하여 해당 값을 읽을 수 있게 된다.이러한 이중적인 서비스관리정책이 필요한 이유는 서비스의 요청은 명시적으로 받아들이지만,요청 결과값에 대한 처리는 백업․복구와 보안상의 필요에 따라 가용성의 품질속성이 요구되며,유지보수성의 필요에 따라 성능의
<표 3-7> 임베디드 서비스지향 아키텍쳐의 이클립스 프로젝트
<Table3-7> EclipseProjectofeSOA
Layer EclipseProject HomepageURL View eclipseeRCP eclipse.org/ercp
Controller UPnP upnp.org,prosyst.com
OSGi osgi.org,prosyst.com,eclipse.org/equinox Model
DSDP eclispe.org/dsdp MTJ eclispe.org/dsdp/mtj TM eclispe.org/dsdp/tm
J2ME CDC,CLDC java.sun.com/products/sjwtoolkit/
<표 3-6> 임베디드 서비스지향 아키텍쳐의 서비스모드,품질속성
<Table3-6> ServiceModeandQA ofeSOA Ennead
(Heptad)
MVC Mode QualityAttribute ServiceMode Eclipseplug-inproject 7→1 View→Controller 성능(서비스 발견)
UserInput 프로시스트 UPnP 1→4 Controller→Model 성능(서비스 조립)
ModifyModel 이클립스 DSDP 4→5 Model→View 가용성(서비스 전달)
NotifyChanges 프로시스트 OSGi 5→4 View→Model 유연성(서비스 가상화)
ReadModel 이클립스 eRCP
품질속성이 요구되고,요청결과값의 조회에 대해서는 변경용이성의 필요에 따 라 유연성의 품질속성이 요구되므로 암묵적인 헵타드 경로를 통하여 처리되는 메카니즘을 정하였다.또한 <표 3-8>과 같이 해당서비스의 생산적인 서비스 조립을 위하여 이클립스 기반에서 필요한 임베디드 프로젝트를 제안된 임베디 드 서비스지향 아키텍쳐와 프로시스트 번들을 관련함으로써 가용성과 유연성을 한층 더 확보하여 서비스 사용자와 서비스 제공자의 선택의 폭을 넓혔다.
<그림 3-8> 임베디드 이클립스 프로젝트의 스크린샷
<Fig.3-8> Screenshotofembeddedeclipseproject
<표 3-8> z256프로토콜기반 서비스지향 아키텍쳐의 프로시스트 jar번들
<Table3-8> ProsystjarbundleofSOA basedz256protocol Layer ProsystjarBundle Serveletservice URL View z256http.jar *.class
PDASocketHander.jar *.class Controller commw32.jar
-connector.jar -Model DLz256.jar
-z256.jar
-3.3.2 엔터프라이즈 서비스지향 아키텍쳐 설계 (1)5W1H에 따른 RNS-PAC-MVC 아키텍쳐
6하원칙과 RFM(Recency,Frequency,Monetory)에 따라 분류된 역할기반 RNS와 PAC 에이전트 아키텍쳐는 엔터프라이즈 아키텍쳐의 구체적인 사상과 절차를 제공한다(단,여기서 Role*은 자원관리의 개념에 한하여 What으로 매핑함).
단,트리아드는 다음과 같이 재구성할 수 있다.
9.WWWhhheeerrreee,,,WWWhhheeennn///HHHooowww(((필필필요요요충충충분분분조조조건건건,,,최최최적적적․․․관관관리리리)))(((매매매개개개변변변수수수)))
6.WWWhhhooo///WWWhhhyyy(((충충충분분분조조조건건건,,,최최최소소소․․․사사사용용용))) 333...WWWhhhaaattt(((필필필요요요조조조건건건,,,최최최대대대․․․소소소유유유))) (
(
(독독독립립립변변변수수수))) (((종종종속속속변변변수수수)))
<그림 3-9> 5W1H을 이용한 RNS-PAC-MVC 아키텍쳐
<Fig.3-9> RNS-PAC-MVC Architectureusing5W1H
(2)수직구조 엔터프라이즈 서비스지향 아키텍쳐
본 논문 2장 2.4.1절의 <그림 2-19>,<그림 2-20>에서 제시된 엔터프라이즈 서비스지향 아키텍쳐의 이론적인 모형을 근거로 리소스계층을 서비스계층과 통 합하여 <그림 3-10>과 같이 수직구조의 엔터프라이즈 서비스지향 아키텍쳐를 제안한다.이는 기존 서비스지향 아키텍쳐의 설계사상에서 MVC아키텍쳐의 개 념을 합성함으로써 수평적,수직적인 통찰력을 제공해준다[24,27,38,48,49].
(3)엔터프라이즈 서비스지향 아키텍쳐 이클립스 프로젝트
<그림 3-11>과 같이 MVC 기반의 엔터프라이즈 서비스지향 아키텍쳐의 이 클립스 프로젝트를 설계하였다.설계된 경로에 따라 서비스모드를 설정하고
<그림 3-3>의 서비스지향 아키텍쳐 Toolkit과 <그림 3-4>의 품질속성을 확인 하여 <표 3-9>과 같이 엔터프라이즈 서비스지향 아키텍쳐의 서비스모드,5가 지의 품질속성 및 4종류의 이클립스 플러그인 프로젝트와 <표 3-10>과 같이
<그림 3-10> 제안된 수직구조 엔터프라이즈 서비스지향 아키텍쳐
<Fig.3-10> ProposedVerticalenterpriseSOA
립스 프로젝트 구성표를 정리하였으며 <그림 3-12>와 같이 엔터프라이즈 이클 립스 프로젝트 스크린샷으로 해당사이트에서 확인하였다
여기서 MVC 적용 엔터프라이즈 서비스지향 아키텍쳐의 내부순회 트리아드 경로(6-9-3)의 주위를 맵도는 헵타드 경로(7-1-4-2-8-5-7)를 살펴보면
“7-1-4”의 경로는 사용자의 요청이 View에서 입력되어 Controller에게 전달되 며 해당 로직이 발생하여 Model의 수정에 이르는 명시적인 헵타드 경로이다.
정상적으로 문제가 처리되어 Model의 Entity에서 쿼리결과값을 “4-2-8-5”의 암묵적인 헵타드 경로를 통하여 사용자의 요청에 대한 변화를 사용자의 Entity Listener에게 공지하면,감지된 사용자는 역헵타드 경로를 통하여 “5-8-2-4”의 암묵적인 경로를 통하여 해당값을 읽을 수 있게 된다.이러한 이중적인 서비스 관리정책이 필요한 이유는 서비스의 요청은 명시적으로 받아들이지만,요청결 과값에 대한 처리는 백업․복구와 보안상의 필요에 따라 가용성의 품질속성이 요구되며,유지보수성의 필요에 따라 성능의 품질속성이 요구되고,요청결과값 의 조회에 대해서는 변경용이성의 필요에 따라 유연성의 품질속성이 요구되므
<그림 3-11> 엔터프라이즈 서비스지향 아키텍쳐의 이클립스 프로젝트
<Fig.3-11> EclipseprojectofenterpriseSOA
로 암묵적인 헵타드 경로를 통하여 처리되는 메카니즘을 정하였다.해당서비스 의 생산적인 서비스 조립을 위하여 <표 3-10>과 같이 엔터프라이즈 이클립스 프로젝트에서 제안된 서비스지향 아키텍쳐와 관련함으로써 가용성과 유연성을 한층 더 확보하여 서비스 사용자와 서비스 제공자의 선택의 폭을 넓혔다.
<표 3-10> 엔터프라이즈 서비스지향 아키텍쳐의 이클립스 프로젝트
<Table3-10> EclipseprojectofenterpriseSOA
Layer EclipseProject HomepageURL
View FlexCairngorm labs.adobe.com/wiki/index.php/cairngorm eclipseRCP,BIRT eclipse.org/rcp,eclipse.org/birt
Controller UDDI uddi.org
OSGi osgi.org,prosyst.com,eclipse.org/equinox
Model
TPTP eclispe.org/tptp
WTP eclispe.org/webtools,springframework.org DTP eclispe.org/datatools,hibernate.org
STP eclispe.org/stp,
polaris.ing.unimo.it/MOON/BRAIN JBossESB labs.jboss.com/portal/jbossesb J2EE java.sun.com/javaee
<표 3-9> 엔터프라이즈 서비스지향 아키텍쳐의 서비스모드,품질속성
<Table3-9> ServiceModeandQA ofenterpriseSOA Ennead
(Heptad)
MVC Mode QualityAttribute ServiceMode Eclipseplug-inproject 7→1 View→Controller 성능(서비스 발견)
Discovery& Select::
UserInput UDDI
1→4 Controller→Model 성능(서비스 조립) Publish::ModifyModel 이클립스 STP 4→5 Model→View 가용성(서비스 전달)
Bind::NotifyChanges 프로시스트 OSGi 5→4 View→Model 유연성(서비스 가상화 :
변경용이성,상호운영성,재사용성) Invoke::ReadModel FlexCairngorm
(4)이클립스 OHF 설계
유비쿼터스 컴퓨팅 기술의 주요 적용 도메인으로 U헬스는 매력적인 신사업 기회로 인식되고 있으며 IT 인프라 및 유비쿼터스 관련 기술의 빠른 보급 환 경,아파트 중심의 거주 환경,고령화 시대를 맞는 우리나라에서는 U헬스를 통 한 서비스 사용자 삶의 질 향상 욕구와 서비스 제공자의 새로운 사업의 이해관 계가 있다.실제 서비스 사용자의 요구에 부응하는 U헬스를 위하여 면밀한 서 비스 사용자 요구 분석과 의료 서비스 구성원의 이해관계 매듭을 풀지 않고서 는 성공할 수 없는데 U헬스를 통한 서비스 사용자(환자)의 이익 대비 진료 서 비스 공급자인 의료인의 이익이 선결되어야 하며,의료인도 U헬스의 기대 효과 를 인지하고 스스로 준비해야 한다.따라서 스마트홈 다중 컨텍스트관리를 통 하여 U헬스분야에서 HL7과 IHE 분석을 한 후 이클립스기반의 OHF를 제안된 에니어그램을 이용한 서비스지향 아키텍쳐에 플러그인함으로써 새로운 사업 모
<그림 3-12> 엔터프라이즈 이클립스 프로젝트의 스크린샷
<Fig3-12> Screenshotofenterpriseeclipseproject
형 및 진료 모형을 제시할 수 있다.
(1)이용자 측 :다양한 의료 정보 접근 용이,웰빙 욕구 충족 (2)제약 및 제조사 측 :업무 프로세스 단축,거래 투명성 제고
(3)의료기관 측 :신속한 진료 서비스 체계 구축,진료 서비스 향상,진료 수 입 확대
(4)통신사업자 측 :신규 사업 캐시카우 발굴,의료 시장 진출 초석 마련 (5)정부 측 :의료비 지출 절감,의료 서비스 국제 경쟁력 강화
<표 3-11> 이클립스 OHF 프로젝트의 MVC
<Table3-11> MVC ofeclipseOHF project
Layer Name Contents
View LAMP Linux,Apache,MySQL,PHP EMR Application OpenEMR(ElectricHeathRecord)
Controller
ApplicationServer Webshpere WebContainer Tomcat OSGiServer Servlet OSGiRuntime EclipseRCP Model Interoperability
Stack XDS Repository,XDS Registry, PatientIdentifierCross-Referencing
<그림 3-13> 이클립스 OHF 프로젝트의 스크린샷
<Fig.3-13> ScreenshotofeclipseOHF project
<그림 3-14> 이클립스 OHF 아키텍쳐
<Fig.3-14> eclipseOHF architecture