• 검색 결과가 없습니다.

KNLTER 데이터 관리 시스템 설계 기술보고서

N/A
N/A
Protected

Academic year: 2021

Share "KNLTER 데이터 관리 시스템 설계 기술보고서"

Copied!
165
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

KNLTER 데이터 관리 시스템

설계 기술 보고서

(2)
(3)

Copyright ⓒ KISTI -3- Ver. 1.0

목차

1

개요 ... 9

1.1

Overview ... 9

2 체계적인 소프트웨어 개발 ... 10

3 시스템 구조 및 설계 ... 14

3.1 개요 ... 14

3.2 소프트웨어적 구조 및 설계 ... 16

3.3 하드웨어적 구조 및 설계 ... 19

4 구성 소프트웨어 ... 20

4.1 Overview ... 20

4.2 Drupal... 21

4.3 apache solr ... 22

4.4 CSV Validator ... 23

4.5 AMCHARTS ... 24

4.6 Open Layer ... 25

4.7 RED5 Media Server ... 25

4.8 Metacat Server ... 26

5 기능 상세설계와 구현 ... 27

5.1 사용자 정의 ... 27

5.2 Usecase(요구사항 분석) ... 30

5.2.1 Weather Info. Collection and Mgmt. ... 38

5.2.2 Email Notification Service ... 39

5.2.3 Data Curation ... 41

(4)

Copyright ⓒ KISTI -4- Ver. 1.0

5.2.5 Measurement Schema Mgmt. ... 43

5.2.6 Dataset Search ... 45

5.2.7 System Mgmt. ... 46

5.2.8 Site Schema Definition ... 47

5.2.9 Data Validation ... 49

5.2.10 Repository Mgmt. ... 50

5.2.11 Metacat Mgmt. ... 52

5.2.12 Org. Mgmt. ... 53

5.2.13 Dataset Publication ... 55

5.2.14 DOI Mgmt. ... 56

5.2.15 Controlled Vocabulary ... 58

5.2.16 Project Mgmt. ... 59

5.2.17 Visualization ... 61

5.2.18 Dataset Schema Mgmt. ... 62

5.2.19 Info. Security Mgmt. ... 64

5.2.20 People Mgmt. ... 65

5.2.21 User Mgmt... 67

5.3 Sequence Diagram(설계 및 구현) ... 69

5.3.1 Weather Info. Collection and Mgmt. ... 69

5.3.2 Email Notifiacation Service ... 71

(5)

Copyright ⓒ KISTI -5- Ver. 1.0

5.3.11 Metacat Mgmt. ... 91

5.3.12 Org.Mgmt. ... 94

5.3.13 Dataset Publication ... 96

5.3.14 DOI Mgmt. ... 100

5.3.15 Controlled Vocabulary ... 102

5.3.16 Project Mgmt. ... 104

5.3.17 Visualization ... 106

5.3.18 Dataset Schema Mgmt. ... 108

5.3.19 Info. Security Mgmt. ... 110

5.3.20 People Mgmt. ... 112

5.3.21 User Mgmt... 114

5.4 Class Diagram (설계 및 구현) ... 116

5.4.1 Controllers ... 117

5.4.2 Management ... 131

5.4.3 Entity ... 141

5.5 ERD ... 144

5.5.1 개념적 ERD ... 144

5.5.2 ERD Overview (Drupal 코어를 중심으로) ... 152

(6)

Copyright ⓒ KISTI -6- Ver. 1.0

그림목차

Figure 2-1 본 프로젝트에 적용한 애자일 개발 방법론 ... 11

Figure 2-2 Mattermost 를 이용한 문서관리 및 실시간 커뮤니케이션 ... 12

Figure 2-3 Google Apps 를 이용한 문서의 리비전 관리... 12

Figure 2-4 Trac 을 통한 이슈관리 및 커뮤니케이션 ... 13

Figure 2-5 Github 를 이용한 소스코드 형상관리 ... 13

Figure 3-1 시스템 구조 ... 14

Figure 3-2 소프트웨어 구조 ... 17

Figure 3-2 드루팔의 Theme Engine 구조 ... 18

Figure 5-1 사용자 정의 ... 27

Figure 5-2 Usecase 1 레벨 ... 34

Figure 5-3 Usecase 2 레벨 ... 36

Figure 5-4 Usecase (컴포넌트 : Weather Info. Collection and Mgmt.) ... 38

Figure 5-5 Usecase (컴포넌트 : Email Notification Service) ... 39

Figure 5-6 Usecase (컴포넌트 : Data Curation ) ... 41

Figure 5-7 Usecase(컴포넌트 : License Mgmt.) ... 42

Figure 5-8 Usecase (컴포넌트 : Measurement Schema Mgmt.) ... 43

Figure 5-9 Usecase (컴포넌트 : Dataset Search) ... 45

Figure 5-10 Usecase (컴포넌트 : System Mgmt.) ... 46

Figure 5-11 Usecase (컴포넌트 : Site Schema Definition) ... 47

Figure 5-12 Usecase (컴포넌트 : Data Validation) ... 49

Figure 5-13 Usecase (컴포넌트 : Repository Mgmt.) ... 50

Figure 5-14 Usecase (컴포넌트 : Metacat Mgmt.) ... 52

Figure 5-15 Usecase (컴포넌트 : Org. Mgmt.) ... 53

Figure 5-16 Usecase (컴포넌트 : Dataset Publication) ... 55

Figure 5-17 Usecase (컴포넌트 : DOI Mgmt.) ... 56

Figure 5-18 Usecase (컴포넌트 : Controlled Vocabulary) ... 58

Figure 5-19 Usecase (컴포넌트 : Project Mgmt.) ... 59

(7)

Copyright ⓒ KISTI -7- Ver. 1.0

Figure 5-21 Usecase (컴포넌트 : Dataset Schema Mgmt.) ... 62

Figure 5-22 Usecase (컴포넌트 : Info. Security Mgmt.) ... 64

Figure 5-23 Usecase (컴포넌트 : People Mgmt.) ... 65

Figure 5-24 Usecase (컴포넌트 : User Mgmt.) ... 67

Figure 5-25 Sequence Diagram : 1. Weather Info. Collection and Mgmt. ... 69

Figure 5-26 Sequence Diagram : 2. Email Notifiacation Service ... 71

Figure 5-27 시퀀스다이어그램 : 3.Data Curation ... 74

Figure 5-28 Sequence Diagram : 4.License Mgmt. ... 77

Figure 5-29 Sequence Diagram : 5. Measurement Schema Mgmt. ... 79

Figure 5-30 Sequence Diagram : 6. Data Search ... 82

Figure 5-31 Sequence Diagram : 7.System Mgmt. ... 84

Figure 5-32 Sequence Diagram : 8. Site Schema Mgmt. ... 85

Figure 5-33 Sequence Diagram : 9. Data Validation ... 87

Figure 5-34 Sequence Diagram : 10. Repository Mgmt. ... 89

Figure 5-35 Sequence Diagram : 11. Metacat Mgmt. ... 92

Figure 5-36 Sequence Diagram : 12. Org.Mgmt. ... 94

Figure 5-37 Sequence Diagram : 13. Dataset Publication ... 97

Figure 5-38 Sequence Diagram : 14. DOI Mgmt. ... 100

Figure 5-39 Sequence Diagram : 15. Controlled Vocabulary ... 102

Figure 5-40 Sequence Diagram : 16. Project Mgmt. ... 104

Figure 5-41 Sequence Diagram : 17. Visualization ... 106

Figure 5-42 Sequence Diagram : 18. Dataset Schema Mgmt. ... 108

Figure 5-43 Sequence Diagram : 19. Info. Security Mgmt. ... 110

Figure 5-44 Sequence Diagram : 20. People Mgmt. ... 112

Figure 5-45 Sequence Diagram : 21. User Mgmt. ... 115

(8)

Copyright ⓒ KISTI -8- Ver. 1.0

표목차

(9)

Copyright ⓒ KISTI -9- Ver. 1.0

1 개요

1.1 Overview

이 문서는 생태관측 시범웹포털 구축 프로젝트와 관련해서 상세한 설계서를 설명할하려는데 주요 목적이 있다. 본 프로젝트의 초기 요구사항에 따라서 소프트웨어, 기능, 워크플로우가 어떻게 구성되어 있는 지 설명한다. 본 문서의 주요 내용 구성은 아래와 같다:  시스템 구조 및 설계 (하드웨어, 소프트웨어)  구성소프트웨어의 설명과 역할  기능상세 설계 및 구현 ① 요구 분석 : Usecase, 사용자 정의도, Workflow ② 설계 / 구현: Class, Sequence, ERD

(10)
(11)

Copyright ⓒ KISTI -11- Ver. 1.0

요구를 더하고 수정하여 하나의 커다란 소프트웨어를 개발해 나가는 adaptive style 이라고 할 수 있다.

Figure 2-1 본 프로젝트에 적용한 애자일 개발 방법론

(12)

Copyright ⓒ KISTI -12- Ver. 1.0

Figure 2-2 Mattermost 를 이용한 문서관리 및 실시간 커뮤니케이션

보다 빠른 커뮤니케이션과 즉각적인 자료 검색 및 열람을 위해서 Mattermost 를 도입하여 커뮤케이션 도구로 이용했다.

Figure 2-3 Google Apps 를 이용한 문서의 리비전 관리

(13)
(14)

Copyright ⓒ KISTI -14- Ver. 1.0

3 시스템 구조 및 설계

3.1 개요

(15)

Copyright ⓒ KISTI -15- Ver. 1.0

구분 세부구분 설명

Drupal Based K-Ecohub Platform Application

K-Ecohub Modules 본 K-Ecohub 플랫폼은 Drupal 을 CMF* 로개발 되었음. 따라서 Drupal Commons Library 와 API 를 기반으로 K-Ecohub Modules 를 개발하여 기능을 구현하였음.

Drupal Commons Library and API K-Ecohub 데이터베이스 관계형 데이터 베이스 (플랫폼 시스템 DB) Drupal CMF 는 주로 Mysql 와 같은 관계형 데이터베이스를 기반으로 이용하게끔 설계 되었으나. 본 플랫폼의 주요 과업인 데이터의 영구보존 및 확장성을 지원하기 위해 Dataset 과 Data 와 같은 K-Ecohub Data DB 는 파일형 데이터 베이스에 저장하도록 함. 파일형 데이터 베이스 (K-Ecohub Data DB) 내부에 위치한 앱이나 서버

Apache Solr Server 웹 콘텐츠에 대해 관리하고

처리하는데 전문적인 외부 소프트웨어가 필요한 경우에는 외부의 앱이나 서버를 이용하였음. 검색과 국제 표준 메타데이터 생성을 위해 이용함. Metacat Server 외부에 위치한 앱이나 서버 Weather Information Service Provider 웹 콘텐츠에 대해 관리하고 처리하는데 전문적인 외부 소프트웨어가 필요한 경우에는 외부의 앱이나 서버를 이용하였음. 날씨정보처리, 안정적인 이메일 발송, 대용량 데이터 외부 보관을 위해서 이용함.

Email Service Provider

(16)

Copyright ⓒ KISTI -16- Ver. 1.0

*CMF(Content Management Framework): CMF 는 MVC(Models, Views, Controllers) 아키텍쳐 기반으로 주로 웹 콘텐츠를 관리하기 위한 소프트웨어 및 컴포넌트의 개발이 용이하도록 설계된 시스템(개발 프레임워크)임. 유사한 것으로 CakePHP, Alfresco, Sharepoint , Liferay 등이 있음.

3.2 소프트웨어적 구조 및 설계

본 플랫폼의 소프트웨어적 구조(Software Architecture)를 살펴 보면 다음그림과 같다.

(17)

Copyright ⓒ KISTI -17- Ver. 1.0

Figure 3-2 소프트웨어 구조

(18)

Copyright ⓒ KISTI -18- Ver. 1.0

Figure 3-3 드루팔의 Theme Engine 구조

위 그림과 같이 드루팔의 Theme 은 Block Region 과 Styles(CSS 마크업)으로 크게 나눌 수 있다. Block Region 은 html>page>region>block,node>comment 와 같이 계층화되어 있는 구조로 세분화 할 수 있다. Business Layer(Controller)에 의해서 연산될 데이터를 Block Region 에서 렌더링 하여 사용하게 된다.

(19)

Copyright ⓒ KISTI -19- Ver. 1.0

(자주쓰는 Module 은 일종의 투표에 의해서 선정된다.) K-Ecohub Modules 도 결국에는 Drupal API 를 이용하여 개발하는데 Module 끼리 코드를 재사용할 수 있는 이름 규칙에 의한 hook 함수를 이용할 수 있다. Drupal API 는 절차적 관점에서 진행되고 있는 모든 프로세스를 중간에 개발자가 kidnapping(혹은 hook)할 수 있도록 제공해주기 때문에 다양한 방법과 비즈니스모델을 적용할 수 있다. Module 의 결과물 중에 Present Layer 에 보낼 것들은 Menu(혹은 URL)와

Block 을 통해 출력할 수 있다. 그리고 Permission 은 현재 사용자의 콘택스트 정보(브라우저에서 얻을 수 있는 정보나 드루팔내에 user 정보)와 각 menu 와 block 의 permission 정보를 비교하여 최종적으로 데이터를 정말 출력할 것인지 말것인지 결정해준다.

(Present Layer 에서 Permission 에 관계없이 데이터를 출력하는 것은 꼭 필요한 경우가 아니면 하지 않는게 좋다)

(20)

Copyright ⓒ KISTI -20- Ver. 1.0

- 데이터베이스: 현재는 동일한 서버에 애플리케이션과 데이터베이스가 설치되어 있다. 데이터베이스를 분리하여 서버를 구성 할 수있고, 데이터베이스 2 중화 시 MariaDB 와 MongoDB 는 Active-Active 다중화 구성을 할 수 있다.

- 파일형 데이터 베이스 : 본 플랫폼의 주요 과업인 데이터의 영구보존 및 확장성을 지원하기 위해 Dataset 과 Data 와 같은 K-Ecohub Data DB 는 MongoDB(파일형 데이터 베이스)에 저장하도록 했다.

- 캐시서버(일반적으로 웹서버): 특히 비회원이 본 플랫폼에 많이 접근할 경우 캐시서버는 가장 효과적으로 사용될 수 있다. 리버스 프록시(Reverse proxy) 서버를 구성해서 Drupal 애플리케이션과 별도로 비회원일 경우에는 캐시 서버에서 모두 처리 할 수 있다.

- 기타 어플리케이션: 본 플랫폼은 apache solr(Apache Solr)를 소프트웨어 구성요소로 포함하고 있다. 현재 동일한 서버에 Drupal 과 apache solr 가 설치 및 구동되어 있는데 apache solr 를 별도 서버로 구성할 수 있다.

4 구성 소프트웨어

4.1 Overview

소프트웨어명 연관 기능 기능 및 역할

Drupal

apache solr, CSV Validator, AMCHARTS, Open

Layer ,MetaCat Server,

본 플랫폼 전반적으로 데이터 저장,처리,출력

apache solr Drupal(검색 API)

Faceted 검색을 위해서 Drupal 검색 API 를 통해 Index 작업을 대신 수행하고 저장,처리,출력을 담당한다. CSV Validator Drupal(CSV 검증모듈) CSV 파일에 대해 Drupal 인터페이스를 통해 관리자가 Rule 을 저장해놓으면 이를 참조하여 CSV 파일을 검증한다. AMCHARTS Drupal(데이터 Visualization) Drupal 에서 저장 및 처리된 데이터를

(21)

Copyright ⓒ KISTI -21- Ver. 1.0 기능을 담당한다. 오픈 레이어 Drupal(맵 연동 Visualization) Drupal 에서 저장 및 처리된 경도와 위도 정보를 이용하여 화면에 보여주는 기능을 담당한다. RED5 Media Server Drupal(영상재생) 본 플랫폼에서 제공하는 영상

데이터를 스트리밍 해주는 서버.

Metacat Metacat Server 메타데이터와 데이터를 관리해주는

서버

4.2 Drupal

- 소프트웨어명: Drupal - 설치된버전: 7.4 - 커스텀 모듈 이나 파일 : 이름 구분 기능 및 역할 Data_self _validation 모듈 validation rule 구축 및

self validation user UI 를 제공한다. Echohub_config

모듈 K-Ecohub 에서 전역적으로

사용해야하는 설정값이나 함수의 모음.

Ko_eml 모듈 eml 생성 및 페이지를 제공한다.

Time_series

(22)

Copyright ⓒ KISTI -22- Ver. 1.0

않는 파일위젯에 대한 부분을 보완하는 모듈

Species_graph

모듈 Zoomable Circle Package 를 이용해 종에 대한 분류를 가시화 하는 모듈 Time_series_compare

모듈 메뉴 Summary Data Comparison 의 UI 및 Chart 를 제공한다. Data_count 모듈 사이트에 축적된 데이터셋 등 주요 데이터에 대한 개수를 카운팅 하는 모듈 Ko_dataset_access 모듈

ko_dataset 컨텐츠의 view, edit, delete 에 관련된 User Permission 을 제어한다. Taxonomytreefilter 모듈 키워드등 관계가 복잡한 태그를 사용자가 선택하기 편하도록 트리형태의 위젯을 제공 하는 모듈 Time_sereies_node 모듈 ko_dataset 에 데이터가 임포트되었을 시 각 컨텐츠의 데이터와 관련된 Chart 를 제공한다.

Echohub (theme) 테마 K-Ecohub 를 위한 사용자 전용 테마

Echohub_admin(Theme) 테마 K-Ecohub 를 위한 관리자 전용 테마

<솔루션 명세와 기타 참고 자료>

- 라이선스 정보 : GNU(General Public License) 2 - 관련 참고 자료 : https://www.drupal.org/

4.3 apache solr

(23)

Copyright ⓒ KISTI -23- Ver. 1.0

성능과 안정성 측면에서 검증된 솔루션임. 아파치 루씬은 자바 기반의 텍스트 검색엔진이고 솔라는 다른 애플리케이션들이 루씬을 이용할 수 있도록 하는 API 를 제공하는 역할을 함.

본 플랫폼에서는 Dataset Search 기능을 구현하는데 있어서 사용되었음.

1) 인덱싱(Indexing) : Drupal 의 Search API 를 이용해 Drupal 데이터베이스에 저장되어 있는 Dataset 클래스를 필드(field)단위에서 쪼개어 솔라를 통해 루씬에 저장 함.

2) 검색 쿼리 (Query) : Drupal 의 Search Views API 를 이용해서 사용자가 몇가지 인자(Conditional Variable)을 질의 하면 솔라의 Search Interface 를 통해 결과값을 받아와서 Drupal 화면에 보여줌. <솔루션 명세와 기타 참고 자료> - 소프트웨어명: Apache Solr - 설치된버전: 4.7 - 커스텀 모듈 이나 파일 : 없음 - 라이선스 정보 : Apache License 2.0 - 관련 참고 자료 : http://lucene.apache.org/solr/

4.4 CSV Validator

CSV Validator 는 다양한 OS(윈도우,리눅스,유닉스, 맥)에서 사용할 수 있는 커맨드 라인 유틸리티임. 검증할 CSV 의 스키마를 정의하고 커맨드라인에서 검사를 실행하면 검증결과가 텍스트 형식으로 출력됨. 본 플랫폼에서는 Validation 기능을 구현하는데 있어서 사용되었음.

1) Schema 정의 : 본 플랫폼의 Dataset 마다 Schema 를 정의하는 부분에 Rule 을 지정하면. CSV Validator 를 읽을 수 있는 Schema 파일이 자동 생성됨.

(24)

Copyright ⓒ KISTI -24- Ver. 1.0

<솔루션 명세와 기타 참고 자료>

- 소프트웨어명: CSV Validator - Command Line - 설치된버전: 1.0.1-RC1

- 커스텀 모듈 이나 파일 : 없음

- 라이선스 정보 : Mozilla Public License Version 2.0

- 관련 참고 자료 : https://github.com/digital-preservation/csv-validator/tree/master/csv-validator-cmd

4.5 AMCHARTS

AMCHARTS 는 데이터를 Visualization 할 수 있는 자바스크립트 기반의 라이브러리 임.

본 플랫폼에서는 Visuallization 기능을 구현하는데 있어서 사용되었음.

1) Synthesis 데이터 정의 : 본 플랫폼에서 Publication 된 데이터를 정해진 Synthesis 의 규칙에 따라 데이터가 저장되면 이를 기반으로 Visualization 을 AMCHARTS 라이브러리를 통해 나타내게 됨.

2) Visualization 실행 : Synthesis 된 데이터를 Drupal 의 Page 에서 불러와 AMCHARTS 를 통해 보여주게 됨.

<솔루션 명세와 기타 참고 자료>

- 소프트웨어명: AMCHARTS - JavaScript Charts - 설치된버전: 3.4.3

- 커스텀 모듈 이나 파일 : 없음

(25)

Copyright ⓒ KISTI -25- Ver. 1.0

4.6 Open Layer

Open Layer 는 위치정보와 콘텐츠를 조합하여 동적인 맵을 웹상에서 만들어 낼 수 있는 자바스크립트 기반의 라이브러리임.

본 플랫폼에서는 Map Search 기능을 구현하는데 있어서 사용되었음.

1) Map Search 데이터 정의 : 본 플랫폼에 저장된 Dataset 에 포함된 Coordinate 정보를 바탕으로 Open layer Map 에 정보를 표출하게 됨. 기본적으로 Json 형태로

데이터베이스로부터 정보를 가져와 재구성하고 이를 Open Layer 에게 전달해주는 형식임. 2) Open Layer 구성 : Open Layer 는 단순히 데이터와 라이브러리 만으로는 맵을 만들기

어려움. 예를 들어 툴팁 형태의 데이터 표시나 데이터가 많이 모였을 때 시각적으로 효과를 준다든지. 이런 부분을 해결하기 위해 Open Layer 는 Layer 를 층층이 쌓아 올리는 형식을 제공함. 본 플랫폼에서는 Google Map 을 맨 밑바탕 Layer 로 이용하고 그 위에 Tooltip, 밀도, Navigator 등의 Layer 를 쌓아 올림.

<솔루션 명세와 기타 참고 자료> - 소프트웨어명: open layer - 설치된버전: 2.13.1 - 커스텀 모듈 이나 파일 : 없음 - 라이선스 정보 : 2-clause BSD License - 관련 참고 자료 : http://openlayers.org/two/

4.7 RED5 Media Server

(26)

Copyright ⓒ KISTI -26- Ver. 1.0

본 플랫폼에서는 영상 재생 기능을 구현하는데 있어서 사용되었음.

1) 영상 데이터 저장: RED5Media Server 는 영상을 재생하는데 최적화 된 솔루션이지만 미디어 데이터 Asset 을 관리하기에는 어려움이 있어. 이를 Drupal 의 커스텀 모듈로 미디어 Asset management 기능을 구현하고 미디어 Browser 를 사용자에게 제공함. 2) 영상 스트리밍 : RTMP 형식을 이용하여 H264 코딩 형식으로 재생함. 다양한 OS 와 미디어

디바이스를 지원하는 포맷은 H264 이기 때문에 이를 선택함.

<솔루션 명세와 기타 참고 자료>

- 소프트웨어명: RED5 Media Server - 설치된버전: 1.0.8

- 커스텀 모듈 이나 파일 : 없음 - 라이선스 정보 : Apache License V2 - 관련 참고 자료 : http://red5.org/

4.8 Metacat Server

Metacat 서버는 데이터와 메타데이터의 저장소임. 주로 과학분야에서 Dataset 과 Data 를 저장하고 이종 플랫폼간에 호환성을 제공하기 위해 표준적으로 사용되고 있는 서버임.

본 플랫폼에서는 Data 최종 저장을 구현하는데 있어서 사용되었음.

(27)

Copyright ⓒ KISTI -27- Ver. 1.0 - 소프트웨어명: Metacat 서버 - 설치된버전: 2.7.1 - 커스텀 모듈 이나 파일 : 없음 - 라이선스 정보 : GPL - 관련 참고 자료 : https://knb.ecoinformatics.org/knb/docs/

5 기능 상세설계와 구현

5.1 사용자 정의

Figure 5-1 사용자 정의 사용자 그룹 사용자 역할 특징 및 부가설명

(28)

Copyright ⓒ KISTI -28- Ver. 1.0

Metacat Server Metaca Server 은 과학적인 데이터(메타데이터와 데이터)를 저장소임. 본 플랫폼에서 생성완료된 데이터에 대해서 국제표준에 맞게끔 데이터를 저장해주고 외부 서비스에 제공해줄 수 있는 가교(Bridge)역할 을 해 줌. Weather Service 데이터셋을 저장할 때, 출처 지역의 기상정보를 외부서비스와 연동하여 자동을 입력되게끔 돕는 API 임.

External Email Service Sendmail 과 같은 리눅스 서버에서 기본으로 제공하는 메일러(mailler)를 통해 메일을 발송할 경우, 일반적인 이메일 서비스 제공자(email Service Provider, ex>Gmail)에 의해서 스팸(spam)으로 분류되어 정상적으로 수신이 안되는 현상이 발생할 수 있음. 본 플랫폼에서 email 주소는 회원인증,Data Curation 에서 굉장히 중요한 요소 이므로, 외부 이메일 서비스 제공자에서 제공하는 SMTP 인터페이스를 이용하여 메일을 발송해야 함. External Email Service 는 SMTP 를 통해 Gmail 과 같은 외부 대형 이메일 서비스 제공자를 이용할 수 있도록 도움. K-Ecohub Drupal 플랫폼을 중심으로 외부 서버와 서비스를 통합하여 지칭하는 시스템 단위임. 본 플랫폼이라함은 총체적으로 K-Ecohub 를 지칭함. User Group Anonymous 본 플랫폼에 사용자 등록을 하지 않고 무기명으로

(29)

Copyright ⓒ KISTI -29- Ver. 1.0

Data Contributor Data Curation 을 통해 수집한 데이터를 체계적으로 제출할 수 있는 권한을 가진 사용자 그룹임. 데이터 열람에서는 해당 저작권을 가지고 있는 사용자가 부가적으로 제한을 두지 않는 경우에는 제한없이 열람이 가능함.

Data Reviewer Data Curation 을 통해 Data contributor 가 제출한 데이터에 대해 특이점은 없는지 검토하는 사용자 그룹임.

(30)

Copyright ⓒ KISTI -30- Ver. 1.0

5.2 Usecase(요구사항 분석)

본 플랫폼은 기능과 성격을 기준으로 21 개의 컴포넌트로 나눌 수 있음.

System Group 과 User Group 의 관리자 역할을 수행하는 System Administrator 와 Data

Manager 가 이용하는 관리(Mgmt. : Management) 부분과 User Group 의 대부분의 사용자 그룹이 직간접적으로 이용하는 서비스(Service) 부분으로 크게 나눌 수 있음.

구분 개수 세부내역

관리(Management) 12

Email Notification Service License Mgmt.

Measurement Schema Mgmt. System Mgmt.

(31)

Copyright ⓒ KISTI -31- Ver. 1.0

2. Email Notification Service

- Dataset 의 진행상태 변화, 유저 가입 등의 이벤트가 발생할 경우 이메일 외부 솔루션을 이용해 이메일 발송 4. License Mgmt. - 각 Dataset 이 소유할 License 에 대한 관리 및 리스팅 5. Measurement Schema Mgmt. - 종 정보 생성 및 관리, 리스팅 7. System Mgmt. - 사용자 대쉬보드 등 Data Manager 가 다루지 않는 부분에 대한 관리 8. Site Schema Definition

- Site 정보 생성 및 관리, 리스팅 10. Repository Mgmt. - Media 등 빅데이터 저장소에 대한 관리 및 Rule 설정 12. Org. Mgmt. - 조직 정보 생성 및 관리, 리스팅 14. DOI Mgmt. - DOI 가 생성되는 Rule 관리 및 리스팅 16. Project Mgmt. - 각 Dataset 이 속할 Project 생성 및 관리, 리스팅 18. Dataset Schema Mgmt.

- Dataset Type 을 정의하고 이에 대한 Validation Rule 등 관리요소를 지정하고 관리 19. Info. Security Mgmt.

- 민감정보 등에 대한 정보보호를 위해 민감정보 선택 및 각 사용자 권한 관리 20. People Mgmt.

(32)

Copyright ⓒ KISTI -32- Ver. 1.0

구분 개수 세부내역

서비스(Service) 9

Weather Info. Collection and Mgmt. Data Curation Dataset Search Data Validation Metacat Mgmt. Dataset Publication Controlled Vocabulary Visualization User Mgmt.

1. Weather Info. Collection and Mgmt.

- 날씨 정보를 제공해주는 외부 솔루션을 이용하여 각 사이트의 과거와 현재 날씨를 연동 3. Data Curation

- Data Contributor 가 Dataset 을 등록하고 Data Manager, Data Reviewer 가 그에 대해 심의하는 Publication 전 단계까지의 Workflow

(33)

Copyright ⓒ KISTI -33- Ver. 1.0

- 내부 검색 솔루션 및 외부 검색 솔루션을 이용하여 검색 관련 설정을 관리하고, 사용자에게 검색 페이지들을 제공

9. Data Validation

- Dataset 에 Data 를 등록하기 전 사용자가 스스로 Data 파일의 적합성을 확인해 볼 수 있는 Self Validation 툴 제공

- Dataset 입력 시 등록된 Data 가 적합한지 판단하는 Validation 툴 제공 11. Metacat Mgmt.

- Dataset Meatadata 를 통해 생성된 EML 을 외부 솔루션인 Metacat 과 연계, 이에 대한 관리 및 Data Search 제공

13. Dataset Publication

- Data Curation 에서 Dataset 에 대한 모든 심의가 완료된 후 Publishing 이 이루어지는 단계

- Dataset 과의 연동이 필요한 Metadata 의 EML 변환, DOI 생성, Synthesis Data 생성 등이 진행되는 과정

15. Controlled Vocabulary

- Species 와 Controlled Vocabulary 생성 및 관리, 리스팅 17. Visualization

- 사용자가 효과적으로 Data 를 보고 분석할 수 있도록 Chart 기능 제공 21.User Mgmt.

(34)

Copyright ⓒ KISTI -34- Ver. 1.0

(35)

Copyright ⓒ KISTI -35- Ver. 1.0

(36)

Copyright ⓒ KISTI -36- Ver. 1.0

(37)

Copyright ⓒ KISTI -37- Ver. 1.0

(38)

Copyright ⓒ KISTI -38- Ver. 1.0

5.2.1 Weather Info. Collection and Mgmt.

Figure 5-4 Usecase (컴포넌트 : Weather Info. Collection and Mgmt.) 1) 개요

컴포넌트 Weather Info. Collection and Mgmt.

설명 외부 날씨 솔루션을 이용하여 각 사이트마다 해당하는 날씨를

업데이트.

Data Manager 가 Database Schema 와 날씨 Importing 관련 Rule 관리. 참여하는 사용자 그룹 Weather Service Data Manager 설명 Data Manager 가 본 컴포넌트에 설정값을 미리 정의하면, 외부 애플리케이션인 Weather Service 가 날씨 정보를 제공

연관된 컴포넌트 Site Schema Definition

설명 본 컴포넌트의 데이터셋의 구성요소 중에 사이트의 날씨 정보와

(39)

Copyright ⓒ KISTI -39- Ver. 1.0 2) Usecase 명세 Usecase 설명 Weather Info.Collection Weather Service 유저로부터 날씨 정보를 수집 Weather Info.List 날씨 정보가 수집된것을 저장 및 리스팅 Weather Service Mgmt.

Weather Service 유저를 이용하기 위한 서비스 주소(URL)과 인증키값, 정보수집조건을 저장 및 관리

Initial Site Setup

Site Schema Definition 컴포넌트으 통해 날씨정보가 수집될 사이트를 셋업

5.2.2 Email Notification Service

(40)

Copyright ⓒ KISTI -40- Ver. 1.0

1) 개요

컴포넌트 Email Notification Service

설명 Dataset, User 관련 이벤트 발생 시 해당 이벤트에 적절한 이메일 발송

이메일 이벤트와 Structure 는 Data Manager 가 관리

참여하는 사용자 그룹

External Email Servers Data Manager

설명 Data Manager 가 본 컴포넌트에 이메일 설정값과 내용을 미리

저장해 두면 rule 에 의해 External Email Servers 에게 메일 내용을 발송하도록 하게함. 연관된 컴포넌트 Data Curation 설명 본 컴포넌트는 이메일 발송이 외부 이메일 서버를 통해 스팸이나 장애를 겪지 않고 정상적으로 발송되도록 돕는것이 주 목적임. 특히 Data Curation 시에 메일 발송 기능이 중요함. 2) Usecase 명세 Usecase 설명 Email Forwarding Rule Mgmt.

Email 이 External Email Servers 에게 전달되는 시점에 대한 조건과 이메일 내용을 저장 및 관리

Email Mgmt. External Email Servers 에 연결하고 인증하기 위한 정보를 저장 및 관리

Email Forwarding

External Email Servers 에 보낼 이메일의 내용과 발신 및 수신 정보를 전달.

Email Forwarding Rule List

(41)

Copyright ⓒ KISTI -41- Ver. 1.0

5.2.3 Data Curation

Figure 5-6 Usecase (컴포넌트 : Data Curation ) 1) 개요

컴포넌트 Data Curation

설명 Data Contributor 가 Data Submission 을 할 때부터 Data Managr 와 Data Reviewer 가 해당 Dataset 을 승인하여 Publication 되기 직전까지 일련의 과정 참여하는 사용자 그룹 Data Contributor Data Manager 설명 Data 가 생성되고 Publication 되기까지 일련의 과정들을 제어 하는 부분을 나타냄. 주로 Data Contributor 와 Data Manager 가 역할을 수행함.

연관된 컴포넌트 Email Notification Service, License Mgmt., Site Schema Definition,

Data Validation, Project Mgmt., Measurement Schema Mgmt., Controlled Vocabulary, Dataset Publication

(42)

Copyright ⓒ KISTI -42- Ver. 1.0

2) Usecase 명세

Usecase 설명

Create Dataset Data 를 Data Contributor 가 본 플랫폼에서 작성을 시작. Metadata Input 제출하려는 Data 의 Metadata 정보를 입력

Data Screen 입력된 Metadata 와 Data File 을 기준으로 미리정의된 규칙에 따라

Screening.

Data Review 본 플랫폼에서 자동으로 검증된 데이터에 대해 Data Review

5.2.4 License Mgmt.

Figure 5-7 Usecase(컴포넌트 : License Mgmt.) 1) 개요

컴포넌트 License Mgmt.

설명 각 Dataset 의 License 를 미리 정의하여 Data Submission 시 선택할 수 있도록 관리

참여하는 사용자 그룹

Anonymous Data Manager

설명 Data Manager 가 License Mgmt 를 통해 생성한 정보를 Anonymous 를 포함하는 유저가 볼 수 있음.

연관된 컴포넌트 Data Curation, Measurement Schema Mgmt.

(43)

Copyright ⓒ KISTI -43- Ver. 1.0

2) Usecase 명세

Usecase 설명

License Listing License Mgmt.에 저장된 정보중에 공개된 정보를 Listing

License Mgmt. Data Manager 가 본 플랫폼에서 이용하는 ㅣ License 정보를 저장 및 관리

5.2.5 Measurement Schema Mgmt.

Figure 5-8 Usecase (컴포넌트 : Measurement Schema Mgmt.)

(44)

Copyright ⓒ KISTI -44- Ver. 1.0

컴포넌트 Measurement Schema Mgmt.

설명 Measurement 에 대한 관리 및 정의

Entity 생성, Dataset Submission, DOI 생성, License 생성 시 필요

참여하는 사용자 그룹

Data Manager Anonymous

설명 Data Manger 에 의해서 본 플랫폼에서 사용할 Mesurement 를 생성 및 관리

연관된 컴포넌트 License Mgmt. Data Curation, DOI Mgmt., Dataset Schema Mgmt.

(45)

Copyright ⓒ KISTI -45- Ver. 1.0

5.2.6 Dataset Search

Figure 5-9 Usecase (컴포넌트 : Dataset Search) 1) 개요

컴포넌트 Dataset Search

(46)

Copyright ⓒ KISTI -46- Ver. 1.0 2) Usecase 명세 Usecase 설명 Search configuration Data Manager 가 본 플랫폼에서 제공해주는 검색 서비스에 대한 정의를 함.

Map Search Google Map 에 Data 의 위치정보를 이용하여 가시화 시킴.

Facet Search Data 를 검색할때, 추가적인 Parameter 를 설정할 수 있음.

Unified Search Data 뿐만 아니라 본 플랫폼에 있는 콘텐츠에 대해서 검색할 수 있음.

Data Search Data 에 대해서 심층적으로 검색 할 수 있음

5.2.7 System Mgmt.

Figure 5-10 Usecase (컴포넌트 : System Mgmt.) 1) 개요 컴포넌트 System Mgmt. 설명 시스템 관리자가 시스템 총괄 관리 참여하는 사용자 그룹 System Administrator

설명 Data Manager 가 관리하는 Dataset 관련 설정을 포함하여 플랫폼의 모든 설정값을 System Administrator 가 관리 할 수 있음.

연관된 컴포넌트 N/A

(47)

Copyright ⓒ KISTI -47- Ver. 1.0 2) Usecase 명세 Usecase 설명 Dashboard Mgmt. 본 플랫폼에서 출력되는 콘텐츠 형태를 관리 할 수 있음 Include Data Manager Role

Data Manager 가 관리하는 Dataset 관련 항목을 포함함.

System Mgmt. 본 플랫폼의 이름/관리자 email/도메인 주소등 본 플랫폼을 지탱하는

모든 시스템을 관리 할 수 있음.

5.2.8 Site Schema Definition

(48)

Copyright ⓒ KISTI -48- Ver. 1.0

1) 개요

컴포넌트 Site Schema Definition

설명 Site, Site 특성정보 등 생성 및 관리 날씨와 연동하여 각 Site 의 날씨 정보 수집

참여하는 사용자 그룹

Data Manager, Anonymous

설명 Data Manager 가 Site 에 대한 정보를 설정 및 관리함. Site 정보중에 허락된 범위내에서 Anonymous 가 열람 가능함.

연관된 컴포넌트 Weather Info. Collection and Mgmt.

Data Curation Org. Mgmt

설명 특정 Site 에 대한 조직 정보를 나타내기 위해 Org. Mgmt 와 관련되어 있고 Data Curation 과 Weather Info. Collection and Mgmt.는 Data 생애주기 Site 의 정보가 참조됨. 2) Usecase 명세 Usecase 설명 Site Characteristic Info. Mgmt.

Site 의 Character 에 대해서 정의하는 부분(eg. 산, 강, 바다 )

Site Listing Site Mgmt.을 통해 저장된 정보중에 공개된것을 LIisting

(49)

Copyright ⓒ KISTI -49- Ver. 1.0

5.2.9 Data Validation

Figure 5-12 Usecase (컴포넌트 : Data Validation) 1) 개요

컴포넌트 Data Validation

설명 Data Submission 시 등록하는 Data 가 적합한지 검증하는 단계 Data Submission 을 하기 전 Self Validation 을 통해 미리 검증해볼

수 있음.

참여하는 사용자 그룹

Data Contributor

설명 Data Contributor 가 올릴 Data 에 대해서 Validation 을 실행할 수 있음.

연관된 컴포넌트 Data Curation

Dataset Schema Mgmt.

(50)

Copyright ⓒ KISTI -50- Ver. 1.0

2) Usecase 명세

Usecase 설명

Self Validation Data Contributor 가 Standalone 으로 Validation 을 실행 할 수 있음.

Validation Data Contributor 가 Data Curation 내에서 Validation 을 실행해야 함.

5.2.10 Repository Mgmt.

(51)

Copyright ⓒ KISTI -51- Ver. 1.0 1) 개요 컴포넌트 Repository Mgmt. 설명 빅데이터를 저장하기 위한 로컬 저장소의 관리 및 연계 참여하는 사용자 그룹

Data Manager, Amazon S3

설명 Data Manager 가 빅데이터 저장 Repository 를 설정할 수 있음.

연관된 컴포넌트 N/A 설명 N/A 2) Usecase 명세 Usecase 설명 Repository Mgmt. Repository 를 설정하고 관리할 수 있음.

Media Player 저장된 bigdata 를 Media Player 를 통해 재생 할 수 있음 .

Bigdata Repository Linkage

(52)

Copyright ⓒ KISTI -52- Ver. 1.0

5.2.11 Metacat Mgmt.

Figure 5-14 Usecase (컴포넌트 : Metacat Mgmt.)

1) 개요

컴포넌트 Metacat Mgmt.

설명 입력된 Dataset 에 대해 EML 을 생성하고 외부 솔루션인 Metacat 과 연동

참여하는 사용자 그룹

Data Manager,Metacat Server,Anonymous

설명 Metacat 연동 설정을 하고 관리 할 수 있음.

연관된 컴포넌트 Dataset Publication

(53)

Copyright ⓒ KISTI -53- Ver. 1.0

2) Usecase 명세

Usecase 설명

Metacat Monitoring

Meatacat Mgmt.을 통해서 Metacat 에 관련된 정보를 Monitoring 할 수 있음.

Metacat Mgmt. Meatacat 과 관련한 설정과 관리를 할 수 있음.

Dataset Search Dataset 이 Publication 되면 Metacat 과 연동한 정보가 부여되고, 이를

Dataset Search 를 통해 검색 할 수 있음. Metacat Configuration and Relation Setup Metacat Server 와의 설정과 관계를 설정 할 수 있음.

5.2.12 Org. Mgmt.

Figure 5-15 Usecase (컴포넌트 : Org. Mgmt.)

(54)

Copyright ⓒ KISTI -54- Ver. 1.0 컴포넌트 Org. Mgmt. 설명 조직관리 Dataset 생성시 선택 참여하는 사용자 그룹

Data Manager, Data Contributor, Anonymous

설명 Org 정보를 설정하고 관리할 수 있음.

연관된 컴포넌트 Site Schema Definition

설명 Site 의 소속 Org.를 설정하기위해서 Org. Mgmt 를 참조 함.

2) Usecase 명세

Usecase 설명

Org. Mgmt. Org 의 이름과 주소 정보등을 설정할 수 있음.

Add Org. name 새로운 Org 의 name 을 추가할 수 있음.

Add Dump Data Data 를 Dump 방식으로 추가할 수 있음. Manage Org. data Org 에 연관되어 저장된 Data 를 관리 할 수 있음.

(55)

Copyright ⓒ KISTI -55- Ver. 1.0

5.2.13 Dataset Publication

Figure 5-16 Usecase (컴포넌트 : Dataset Publication) 1) 개요

컴포넌트 Dataset Publication

설명 Data Curation 단계 이후 Dataset 을 Publication 하는 단계

Publication 하는 단계에서 DOI 생성, Synthesis Data 생성, EML 변환 등이 일어남

참여하는 사용자 그룹

Data Manager

설명 Data Manager 가 Dataset 을 Publication 하면 sythesis 와 eml 이 generation 됨. 연관된 컴포넌트 Data Curation Metacat Mgmt. DOI Mgmt. Dataset Schema Mgmt. Visualization

(56)

Copyright ⓒ KISTI -56- Ver. 1.0

3) Usecase 명세

Usecase 설명

Dataset Publication

Dataset Publication 이 Datamanager 에 의해 실행됨.

DOI Generation DOI 가 발급되어 해당 Dataset 에 저장됨. Create

Synthesis Data

Publication 된 Dataset 에 대해서 Synthesis 가 실행됨.

EML

Conversion

Publication 된 Dataset 에 대해서 EML 이 생성됨.

Modification Publication 이 되고 나면 modification 을 Data Contributor 나 Data

Manager 에 의해서 실행될 수 있음.

5.2.14 DOI Mgmt.

(57)

Copyright ⓒ KISTI -57- Ver. 1.0 1) 개요 컴포넌트 DOI Mgmt. 설명 DOI 생성 룰 관리 Dataset 생성시 Dataset 의 종류에 따라 생성 및 생략 참여하는 사용자 그룹 Data Manager

설명 Data Manager 가 DOI 규칙이나 연동 정보 등을 설정 및 관리 할 수 있음.

연관된 컴포넌트 Dataset Publication, Measurement Schema Mgmt.

설명 DOI 는 Dataset Publication 이 일어날때 발급됨.

2) Usecase 명세

Usecase 설명

DOI Mgmt. DOI 와 관련된 설정을하고 관리 할 수 있음.

(58)

Copyright ⓒ KISTI -58- Ver. 1.0

5.2.15 Controlled Vocabulary

Figure 5-18 Usecase (컴포넌트 : Controlled Vocabulary) 1) 개요

컴포넌트 Controlled Vocabulary

설명 Taxonomy 를 통해 Controlled Vocabulary, Species 생성 및 관리

참여하는 사용자 그룹

Data Manager, Anonymous

설명 Data Manager 가 Site 에 대한 정보를 설정 및 관리함. Site 정보중에 허락된 범위내에서 Anonymous 가 열람 가능함.

연관된 컴포넌트 Weather Info. Collection and Mgmt.

Data Curation Org. Mgmt

(59)

Copyright ⓒ KISTI -59- Ver. 1.0 2) Usecase 명세 Usecase 설명 Site Characteristic Info. Mgmt.

Site 의 Character 에 대해서 정의하는 부분(eg. 산, 강, 바다 )

Site Listing Site Mgmt.을 통해 저장된 정보중에 공개된것을 LIisting

Site Mgmt. Data Manager 가 Site 에 대한 위치, 사진 정보 등을 저장 및 관리

5.2.16 Project Mgmt.

(60)

Copyright ⓒ KISTI -60- Ver. 1.0 1) 개요 컴포넌트 Project Mgmt. 설명 프로젝트 생성 및 관리 Dataset 생성시 선택 참여하는 사용자 그룹

Data Contributor, Data Manager, Anonymous

설명 새로운 Project 를 Data Contributor 가 추가하면 Data Manager 가 이를 관리함. Project 에서 공개된 정보는 Anonymous 가 열람 할 수 있음. 연관된 컴포넌트 N/A 설명 N/A 2) Usecase 명세 Usecase 설명

Project Listing 공개된 Project 에 대해서 Listing 하여 열람 할 수 있도록 함.

Project Mgmt. Project 를 설정하고 관리할 수 있음.

Add Project 새로운 Project 를 추가할 수 있음 .

Project Detail Info. Mgmt.

(61)

Copyright ⓒ KISTI -61- Ver. 1.0

5.2.17 Visualization

Figure 5-20 Usecase (컴포넌트 : Visualization)

1) 개요 컴포넌트 Visualization 설명 Chart 를 구성하여 모든 유저에게 보여주는 단계 참여하는 사용자 그룹 Anonymous

설명 Anonmous 이상의 사용자는 Chart 를 통해 Visualization 를 이용할 수 있음.

연관된 컴포넌트 Dataset Publication

(62)

Copyright ⓒ KISTI -62- Ver. 1.0

2) Usecase 명세

Usecase 설명

Chart View Dataset Publication 에 의해 가공된 데이터를 Chart View 를 통해서 열람

할 수 있음.

5.2.18 Dataset Schema Mgmt.

Figure 5-21 Usecase (컴포넌트 : Dataset Schema Mgmt.)

1) 개요

(63)

Copyright ⓒ KISTI -63- Ver. 1.0

설명 Dataset, Entity 의 Schema 를 생성 및 수정하고 그에 맞는 Validation Rule, Synthesis Query 등을 설정

참여하는 사용자 그룹

Data Manager

설명 Dataset Schema 에대해서 Data Manager 가 설정 및 관리 할 수 있음.

연관된 컴포넌트 Data Validation

Dataset Publication

설명 Dataset Schema Mgm.에서 정의된 설정값에 따라 Data Validation 과 Publication 이 이루어짐. 2) Usecase 명세 Usecase 설명 Synthesis Definition Synthesis 에 대한 규칙을 Define 할 수 있음. Validation Rule Saving

Dataset 에대한 Validation Rule 을 저장함.

Dataset

Schema Setup

Dataset Schema 를 Setup 하여 Dataset 을 저장할 Entity 를 설계 할 수 있음.

Data Type

Generation

(64)

Copyright ⓒ KISTI -64- Ver. 1.0

5.2.19 Info. Security Mgmt.

Figure 5-22 Usecase (컴포넌트 : Info. Security Mgmt.) 1) 개요

컴포넌트 Info. Security Mgmt.

설명 Dataset 이 저장될 때 Data Manager 가 설정한 것에 따라 민감정보는 별도 테이블에 저장.

각 Dataset 에 접근할 수 있는 유저당 개별 권한 유지.

참여하는 사용자 그룹

Data Manager

설명 Data Manager 가 Security 정책을 설정하고 관리할 수 있음.

연관된 컴포넌트 Controlled Vocabulary

User Mgmt.

(65)

Copyright ⓒ KISTI -65- Ver. 1.0 2) Usecase 명세 Usecase 설명 Sensitive Info. Security Mgmt. 민감정보에 대해서 Security 정보를 설정 및 관리할 수 있음.

ACL for every Dataset Node

Dataset 을 Node 단위에서 Access 를 Control 할 수 있음.

5.2.20 People Mgmt.

(66)

Copyright ⓒ KISTI -66- Ver. 1.0 1) 개요 컴포넌트 People Mgmt. 설명 Dataset 생성시 등록한 people 관리. 상황에 따라 People 이 User 로 등록되기도 함. 참여하는 사용자 그룹 Data Manager

설명 Data Manager 가 People 정보를 설정 및 관리 할 수 있음 .

연관된 컴포넌트 Data Curation

User Mgmt.

설명 Data Curation 과정에서 People 의 정보는 참조됨. User Mgmt 와 연동을 통해 People 이 실제로 본 플랫폼에 로그인 및 사용자 서비스를 이용할 수 있음.

2) Usecase 명세

Usecase 설명

People Add. People 를 새로 추가할 수 있음.

People Schema Mgmt.

People 에 들어가 정보구조인 Schema 를 설정하여 Entity 를 관리 할 수 있음. People Info Mgmt. People Info 를 전반적으로 설정 및 관리 할 수 있음. Email Sending Rule Mgmt.

(67)

Copyright ⓒ KISTI -67- Ver. 1.0

5.2.21 User Mgmt.

Figure 5-24 Usecase (컴포넌트 : User Mgmt.)

1) 개요

컴포넌트 User Mgmt.

설명 Dataset 생성시 등록된 People 의 선택에 따라 새로운 User 등록. 각 User 의 생성, 수정, 권한 등 관리

참여하는 사용자 그룹

Data Manager, Anonymous, Externel Email Servers

설명 Data Manager 가 설정한 User Permission 에 따라 Anonymous 가 본 플랫폼에 User Service 를 이용할 수 있음. User 에 대한

Workflow 에 내에서는 Externel Email Servers 를 이용해서 누락없이 정보를 이메일로 해당 User 에게 발송함.

연관된 컴포넌트 People Mgmt..

Info. Security Mgmt.

(68)

Copyright ⓒ KISTI -68- Ver. 1.0 2) Usecase 명세 Usecase 설명 Third Person Agreement Person Agreement 를 실행할 수 있음. User Permission Mgmt. User 에대한 Permission 을 그룹별로 설정 및 관리 할 수 있음.

Login User 가 본 플랫폼에 Login 할 수 있음.

Logout Login 된 User 가 본 플랫폼에서 Logout 할 수 있음.

(69)

Copyright ⓒ KISTI -69- Ver. 1.0

5.3

Sequence Diagram(설계 및 구현)

5.3.1 Weather Info. Collection and Mgmt.

(70)

Copyright ⓒ KISTI -70- Ver. 1.0

[Seq. Weahter Service Mgmt.]

; Weather Serivce 모듈이 제공해주는 관리 페이지를 통해 외부 솔루션의 날씨 데이터를 언제 어떤 데이터들로 구성하여 받아올 것인지 관리.

1. Data Manager가 Modules을 통해 Weather Service에 대한 설정값을 저장 요청 2,3,4 Modules는 입력된 설정값을 Database에 저장 함.

[Seq. Initial Dump Data Setup]

; 최초 1회 과거 날씨 데이터를 대량으로 입력하기 위해 Bulk Upload 기능 이용

5.6.7.8.9.10.11 Data Manager는 등록된 Weather Service로부터 과거 날씨정보를 Files로 Modules에서 제공하는 File Uploader 통해 데이터는 File System에 정보는 Node 형식에 맞추어 Database에 저장함.

[Seq. Weather Info. Collection]

; Mgmt.에서 결정된 Rule 에 따라 외부 솔루션에서 날씨 정보를 받아와 Update

12.13.14.15. Module 에서 Weather Service 에게 날씨 정보를 요청하면 Result 를 반환해 주게 되는데, 이를 Module 은 Database 에 저장함.

[Seq.Initial Site Setup]

; 새로운 Site 생성시 날씨 Data 와의 연동을 위해 Mgmt.에서 정한 Rule 에 따라 날씨 Update

(71)

Copyright ⓒ KISTI -71- Ver. 1.0

5.3.2 Email Notifiacation Service

(72)

Copyright ⓒ KISTI -72- Ver. 1.0

[Seq.Email Mgmt.]

; 전송될 Email 구조 정의. 기본적으로 User 가 가입할 때, Data Curation 이 진행되는 동안 Workbench 에 의해 Dataset 의 상태 변화가 일어날 경우 Email 발송.

1.2.3.4. Data Manager 가 Module 에서 제공하는 폼을 통해서 Email Structure 를 설계하면. Module 은 Structure 를 Data Base 에 저장함.

[Seq.Email Forwarding Rule Mgmt.]

; 위의 기본적인 Email 발송 조건을 변경시키고자 할 경우 Rule 변경 가능.

5.6.7.8. Data Manager 에 사후에 Modules 를 통해 Rule 옵션을 변경하면 Database 에 변경된 내용이 저장됨.

[Seq.Email Forwarding]

; 위에 정한 Rule 에 해당하면 Email 발송

9. Modules 중에 Rule 에 해당하면 Modules 에 Email 발송을 요청하게됨.

10.11.12.13. Modules 는 Database 에 설계된 Structure 정보등을 참조하여 Externel Email Service 에게 Email 내용을 전달 및 전송을 완료함.

[Seq.Email Forsarding Rule List] ; Email 발송 조건을 볼 수 있는 페이지

(73)
(74)

Copyright ⓒ KISTI -74- Ver. 1.0

Figure 5-27 시퀀스다이어그램 : 3.Data Curation

[Seq.Create Dataset]

; Data Contributor 가 새로운 Dataset 생성을 시작

1.2.3.4. Data Contributor 가 Modules 이 제공하는 Multistep Node Form 을 이용하여 Dataset 을 제출하면 Modules 가 Database 에 저장한다.

[Seq.Metadata Input]

; 임시로 생성된 Dataset 에 Metadata,Data 입력 및 필요시 제 3 자(정보제공자 등) 등록. Workbench 모듈을 통해 Dataset 의 상태를 Needs Data Contributor Work 로 변경하여 Data Contributor 가 심의할 수 있도록 하고 저장.

5.6. Data Contributor 가 Multistep Node Form 을 이용해 Metadata 를 저장함.

[Seq.Metadata Input > Opt- New People Add]

(75)

Copyright ⓒ KISTI -75- Ver. 1.0 7.8. 최종적으로 저장된 데이터를 Data Contributor 에 보여줌.

[Seq.Metadata Input > Ref Validation]

;Dataset 을 정식 등록전, 입력한 Data 가 적합한지 검사.

9.10.11.12.13. Workbench 에 정의된 규칙에 다라서 Dataset 이 제출되면 Modules 는 Database 에 해당 정보를 업데이트하고 Email 을 Send 함.

[Seq.Data Screen]

; Data 가 이상이 없는지 체크하고, 이상이 없을경우 import 함. [Seq.Data Screen > Seq Data Import]

14.15.16.17.18.19.20..21.22. 입력한 Metadata,Data 에 잇아이 없다고 판단될 시 Data 를 Database 로 Import 함

[Seq.Data Screen > Seq Data Import > Opt. Sensitive Info. Extraction]

23.24.25.26.27. 민감 정보가 존재할 시 해당 Data 에 대한 정보보호를 위해 따로 관리

28.29.30.31. Modules 가 Data 를 Database 에 저장하고 Result 를 반환.

[Seq.Data Screen > Opt. Data Rollback and Return Status to Needs Data Contributor Works] ; Data 가 적합하지 않거나 재작업이 필요하다고 판단될 시 Import 된 Data 를 삭제하고 Dataset 의 상태를 되돌려 Data Contributor 가 다시 작성할 수 있도록 변경.

32.33.34.35.36. 정상적일 경우 Data Manager 가 Workbench 기능을 이용하여 Needs Review Status 로 변경. 변경된 내역이 Email 로 발송.

[Seq.Data Review ]

; Data Reviewer 가 Data 에 대해 적합한지 검사. 분석이 용이 하도록 reviewer 만 볼수 있는 Chart 제공

37. Reviewer 가 Modules 를 통해 Dataset 을 Review

(76)

Copyright ⓒ KISTI -76- Ver. 1.0 38. 39.40.41.42. Data 가 정상적일 경우에는 Data Reviewer 가 Status 를 Ready for Publication 으로 변경함. 변경뒤 Email 이 Send 됨.

[Seq.Data Rollback and Return Status]

; 데이터의 이상이나, 부적합 판단 시 워크플로우의 단계를 이전단계로 반환하여 다시 검증 단계를 거치도록 할 수 있다.

(77)

Copyright ⓒ KISTI -77- Ver. 1.0

5.3.4 License Mgmt.

(78)

Copyright ⓒ KISTI -78- Ver. 1.0

[Seq. License Mgmt.] ;License 정보 생성 및 관리

1.2.3.4 Data Manager 가 License 정보를 CRUD 하면 Modules 가 Database 에 해당 정보를 CRUD 한다.

[Seq. License Listing]

; License List 를 볼 수 있는 페이지 제공

5.6.7.8. Anonymous 가 modules 를 통해 질의하면 modules 는 Database 로부터 License 정보를 가져와 보여준다.

[Seq. Metadata Input Include License Mgmt.] ; Dataset 생성시 License 를 선택할 수 있는 기능 제공

(79)

Copyright ⓒ KISTI -79- Ver. 1.0

5.3.5 Measurement Schema Mgmt.

(80)

Copyright ⓒ KISTI -80- Ver. 1.0

[Seq. Measurement Mgmt.]

; Measurement 를 생성 및 관리. 해당 Measurement 에 부여될 DOI Rule 관리가 함께 이루어져야 함.

1.2. Data Manager 가 Modules 를 통해 Measurement 를 저장 하면. Modules 가 Database 에 저장함.

[Seq. Measurement Mgmt. > ref 14.DOI Mgmt. ]

Measurement 에 부여될 DOI 관리정보가 참조됨.

3.4. Measurement 저장 결과를 반환함.

[Seq.Measurement Listing]

; Measurement list 를 확인할 수 있는 페이지 제공

5.6.7.8..DataManager 가 Measurement list 를 Modules 에 요청하면. Modules 가 Database 로부터 해당 정보를 가져와 보여준다.

[Seq.Measurement Setup in Metadata Input] ; Data set 생성시 지정할 Measurement 를 입력

9.10.11.12.13 Data Contributor 가 Dataset 생성시에 Modules 에게 Measurement information 을 요청하면. Modules 가 DAtabase 로부터 결과값을 반환하면서 DOI 의 no 를 참조함.

[Seq.Measurement Setup in Metadata Input > Opt. Dataset Schema]

(81)
(82)

Copyright ⓒ KISTI -82- Ver. 1.0

(83)

Copyright ⓒ KISTI -83- Ver. 1.0

[Seq. Search Configuration]

; 검색을 위해 생성되는 Indexing Rule 관리. Cron 이 돌아갈때마다 새로 입력된 Dataset, Site, Measurement 등에 대해 Indexing 을 실행하고, Indexing 된 요소들을 Apache Solr 에 Import.

1.2.3.4. Data Manager 가 Search Indexing Rule 을 입력하면. Modules 가 해당 값을 Database 에 저장하고 결과를 반환함.

5.6.7.8.9.10.11.Cron 이 실행되면 이미 저장된 규칙에 따라 Database 에 Indexing 데이터가 저장 되고 값을 반환하여 Apache Solr 에 indexing 을 요청함.

12.13. Apache Solr 은 요청된 값을 indexed 데이터로 저장함.

[Seq. Data Search]

; 통합검색 – Apache Solr 과 연계하여 검색

14. Anonymous 가 검색 쿼리를 Modules 보내어 결과를 요청하면.

[Seq. Data Search > Opt. Unified Search]

15.16. Unified Search 일 경우에는 Apache Solr 에게 요청하여 검색결과를 Anonymous 에 반환함.

[Seq. Data Search > Opt. Facet Search]

17.18. Facet 은 Database 에 저장된 정보를 이용하여 조건에 따른 Faceted Search Result 를 반환함.

[Seq. Data Search > Opt. Map Search]

(84)

Copyright ⓒ KISTI -84- Ver. 1.0

5.3.7 System Mgmt.

Figure 5-31 Sequence Diagram : 7.System Mgmt.

(85)

Copyright ⓒ KISTI -85- Ver. 1.0

5.3.8 Site Schema Mgmt.

(86)

Copyright ⓒ KISTI -86- Ver. 1.0

[Seq. Site Mgmt.] ; Site 생성 및 관리

1.2.3.4. Data Manager 가 Modules 를 통해 Site 정보를 생성하면. Modules 는 해당 정보를 Database 에 저장하고 값을 반환한다.

[Seq. Site Characteristic Info. Mgmt..] ; Site 특성정보(산, 강, 바다 등)을 생성 및 관리

5.6.7.8. Data Manager 가 Modules 를 통해 Site 특성정보를 생성하면. Modules 는 해당 정보를 Database 에 저장하고 값을 반환한다.

[Seq. Site Setup in Metadata Input] ; Dataset 생성시 지정할 Site 를 입력

9.10.11.12. Data Contributor 가 Modules 를 통해 Dataset 을 생성시에 site 값을 입력하면 Modules 가 Database 에 저장하고 값을 반환한다.

[Seq. Site Listing]

; Site list 를 볼 수 있는 페이지 제공

(87)

Copyright ⓒ KISTI -87- Ver. 1.0

5.3.9 Data Validation

(88)

Copyright ⓒ KISTI -88- Ver. 1.0

[Ref. Validation Rule Saving]

; Rule 이 설정된 Protocol 에 대해서만 Validation 이 가능하기 때문에 Validation 기능을 사용하기 전 해당 Protocol 의 Rule 설정이 필수

[Seq. Self Validation]

; Dataset 생성 전 본인이 작성한 Data 의 양식이 적합한지 Preview 할 수 있도록 Self Validation 기능 제공.

1.2.3.4. Data Contributor 가 Modules 가 제공하는 File Uploader 를 통해 데이터를 업로드하면. File system 에 임시저장했다가. Database 에 File 에 대한 information 을 저장한다.

5.6.7. Modules 내 에 Data Self Validation 을 통해 Data Contributor 가 데이터에 대해 Validation 을 실행하면 결과 값을 반환한다.

[Seq. Validation]

; Dataset 생성시 Upload 된 파일이 해당 Protocol 에 적합한지 검사하는 기능.

8.9.10.11. Data Contributor 가 Dataset 을 생성시에 Modules 의 File Uploader 를 통해 데이터를 입력한다. Modules 는 파일은 File system 에 임시저장하고. Database 에 File 에 대한 information 을 저장한다.

(89)

Copyright ⓒ KISTI -89- Ver. 1.0

5.3.10 Repository Mgmt.

(90)

Copyright ⓒ KISTI -90- Ver. 1.0

[Seq. 10.Repository Mgmt. ]

; 내부 저장소와 외부 저장소 중 언제 어느 저장소에 저장할 것인지에 대한 Rule 을 설정

1.2.3.4. Data Manager 가 Modules 을 통해 저장할 장소를 선택하면. 결과값을 사용자에게 반환 한다.

[Seq. Bigdata Repository Linkage] ; 내부 저장소에 파일을 업로드

5.6.7.8.9.10. Data Contributor 가 Modules 에 제공하는 File Uploader 를 통해 파일을 업로드하면. Modules 은 File System 에 파일을 저장하고 해당 정보를 Database 에 저장하고 결과값을 반환한다.

[Seq. Bigdata Repository Linkage > Opt. Data Period Mgmt.]

; 업로드된 데이터가 1 년 이상 지났는지 주기적으로 체크하여 1 년 이상된 파일들에 대해서는 외부 저장소로 이동.

11. file 에 1 년 이상된 됐는지 여부를 Modules 가 판단하고 이에 맞다면.

(91)
(92)

Copyright ⓒ KISTI -92- Ver. 1.0

Figure 5-35 Sequence Diagram : 11. Metacat Mgmt.

[Seq. 11.Metacat Mgmt.]

; Metacat 과 연동될 데이터들에 대해 설정 및 관리

1.2.3.4. Data Manager 가 Modules 에서 제공하는 Metacat Manager 를 통해 Schema 정보를 CRUD 하면. Modules 는 Database 에 해당 정보를 CRUD 하고 결과값을 반환한다.

[Seq. Dataset Search]

; 연동되어 등록된 데이터들에 대해 검색할 수 있는 페이지 제공

5.6.7.8. Anonymous 가 Modules 의 Metacat Manager 를 통해 Dataset 을 검색하면. Modules 는 해당 정보를 Database 에서 검색하여 결과값을 반환 한다.

[Seq. Metacat Configuration and Relation Setup]

[Seq. Metacat Configuration and Relation Setup > Alt. Metacat Configuration and Relation Setup]

Save

; EML 로 변화된 데이터를 Metacat 에 저장

(93)

Copyright ⓒ KISTI -93- Ver. 1.0

Update

; Dataset 의 내용이 변경되어 EML 도 함께 변경되었을 경우 해당 내용을 Metacat 에서도 Update

13.14.15.16. Data Manager 가 EML 데이터를 Modules 를 통해 Metacat 에 수정요청하면. Metacat Server 가 해당 정보를 수정하고 결과값을 반환한다.

Delete

; Metacat 에서 지정한 EML 삭제

17.18.19.20. Data Manager 가 EML 데이터를 Modules 를 통해 Metacat 에 삭제요청하면. Metacat Server 가 해당 정보를 삭제하고 결과값을 반환한다.

[Seq. Metacat Monitoring]

; Dataset 이 변경되었는지 혹은 삭제되었는지 등의 정보를 볼 수 있는 페이지를 제공하여 해당 Dataset 에 관련된 작업이 필요할 경우 변경을 진행할 수 있도록 함.

21.22.23.24 Data Manager 가 Modules 를 통해 Dataset info 를 요청하면 결과값을 반환한다. 25. Data Manager 가 Metacat Manager 에게 Dataset 을 선택하면. 아래 Ref.가 실행된다.

(94)

Copyright ⓒ KISTI -94- Ver. 1.0

5.3.12 Org.Mgmt.

(95)

Copyright ⓒ KISTI -95- Ver. 1.0

[Seq. Manage Org. Data]

; Data Manager 가 조직 생성 및 관리. 전체 조직에 대한 정보를 파일로 다운로드 받아볼 수 있는 기능 제공.

1.2.3.4. Data Manager 가 Modules 를 통해 Org.정보를 CRUD 요청하면. Modules 가 CRUD 를 데이터베이스에 반영하고. 결과값을 반환.

5.6.7.8.9. Data Manager 가 Org 정보 파일 다운로드 요청하면. Modules 가 File System 에 파일을 임시 생성하여 반환.

[Seq. Add Org.name]

; Data Contributor 가 조직 생성. 이에 대해 Data Manager 에게 Email 알림. Data Contributor 가 생성한 조직 정보를 Data Manager 가 적합하게 수정할 수 있는 기능.

10.11.12.13.14. Data Contributor 가 Org 이름을 추가하면. Modules 가 해당 정보를 Database 에 저장하고 Data manager 에게 email 알림.

[Seq. Add Org.name > Opt. Update Org.]

15.16.17.18. Data Manager 가 Org 를 Update 요청 하면. Module 요청값을 database 에 저장하고 결과값을 반환 .

[Seq. Add Dump Data] ; 조직 대량 입력 기능

19.20.21.22.23.24.25. Data Manager 가 File 을 Upload 하면 . Modules 가 File 을 File system 에 저장하고 information 을 Database 에 저장한다. 저장된 데이터를 Feeds 를 통해 Database 에 Bulk 저장하고 결과값을 반환.

[Seq. View Org. List]

; 조직 리스트를 볼 수 있는 페이지 제공

(96)
(97)

Copyright ⓒ KISTI -97- Ver. 1.0

수치

Figure 2-1 본 프로젝트에 적용한 애자일 개발 방법론
Figure 2-2 Mattermost 를 이용한 문서관리 및 실시간 커뮤니케이션
Figure 3-3 드루팔의 Theme Engine 구조
Figure 5-3 Usecase 2 레벨
+7

참조

관련 문서

2 - 2 - Match Those Needs with DICOM Service Classes Match Those Needs with DICOM Service Classes using the DICOM Conformance Statements. using the

RISC CPU specific optimization methods can increase the implementation performance very. much DSP and RISC CPU needs different

For this citrus industry to be continued, the agricultural income increase plan needs to be linked to the tourism industry.... 이러한

Therefore, nurses should be responsible for the relations to resolve the needs of care between nurses and patients and through communication with the patients,

Altwork Station - Physically Conforming to the Needs of Humans in the Workplace

Also, this study involves in-depth interviews and surveys of CEOs and HR (HRM &amp; HRD) managers of corporations to investigate company needs in terms

 needs one reference to retrieve the page base address and another to access the data word. ⇒ doubles the number

Results indicate that the disabled workforce recognize the importance of vocational training for their employability, especially when the training programs