6.2. Data Core UI
Data Core UI 를 사용하기 위한 사용자 가이드 입니다.
6.2.1. Data Core UI 접속
서버에 설치 및 설정된 URL로 접속합니다.
예) http://203.253.128.181:16608

6.2.2. CITY HUB 접속정보 입력
6.2.1 에서 접속중인 정보가 없을 경우 아래 화면을 노출 합니다.
예) ID : admin / PW : admin!

💡 CITY HUB 계정으로 로그인 후 Data Core UI 로 접근이 가능하므로 로그인을 진행해야 합니다.
6.2.3. 데이터 모델 관리
데이터 모델 관리 메뉴를 클릭하여 등록된 데이터 모델 목록을 확인 할 수 있습니다. 데이터 모델은 데이터 코어 모듈에서 지원하는 데이터의 유형으로써, 데이터에 대한 스키마를 관리합니다.

6.2.3.1. 데이터 모델 상세 검색
데이터 모델 관리 목록에서 우측 상세검색 버튼을 클릭 하면 검색 팝업창이 활성화 됩니다.
검색 조건을 입력후 검색 버튼을 클릭하면 팝업창은 사라지고 입력된 정보를 검색합니다.

💡 전체 검색을 원할 경우, 모든 입력 폼을 제거한 뒤 검색버튼을 클릭하면 전체 검색을 진행할 수 있습니다.
6.2.3.2. 데이터 모델 수정/상세
목록에서 원하는 데이터 모델을 클릭하면 수정/상세 화면으로 이동합니다.
수정/상세 화면으로 이동할 데이터 모델을 클릭 합니다.

클릭한 데이터 모델의 수정/상세 화면으로 이동합니다.

6.2.3.3. 데이터 모델 등록/수정
데이터 모델 목록에서 등록 버튼 또는 6.2.3.2 를 클릭하여 등록/상세 화면으로 이동합니다.

필수값 입력 후 저장 버튼을 클릭 합니다.
[기본정보]
필드명 | 필수여부 | 내용 |
---|---|---|
Context 정보 | O | Json-Ld Context 정보 (Json-Ld URI 기반 Web 게시 정보를 가져와 선택) |
데이터 모델 ID | O | 데이터 모델 아이디 |
데이터 모델 유형 | O | 데이터 모델 유형 (Context 정보의 Attribute 중 선택) |
데이터 모델 URI | O | 데이터 모델 유형에 따라 자동 입력된다 |
데이터 모델명 | 데이터 모델명 | |
인덱스 속성 | 데이터 모델의 속성 중 Index 를 지정하고 싶은 속성 (추후 조회 시 성능 보장) | |
Entity 설명 | 데이터 모델 설명 | |
생성자 | 생성자 아이디 | |
생성시간 | 생성 시간 | |
수정자 | 수정자 아이디 | |
Entity Attribute정보 | O | 데이터 모델 속성 정보 (Json-Ld Context 의 Attribute 를 선택하고 데이터 타입 등을 입력) |
[데이터 모델 속성 상세]
필드명 | 필수여부 | 내용 |
---|---|---|
속성 아이디 | O | 데이터 모델의 속성 아이디 (Context 정보의 Attribute 중 선택) |
속성 Uri | O | 데이터 모델의 속성 URI (Context 정보의 Attribute 중 선택 시 자동완성) |
속성 유형 | O | 데이터 모델 속성 유형 - Property: NGSI-LD Property - GeoProperty: NGSI-LD GroProperty - RelationShip: NGSI-LD RelationShip |
속성 값 | O | 데이터 모델 속성 값 유형 - String, Integer, Double, Object, Date, Boolean, GeoJson, ArrayString, ArrayInteger, ArrayDouble, ArrayBoolean, ArrayObject |
observedAt 포함여부 | ObservedAt 필드 포함 여부 | |
unitCode 포함여부 | UnitCode 필드 포함 여부 | |
필수 여부 | 해당 데이터 모델 속성이 필수 인지 여부 | |
접근 형태 | 접근 형태 - Read-only - Read/Write | |
속성최대길이 | 문자열인 경우 해당 속성 값의 최대 길이 | |
속성최소길이 | 문자열인 경우 해당 속성 값의 최소 길이 | |
> OR >= | 숫자형인 경우 조건 | |
< OR <= | 숫자형인 경우 조건 | |
속성 설명 | 데이터 모델 속성 설명 | |
속성허용 값 | 데이터 모델 속성 입력가능 값 (enum) | |
Object 멤버 | 데이터 모델 속성 값 유형이 Object인 경우 사용될 하위 ObjectMember 정보 |
💡 데이터 모델을 정의하기 위해서는 데이터 모델에 해당하는 타입과 속성에 대한 Context 정보를 가지고 있어야 합니다. Context 정보는 데이터 모델의 타입과 속성명에 대한 URI 식별자로써, 타입과 속성에 대한 유일성(uniqueness)를 가지도록 합니다. 스마트시티 데이터 허브에서는 해당 Context 정보를 http://uri.citydatahub.kr/ngsi-ld/v1/contexts.jsonld를 통해 관리합니다. Context 정보는 추가하고자 하는 정보를 입력 후 → 추가 버튼 → 확인 버튼 순서로 진행해야 입력된 Context 정보를 기반으로 데이터 모델 유형, 데이터 모델 Uri, 속성 Uri, 속성 유형 정보를 로드 하여 선택할 수 있습니다.
6.2.3.4. 데이터 모델 프로비저닝 요청
데이터 코어 모듈의 data manager, data service broker, ingest interface는 각각 데이터 모델 정보를 가지고 있는데, 데이터 모델 프로비저닝은 특정 모델에 대한 동기화가 깨졌을 경우 해당 모델에 대한 정보를 전파하기 위한 목적으로 사용하게 됩니다. 데이터 모델 프로비저닝은 저장이 완료된 데이터 모델 수정/상세 화면으로 이동하여 우측 하단의 프로비저닝 버튼을 클릭 합니다.
6.2.4. 데이터 셋 관리
데이터 셋 관리 메뉴를 클릭하여 등록된 데이터 셋의 목록을 확인 할 수 있습니다. 데이터 셋은 데이터의 그룹으로써 동일한 데이터 모델을 가지는 데이터의 묶음 또는 동일한 유형의 비정형 데이터의 묶음을 의미합니다. 데이터 셋 정의를 통해 해당 데이터 묶음에 대한 메타 데이터를 관리할 수 있습니다.

6.2.4.1. 데이터 셋 상세 검색
데이터 모델 관리 목록에서 우측 상세검색 버튼을 클릭 하면 검색 팝업창이 활성화 됩니다.
검색 조건을 입력 후 검색 버튼을 클릭하면 팝업창은 사라지고 입력된 정보를 검색합니다.

💡 전체 검색을 원할 경우, 모든 입력 폼을 제거한 뒤 검색버튼을 클릭하면 전체 검색을 진행할 수 있습니다.
6.2.4.2. 데이터 셋 수정/상세
목록에서 원하는 데이터 모델을 클릭하면 수정/상세 화면으로 이동합니다.
수정/상세 화면으로 이동할 데이터 셋을 클릭 합니다.

클릭한 데이터 셋의 수정/상세 화면으로 이동합니다.

💡 데이터셋 플로우 상세는 데이터 셋이 저장 된 후 노출되는 영역 입니다. 반드시 데이터 셋을 등록 후 진행해 주세요.
6.2.4.3. 데이터 셋 등록/수정
데이터 셋 목록에서 등록 버튼 또는 6.2.4.2 를 클릭하여 등록/상세 화면으로 이동합니다.

필수값 입력 후 저장 버튼을 클릭 합니다.
[데이터 셋]
필드명 | 필수여부 | 내용 |
---|---|---|
데이터셋 ID | O | 데이터 셋 아이디 |
제공기관 | O | 데이터 셋 제공기관 |
소유권 | O | 데이터 셋 소유권 |
생성자 | 데이터 셋 생성자 | |
수정자 | 데이터 셋 수정자 | |
제공API주소 | 데이터 셋 제공 API 주소 | |
데이터셋설명 | 설명 | |
데이터모델ID | O | 데이터 셋이 사용하는 데이터 모델 아이디 선택 |
식별자유형 | 데이터 셋 식별자 유형 | |
데이터셋 이름 | O | 데이터 셋 명칭 |
제공시스템 | O | 데이터 셋 제공 시스템명 |
라이선스 | O | 데이터 셋 라이선스 |
생성시간 | 데이터 셋 생성시간 | |
수정시간 | 데이터 셋 수정시간 | |
제약사항 | 제약사항 | |
확장자 | 확장자 | |
갱신주기 | O | 데이터 셋 갱신주기 (Cron Expression) |
데이터가공여부 | O | 데이터 셋 데이터 가공 여부 - 예 - 아니오 |
제공항목 | O | 데이터 셋 제공항목 |
지역범위 | O | 데이터 셋 지역범위 |
품질검증여부 | O | 품질검증여부 - 예 - 아니오 |
이력저장기간(Day) | 이력저장 기간 (해당 기간이 지나면 적재 이력 삭제) | |
식별자 | 데이터 셋 식별자 | |
분류체계 | O | 데이터 셋 분류체계 |
데이터저장위치 | 적재 데이터 저장 위치 | |
토픽저장기간(ms) | 카프카 토픽 데이터 저장 기간 | |
키워드 | 데이터 셋 키워드 |
6.2.4.4. 데이터 셋 플로우 등록/수정
6.2.4.3 을 진행하면, 데이터 셋 상세 하단에 데이터 셋 플로우 등록/수정 화면이 노출 됩니다.

필수값 입력 후 저장 버튼을 클릭 합니다.
[데이터 셋 플로우]
필드명 | 필수여부 | 내용 |
---|---|---|
데이터셋 ID | O | 데이터 셋 아이디 |
생성자 | 데이터 셋 흐름 생성자 | |
수정자아이디 | 데이터 셋 흐름 수정자 | |
사용여부 | O | 데이터 셋 흐름 사용여부 |
생성시간 | 데이터 셋 흐름 생성시간 | |
수정시간 | 데이터 셋 흐름 수정시간 | |
이력저장유형 | O | 이력 저장 유형 - partial : partial 이력만 저장 - full : full 이력만 저장 - all : 2가지 이력 모두 저장 |
설명 | 데이터 셋 흐름 설명 | |
Provision 서버유형 | O | Provision 대상 서버 유형 - dataServiceBroker: dataServiceBroker 서버만 선택하면 된다. (dataServiceBroker가 RDB, Hive, HBase 모두 처리) |
6.2.4.5. 데이터 셋 프로비저닝/플로우 프로비저닝 요청
데이터 셋, 데이터 셋 플로우가 등록 되면 아래 버튼이 활성화 됩니다. 데이터 코어 모듈의 data manager, data service broker, ingest interface는 각각 데이터 셋 정보를 가지고 있는데, 데이터 셋 프로비저닝은 특정 데이터 셋에 대한 동기화가 깨졌을 경우 해당 데이터 셋 대한 정보를 전파하기 위한 목적으로 사용하게 됩니다.
각각 프로비저닝 요청 시, 요청 Alert 을 노출합니다.
💡 데이터 셋/데이터 셋 플로우를 반드시 저장해야 해당 요청을 진행할 수 있습니다.
6.2.5. Provision 서버 관리
Provision 서버 관리 메뉴를 클릭하여 등록된 Provision 서버의 목록을 확인 할 수 있습니다. 데이터 코어 모듈의 data manager, data service broker, ingest interface에 데이터셋, 데이터 모델 등의데이터를 각각 가지고 있으며, data manager가 해당 데이터 변경이 발생할 시 이를 Provision 서버들에게 전파하게 됩니다. data service broker, ingest interface를 다중화 하였을 경우에 모든 서버의 정보를 입력을 해야 데이터 전파가 가능합니다.
💡 마이크로 서비스 아키텍처로 data manager의 기준 정보가 data service broker와 ingest interface 서비스로 전파가 되어야 합니다. 이러한 기준 정보가 각각의 서비스 데이터베이스에 저장이 되게 되지만, 성능 향상을 위해 어플리케이션이 기준 정보들을 캐쉬하고 있어, 모든 서버의 정보를 Provision 서버에 등록을 해주셔야 합니다.

6.2.5.1. Provision 서버 관리 상세 검색
Provision 서버 관리 목록에서 우측 상세검색 버튼을 클릭 하면 검색 팝업창이 활성화 됩니다.
검색 조건을 선택 후 검색 버튼을 클릭하면 팝업창은 사라지고 입력된 정보를 검색합니다.

💡 전체 검색을 원할 경우, 모든 입력 폼을 제거한 뒤 검색버튼을 클릭하면 전체 검색을 진행할 수 있습니다.
6.2.5.2. Provision 서버 관리 수정/상세
목록에서 원하는 Provision 서버를 클릭하면 수정/상세 화면으로 이동합니다.
수정/상세 화면으로 이동할 Provision 서버를 클릭 합니다.

클릭한 Provision 서버의 수정/상세 화면으로 이동합니다.

6.2.5.3. Provision 등록/수정
Provision 서버 목록에서 등록 버튼 또는 6.2.5.2 를 클릭하여 등록/상세 화면으로 이동합니다.

필수 값 입력 후 저장 버튼을 클릭 합니다.
[기본 정보]
필드명 | 필수여부 | 내용 |
---|---|---|
서버 아이디 | O | Provisioning 대상 서버 아이디 |
프로토콜 유형 | O | Provisioning 프로토콜 유형 - HTTP: HTTP 방식 Provisioning 처리 - KAFKA: KAFKA 를 통한 비동기 Provisioning 처리 (향후 지원 예정) |
생성시간 | Provisioning 대상 서버 생성 시간 | |
서버유형 | O | Provisioning 대상 서버 유형 - dataServiceBroker - ingestInterface |
사용여부 | O | Provisioning 대상 서버 사용 여부 |
수정자 | Provisioning 대상 서버 정보 수정자 | |
Provision URI | O | Provisioning 요청 URI (HTTP URI 입력) - Default Port : dataServiceBroker=8082, ingestInterface=8081 |
생성자 | Provisioning 대상 서버 정보 생성자 | |
수정시간 | Provisioning 대상 서버 정보 수정 시간 |
[부가 정보]
필드명 | 필수여부 | 내용 |
---|---|---|
설명 | Provisioning 대상 서버 설명 |
6.2.6. 외부 플랫폼 인증
외부 플랫폼 인증은 ingest interface로 데이터를 인입하는 데이터 소스에 대한 인증이 필요할 경우에 사용하게 됩니다. 외부 플랫폼 인증 메뉴를 클릭하여 등록된 외부 플랫폼 인증의 목록을 확인 할 수 있습니다.

6.2.6.1. 외부 플랫폼 인증 수정/상세
목록에서 원하는 외부 플랫폼 인증을 클릭하면 수정/상세 화면으로 이동합니다.
수정/상세 화면으로 이동할 외부 플랫폼 인증을 클릭 합니다.

클릭한 외부 플랫폼 인증 수정/상세 화면으로 이동합니다.

6.2.5.2. 외부 플랫폼 인증 등록/수정
외부 플랫폼 인증 목록에서 등록 버튼 또는 6.2.6.1 를 클릭하여 등록/상세 화면으로 이동합니다.

필수 값 입력 후 저장 버튼을 클릭 합니다.
[기본 정보]
필드명 | 필수여부 | 내용 |
---|---|---|
외부 플랫폼 ID | O | 데이터 적재 시 사용될 외부 플랫폼 아이디 |
외부 플랫폼 명 | O | 데이터 적재 시 사용될 외부 플랫폼 명칭 |
생성자 | 외부 플랫폼 정보 생성자 | |
생성시간 | 외부 플랫폼 정보 생성 시간 | |
수정자 | 외부 플랫폼 정보 수정자 | |
수정시간 | 외부 플랫폼 정보 수정 시간 | |
수신가능 IP | O | 데이터 적재 시 허용될 외부 플랫폼 IP 정보 |
수신가능 데이터셋 ID | O | 데이터 적재 시 허용될 외부 플랫폼이 사용하는 데이터 셋 아이디 |
수신가능 Client ID | O | 데이터 적재 시 허용될 외부 플랫폼에서 요청할 클라이언트 아이디 |
[부가 정보]
필드명 | 필수여부 | 내용 |
---|---|---|
외부 플랫폼 설명 | 외부 플랫폼 설명 | |
인스턴스 Prefix |
6.2.7. 품질 모니터링
품질 모니터링 메뉴를 클릭하여 등록된 품질 모니터링 화면을 출력 합니다. 품질 모니터링은 데이터 셋의 "품질 검증 여부"가 "예"일 경우에 ingest interface에서 해당 데이터 셋에 대한 품질 검증을 수행하고 해당 결과를 이력으로 저장하게 됩니다.

💡 품질 모니터링은 검색 조건을 선택하여 검색이 가능합니다. 최초 화면 접근 시 데이터가 없습니다. 로 표시 됩니다.
6.2.7.1. 품질 모니터링 상세 검색
품질 모니터링 목록에서 우측 상세검색 버튼을 클릭 하면 검색 팝업창이 활성화 됩니다.
검색 조건을 선택 후 검색 버튼을 클릭하면 팝업창은 사라지고 입력된 정보를 검색합니다.

6.2.7.2. 품질 모니터링 검색 결과
6.2.7.1 을 수행 후 검색 결과를 확인할 수 있습니다.

6.2.7.3. 품질 모니터링 상세
6.2.7.2 검색 결과(목록)에서 원하는 품질 모니터링을 클릭하면 상세 화면으로 이동합니다.
상세 화면으로 이동할 품질 모니터링을 클릭 합니다.

클릭한 품질 모니터링상세 화면으로 이동합니다.

6.2.8. 시스템 관리
6.2.8.1. 코드 관리 목록/검색
시스템관리 > 코드 관리 메뉴를 클릭하여 등록된 코드관리 화면을 출력 합니다.
검색은 코드그룹 아이디, 코드그룹명, 코드아이디, 코드명으로 검색할 수 있습니다.
코드 관리는 각 메뉴에서 코드화 하여 사용 중인 항목 들을 등록하여 사용하는 메뉴 입니다. (예: 예/아니오)

💡 코드관리는 코드 그룹, 코드 별로 검색 등록이 가능합니다. 전체 검색은 검색어 입력 폼을 제거한 뒤 검색 버튼을 클릭 합니다.
6.2.8.2. 코드 관리 추가/상세
코드 그룹 또는 코드 항목에서 우측 추가 버튼을 클릭 합니다.


필수값 입력 후 저장 버튼을 클릭 합니다.
등록 된 코드 그룹 또는 코드를 목록에서 클릭 하면 상세 정보를 확인/수정/삭제 할 수 있습니다.


6.2.8.3. 메뉴 관리 구성
시스템관리 > 메뉴 관리를 클릭하여 등록된 메뉴 관리 화면을 출력 합니다.
메뉴 관리에서 등록된 메뉴들을 계층 구조로 확인할 수 있습니다.

6.2.8.4. 메뉴 관리 정보
6.2.8.3 메뉴 관리 구성에서 계층 구조의 메뉴를 클릭하면 메뉴 정보를 확인할 수 있습니다.

6.2.8.5. 메뉴관리 추가/수정/삭제
메뉴 정보를 입력하고 저장 버튼을 클릭하면 신규 메뉴가 생성 됩니다.
생성 된 메뉴는 좌측 메뉴에서 확인할 수 있습니다.


💡 좌측 메뉴에서 추가된 메뉴를 확인하려면 페이지를 새로고침 하세요.
등록된 메뉴를 계층구조에서 선택후 변경할 정보를 입력하고 저장 버튼을 클릭하면 해당 메뉴의 변경된 정보가 업데이트 됩니다.


💡 좌측 메뉴에서 변경된 메뉴를 확인하려면 페이지를 새로고침 하세요.
6.2.8.6. 메뉴 권한 관리
메뉴 관리에 등록된 메뉴별로 권한을 부여하여 접속한 관리자에게 메뉴 권한을 부여할 수 있습니다.

6.2.8.7. 메뉴 권한 관리 추가
기본정보에서 추가 버튼을 클릭 하여 권한을 생성합니다.


6.2.8.8. 메뉴 권한 관리 조회/수정/삭제
등록된 메뉴 권한을 조회하여 수정/삭제할 수 있습니다.
조회할 메뉴 권한을 선택하여 우측 조회 버튼을 클릭하면 팝업창이 활성화 됩니다.


6.2.8.9. 메뉴 권한 관리 권한 부여
등록된 메뉴 권한을 셀렉트 박스에서 선택하면 부가정보에서 권한 미부여 메뉴 리스트에 메뉴들이 활성화 됩니다.

부가정보에서 권한을 부여할 미부여 메뉴 리스트를 선택하여 우측 화살표 버튼을 클릭하고 저장 합니다.

등록된 메뉴 권한을 선택하면 부여된 권한 목록을 확인할 수 있습니다.
