전 찬우님의 아티클 더 보기

UI/UX

PCN OASIS

데이터를 정보로 만들기 위해, PCN OASIS

데이터를 정보로 만들기 위해
PCN OASIS

알람 소리에 겨우 눈을 떠 씻고는 제일 먼저 오늘의 날씨를 살핀다. ‘비가 온다 했던 것 같은데, 그럼 미세먼지는 좀 없으려나.’ 옷을 입고 집 밖을 나와 오전 미팅을 위해 버스를 타러 간다. ‘150번 버스는 지금 어디쯤이려나. 뛰어야 하나?’ 교통 앱을 실행해 현재 버스 위치와 예상 도착시간을 확인한다. 미팅 장소 인근 정류장에서 하차! ‘대충 이 근처 어디인 것 같은데 모르겠네.’ 지도 앱을 열어 문자로 받았던 주소를 입력해 정확한 위치를 확인한다.

지극히도 평범한 이 누군가의 하루 시작이, 불과 십수 년 전만 해도 우리의 일상이 될 거라고는 생각지 못했다. 당일 날씨를 알기 위해 신문을 보거나 아침 TV 뉴스를 챙겨야 했고, 중요한 일정이 있으면 그저 집에서 여유 있게 나오는 수밖에. 잘 모르는 곳을 간다? 물어물어 찾거나, 약도를 준비할지도. 모바일의 등장과 함께 변화한 데이터의 유통구조, 그리고 그 산물로 누리게 된 일상의 편리는 어떻게 더 발전할지 궁금하다.

 

  1. 데이터를 정보로 만들기 위해 , PCN OASIS
  2. 데이터로 문화를 꽃 피우다, PCN 문화데이터 사업
  3. 데이터에 가치를 입히다, 내일의 OASIS


도서 추천 플랫폼 ‘플라이북’ / 출처. 구글플레이
활용데이터. 국가자료 종합목록, 디브러리 종합목록, 디지털 컬렉션, 소장원문
‘(사)우리문화지킴이(우문지)’ 웹사이트 스크린샷/
활용데이터. 문화재 지역·시대별 통계, 문화정보조회, 한국민속신앙 및 세시풍속 사전

데이터에 가치를 심다

하루에도 몇 번씩이나 ‘데이터’라는 용어를 사용하다 보니 데이터의 의미, 수집 목적 및 가치 등을 종종 잊을 때가 있다. 사전적 정의를 다시 살펴보면 ‘데이터 자체는 단순한 사실에 불과하지만, 일련의 처리 과정에 따라 특정한 목적에 소용되는 정보를 만들기 위한 재료로 사용된다(출처. 두산백과)’고 명시돼 있다.

즉, 특정 사실이나 수치 등에 어떠한 가치를 부여함으로써 그것이 정보로, 그리고 또 다른 정보를 위한 기반(데이터)으로 기능을 한다는 것. 그렇다면 수많은 데이터를 가려 하나의 정보로, 나아가 서비스와 플랫폼으로 활용하기까지 어떠한 과정이 있을까? 기상뉴스 대신 날씨 앱을, 약도 대신 지도 앱을 사용하게 되기까지의 이야기를 국내 최초 자동 API 생성 솔루션, OASIS(오아시스)를 개발한 PCN의 사례로 알아보려 한다.

데이터, 오아시스를 만나다

지난 2011년, 정부의 데이터 개방 정책에 따라 공공기관들의 데이터 개방 SI 사업이 본격화됐고, 많은 업체가 데이터 개방 사업에 뛰어들었다. 이러한 사업은 Open API 형태로 데이터를 제공하는 서비스를 개발하는 것으로, 다수의 개발자들이 투입돼 분석, 설계, 구현, 테스트 등의 업무 절차를 밟아 사업을 수행해야 했는데 이에 많은 비용과 시간이 소요됐다.

당시 PCN은 개발자들이 수행하는 개발 프로세스를 보다 단순화해야 할 필요성을 느끼게 됐고, 이러한 일련의 절차를 간소화하고 자동화할 수 있는 개발 도구 및 서비스 도구개발에 나서게 됐다.

2011년 사업을 수행하면서 본격적으로 API 자동화에 대한 코어 기술을 확보하고 관련 기술들을 R&D 연구소에서 지속적으로 수행한 끝에 2011년 말, 국내 최초로 Open API 자동화 도구 OASIS의 Basic 버전을 완성하기에 이르렀다.

2012년도 데이터 개방사업이 진행됐고 이에 맞추어 OASIS를 적극 활용해 수행한 결과, 3~4개월 소요되는 기존 개발자들의 개발 기간을 1~2달 이내로 축소할 수 있었고, 뿐만 아니라 남는 시간을 테스트 등 품질을 더 높이는 방향으로 운영해 결과적으로는 한층 더 완성도 높은 데이터 개방사업 성과를 거둘 수 있었다.

PCN은 OASIS에 대한 패치와 업그레이드를 꾸준히 진행하며 관련 코어 기술에 대해 2013년도에 특허 등록을 마쳤으며, 이후 지난해까지 지속적인 정부 데이터 개방사업을 수행한 결과, 50여개 기관에서 9,300만 건의 공공데이터를 생산했다.

PCN, Open API 자동화 특허(2013)

통합 솔루션 OASIS

기업 및 기관이 보유한 데이터를 외부 혹은 타 시스템에 공유, 공개하기 위한 방법으로 API를 개발해 제공하는데, 이러한 API 개발을 기존의 코딩 방식으로 처리하지 않고 Web UI 방식의 자동화 툴을 이용해 자동으로 개발하고 서비스하는 통합 솔루션이 OASIS다.

그림 ① 테이블 메타 속성 자동 매핑

‘그림 ①’과 같이 데이터베이스를 선택하고 특정 테이블이나 뷰(View)테이블을 선택하면 해당 테이블의 필드 값과 관련 메타정보를 자동으로 추출해 서비스할 필드를 선정할 수 있다. 이 기능을 이용해 개발 지식이 없는 사용자로 하여금 손쉽게 자동화된 Open API를 생성할 수 있도록 한다.

그림 ② 서비스 및 오퍼레이션(API) 생성 마법사

‘그림 ②’에서 해당 테이블에 대한 API를 자동으로 생성하는 위저드(마법사)를 볼 수 있다. 일반적으로 많이 사용하는 API인 등록, 수정, 조회(단 건 조회, 다수 레코드 조회), 삭제 API를 생성하게 된다.

그림 ③ 생성된 오퍼레이션(API) 정보

‘그림 ③’에서 보듯 자동으로 생성된 Open API 목록을 보여주고 생성된 API를 수정하거나 삭제할 수 있다. 이렇게 생성된 API는 상단 서비스 실행버튼을 통해 시작할 수 있고, 중지하거나 서비스를 제거할 수도 있다.

‘그림 ④’는 보다 유연한 기능을 제공하기 위해 API 호출 파라미터를 효율적으로 추가하거나 수정할 수 있도록 하는 화면이다. 다양한 형태의 파라미터를 설정할 수 있고 기본값, 형식 등을 조절하거나 데이터가 많을 경우 페이징(Paging)처리가 가능한 플래그 정보도 제공된다.

그림 ⑤ 생성된 Open API 호출 예제

‘그림 ⑤’는 앞에서 설명한대로 생성된 Open API를 실제 외부에서 호출했을 경우 보여지는 결과화면 예제다. OASIS를 사용할 경우 개발 기간을 획기적으로 단축할 수 있고, 다양한 형식의 표준 규격을 지원해 향후 유지·운영에 있어 API 기능 추가 및 변경을 손쉽게 할 수 있다.

 

OASIS 활용 영역 및 사례

Open API는 최근 정부에서의 데이터개방정책에 부응해 가장 적합한 개방 형태로 확인돼 수많은 Open API가 제작 및 서비스되고 있는 상태이다. 뿐만 아니라 타 기관과의 데이터 연계를 위해 활용되기도 하고, 홈페이지나 외부 사이트간 데이터를 활용하기 위한 용도로도 활용되고 있다.

① 공공기관의 데이터 개방

2010년도부터 4개년간 정부에서는 공공데이터 개방정책을 진행했고, 이 과정에서 Open API를 이용한 데이터 개방 사업을 진행했다. PCN은 여기서 OASIS라는 자동화 솔루션을 이용, 4개년간 50여 개의 기관들에 설치 및 적용해 1,658건의 API 서비스를 구축했고 총 9,300만 건의 공공데이터를 생산했다.

② 데이터 수집 및 연계

2014~2015년도에 문화체육관광부에서는 국내 공연 발권 집계 정보를 중앙에서 모니터링하고 서비스를 제공하는 포털 사이트 구축 개발 사업을 추진했고, 이를 ‘공연예술통합전산망 구축사업’으로 명명해 용역을 수행했다. 이에 따라 공연 발권을 수행하는 각각의 민간기관이나 공공기관으로부터 집계정보를 수집해야 했고, 이를 위해 해당 기관에 데이터 제공 시스템을 만들어야 했다. 여기에 OASIS를 적용해 집계 데이터 제공용 Open API를 구축해 현재까지 공연 발권 데이터가 중앙으로 집계되어 서비스되고 있는 상황이다. 이렇듯 OASIS는 타 시스템과의 연계용 Agent로 활용되어 사용할 수 있다.

데이터 수집 연계 아키텍쳐

③ 홈페이지 제작

최근에는 내부 시스템과의 연계뿐만 아니라 내부와 외부 시스템의 연계, 더 나아가 외부 시스템과 외부 시스템과의 연계작업이 많이 이루어지고 있으며, 제 3rd Party 제공용으로 많이 활용되고 있는 상황이다. 홈페이지의 경우 비즈니스 로직을 처리하는 부분을 내부에 Open API 형태로 만들어 놓고 프론트엔드 사용자 화면에서 해당 Open API를 호출하는 방식으로 티어(Tier)를 분리해 처리하는 추세다. OASIS가 바로 이런 형태로 티어를 분리해 보안성을 높이고 N스크린 활용도를 높일 수 있는 기능을 제공하고 있는 것이다.

홈페이지 및 기타 사이트 연계 구성도