코딩 없이 만드는
공공데이터 오픈API
DataPrism 은 개방할 DB 테이블을 고르고 입력 · 출력 항목만 정하면 표준 규격의 오픈API 를 바로 만들어 주는 오픈API 전용 솔루션입니다. 개인정보 비식별화, 서비스키 인증, 데이터 동기화, 이용 통계까지 오픈API 운영에 필요한 기능을 한 관리자 화면에 담았습니다.
# 요청 (예시) GET /PublicFacility/getFacilityList ?serviceKey=발급받은키 &pageNo=1&numOfRows=10&resultType=json &sido=서울&fcltyType=도서관 # 응답 { "header": { "resultCode": "00", "resultMsg": "OK" }, "body": { "totalCount": 1284, "pageNo": 1, "numOfRows": 10, "items": [ { "fcltyNm": "○○구립도서관", "sido": "서울", "openDt": "2019-03-02", "mngrNm": "홍**" }, … ] } }
오픈API 하나를 여는 데 개발이 필요하지 않습니다
개방 데이터가 늘수록 API 마다 개발하고, 문서를 쓰고, 운영 현황을 따로 챙기는 일이 부담이 됩니다. DataPrism 은 이 일을 화면 설정으로 바꿉니다.
오픈API 개방에서 자주 겪는 어려움
- 개방 데이터셋마다 API 를 새로 개발해야 해서 기간과 비용이 큼
- API 마다 요청 · 응답 형식이 달라 이용자가 헷갈림
- 개인정보가 섞인 컬럼을 그대로 내보낼까 걱정됨
- 원천 데이터가 바뀌면 개방 데이터를 손으로 맞춰야 함
- 누가 얼마나 쓰는지, 오류가 얼마나 나는지 알기 어려움
DataPrism 이 바꾸는 것
- 테이블 선택과 항목 설정만으로 오퍼레이션 생성, 바로 공개
- 모든 API 가 같은 호출 규격 · 같은 응답 구조 · 같은 오류 코드
- 컬럼 단위 비식별화(마스킹) · 암호화를 화면에서 지정
- 원천 · 수집 DB 에서 개방 DB 로 배치 동기화, 실패 시 재실행
- 대시보드 · 이용 통계 · 요청 이력으로 운영 현황을 한눈에
데이터에서 API 까지, 한 흐름으로
원천 데이터를 개방 DB 로 모으고, DataPrism 의 API 엔진이 요청을 검증해 표준 형식으로 응답합니다. 관리자는 웹 화면에서 서비스 · 데이터 · 통계를 관리합니다.
- 서비스키 인증
- 필수 · 형식 파라미터 검증
- 조회조건 · 페이징 처리
- 비식별화 · 암호화 적용
- XML · JSON 응답, WADL 명세
- 호출 통계 · 이력 기록
화면에서 다섯 단계면 API 가 열립니다
서비스 등록
API 묶음(서비스)의 영문 · 한글 이름과 설명을 등록
테이블 선택
개방 DB 의 테이블을 고르면 컬럼 목록을 자동으로 가져옴
입력 설정
요청 파라미터와 조회조건(=, LIKE, IN, BETWEEN), 필수 여부 지정
출력 설정
내보낼 컬럼과 비식별화 · 암호화 · CDATA 여부 지정
미리보기 · 공개
실제 데이터로 미리 보고 사용 여부만 켜면 바로 서비스
| 컬럼 | 설명 | 입력(조회조건) | 필수 | 출력 | 보호 |
|---|---|---|---|---|---|
| FCLTY_TYPE | 시설 유형 | = | ● | 출력 | |
| SIDO_NM | 시도명 | LIKE | 출력 | ||
| OPEN_DT | 개관 일자 | BETWEEN | 출력 | ||
| MNGR_NM | 담당자명 | 사용 안 함 | 출력 | 비식별화 · 오른쪽부터 2자리 | |
| MNGR_TELNO | 담당자 연락처 | 사용 안 함 | 출력 | 암호화 | |
| INNER_MEMO | 내부 메모 | 사용 안 함 | 출력 안 함 |
모든 API 가 같은 규격으로 호출됩니다
서비스 이름과 오퍼레이션 이름만 바뀌고 호출 방법과 응답 구조는 같습니다. 이용자는 한 번 익히면 모든 API 를 같은 방식으로 씁니다.
| 공통 파라미터 | 설명 |
|---|---|
| serviceKey | 발급받은 인증키. 등록된 키가 아니면 오류로 응답 |
| pageNo | 페이지 번호 |
| numOfRows | 한 페이지 결과 수 (한 번에 최대 1,000건) |
| resultType | 응답 형식 xml 또는 json |
| _wadl=wadl | 해당 서비스의 WADL 명세를 자동 생성해 응답 |
열 때부터 안전하게
개방 데이터에 개인정보가 섞여 있어도 원본 DB 를 고치지 않고, API 로 나가는 값만 컬럼 단위로 보호합니다.
컬럼 비식별화
왼쪽 또는 오른쪽부터 지정한 자리 수만큼 가려서 응답합니다. 원본 데이터는 그대로 둡니다.
컬럼 암호화
필요한 컬럼은 암호화한 값으로 내보내 원문 노출을 막습니다.
서비스키 인증
등록된 서비스키로만 호출할 수 있고, 키가 맞지 않으면 표준 오류로 응답합니다.
관리자 접근 제어
허용한 IP 에서만 관리자 화면에 접속하고, 사용자 · 기관 단위로 권한을 나눕니다.
요청 검증
필수 파라미터, 페이지 범위, 조회 건수 한도를 검사해 비정상 요청을 걸러냅니다.
이력 기록
관리자 접속 이력, API 요청 이력, 데이터 관리 이력을 남기고 엑셀로 내려받습니다.
홍길동 → 응답 홍**010-1234-5678 → 응답 010-1234-****hong@example.kr → 응답 암호화 값원천 데이터가 바뀌면 개방 데이터도 따라 바뀝니다
원천DB - 개방DB 관리
기관 업무 DB 의 데이터를 개방 DB 로 옮기는 배치를 테이블별로 관리합니다.
수집DB - 개방DB 관리
외부 · 유관기관에서 수집한 데이터도 같은 방식으로 개방 DB 에 반영합니다.
변동 건수 · 성공 여부
배치마다 변동 건수, 총 건수, 최근 실행일, 성공 · 실패를 기록하고 실패한 배치는 화면에서 다시 실행합니다.
파일데이터 관리
파일로 개방하는 데이터도 조회 · 미리보기하고 엑셀로 내려받습니다.
데이터 미리보기
오퍼레이션을 공개하기 전에 실제 개방 데이터로 결과를 확인합니다.
개방 대상 관리
공공데이터포털 개방 대상 여부와 사용 여부를 오퍼레이션 단위로 관리합니다.
얼마나 쓰이는지, 숫자로 보입니다
관리자 첫 화면에서 개방 현황과 오늘의 요청 · 성공 · 실패를 보고, 시간 · 일 · 오퍼레이션별 추이와 평균 응답시간을 확인합니다.
데이터 이용현황
기간 · 사용자 · 오퍼레이션별 요청 · 성공 · 실패 건수를 조회합니다.
시간당 호출 건수
시간대별 호출량과 평균 응답시간으로 피크와 지연 구간을 찾습니다.
통계 · 이력 엑셀
통계와 요청 이력을 엑셀로 내려받아 실태평가 등 보고 자료로 씁니다.
개방 사업의 시간을 줄이고, 운영의 품질을 높입니다
구축 기간 단축
API 마다 개발하지 않고 화면 설정으로 오퍼레이션을 만듭니다.
이용 편의 향상
모든 API 가 같은 호출 방법 · 응답 구조 · 오류 코드를 씁니다.
안전한 개방
비식별화 · 암호화 · 인증으로 개인정보 노출을 막습니다.
운영 가시성
이용 통계 · 응답시간 · 이력으로 운영과 평가 대응을 돕습니다.
도입 환경
기반 기술
- 전자정부 표준프레임워크 기반
- Java · Tomcat 웹 애플리케이션
- 관리자 화면 웹 브라우저 사용
지원 DB
- PostgreSQL · Tibero 버전 제공
- 그 밖의 DBMS 는 협의 후 지원
- 원천 · 수집 DB 와 개방 DB 분리 구성
구축 지원
- 개방 데이터셋 정의 · 개방 DB 설계
- 오퍼레이션 구성 · 공공데이터포털 등록
- 엠아이티소프트 자체 솔루션 · 직접 지원
도입 상담 · 시연 문의
개방 데이터셋과 운영 환경에 맞춘 구성을 안내해 드립니다.
DataPrism · ㈜엠아이티소프트 · 예시 화면과 수치는 이해를 돕기 위한 것이며, 화면과 기능은 버전에 따라 달라질 수 있습니다.
