금융권 오픈 API 활용 방안 (1) 



금융사 오픈 API로 새로운 활로 모색 나서…신규 서비스·사업 모델 창출에 효과적


데이터, 사람, 시스템, 디바이스를 연결하는데 초점을 두는 대부분의 핵심 디지털 이니셔티브는 강력하면서도 유연한 통합을 제공하기 위해 API에 크게 의존한다. 혁신의 속도와 연결된 디바이스의 수가 증가함에 따라 API의 중요성과 API를 엔터프라이즈 규모로 생성, 사용, 관리하는 방법의 중요성도 높아지고 있다. 이에 따라 API 라이프사이클의 모든 단계를 성공적으로 수행할 수 있는 API 관리 솔루션(APIM) 시장도 점차 커지고 있다. <편집자>

▲ 박용우 유니버셜리얼타임 대표 (yongwoo.park@universalrealtime.com)


- 연재 순서 -

1. API 소개 및 국내 금융권 오픈 API 플랫폼 구축 사례(이번호)
2. 국내 금융권 오픈 API 플랫폼 구축 프로젝트와 주요 API들
3. 금융권 CNA(Cloud Native Application) 개발 방안
4. API 활용 방안과 API 관리 시장 전망


API(Application Programming Interface)는 응용프로그램 프로그래밍 인터페이스로서, 응용프로그램을 작성하기 위한 일련의 부 프로그램, 프로토콜 등을 정의해 상호 작용을 하기 위한 인터페이스 사양(Specification)이라고 정의할 수 있다. 다시 말해서 API는 프로그램을 작성하기 위해 사용할 수 있는 소프트웨어 컴포넌트(Function, Method, Operation 등)의 기능, 입력, 출력, 그리고 이에 사용되는 자료형 등을 정의하는 인터페이스 사양이다.

API 자체는 어디까지나 ‘인터페이스 사양’만을 정의하기 때문에 구현(Implementation)체와 독립적이다. API 제공자 입장에서는 API 구현체(Implementation, End-point)를 제공하고, API 사용자 입장에서는 인터페이스 사양만을 참조해 애플리케이션을 작성하기 때문에, API에 해당하는 기능과 서비스에 해당하는 애플리케이션이 느슨한 결합(loosely-coupled)을 통해 서로 독립적이며 유연하다.

잘 설계된 API는 프로그램 개발을 보다 쉽게 해 준다. API는 다양한 형태로 존재하며, 유닉스의 POSIX 표준, 윈도우의 MFC나 Win32, C++의 STL(Standard Template Library), 자바(Java) API, REST API 등이 대표적이다.

네트워크로 연결된 원격의 컴퓨터에서 원격으로 호출해 기능을 수행할 수 있도록 해주는 SOAP 또는 REST 서비스에서 API는 그 자체로 원격 기능에 대한 사양이 된다. 또한 API 사양에 맞게 구현해 해당 API의 기능을 제공하는 구현체를 API 엔드포인트(End-point)라 한다. 이러한 API의 특징 때문에 네트워크(내부 또는 전용선), 특히 인터넷으로 공개해 외부 기관에서도 주요 기능을 사용할 수 있도록 공개한 API를 오픈(Open) API라 한다.


▲ 구글 트렌드 관련 검색어: Digital Transformation vs. Open API


API 활용한 다양한 서비스 등장

앞서 구글트렌드 검색 결과에서 보듯이, 2018년 8월 현재 기준으로 국내에서 가장 많이 조회되고 있는 오픈 API 관련 검색어는 ‘공공데이터’, ‘도로명주소 오픈 api’, ‘기상청 날씨 오픈 api’ 등이다. 실제로 ‘기상청 날씨 오픈 api’를 제공하는 기상자료개발포털에서 제공하는 오픈 API 목록을 살펴보면 ▲낙뢰정보 ▲태풍정보 ▲동네예보통보문 ▲항공기상전문 ▲세계 주요공항 항공기상전문 ▲기상청 도로날씨정보 ▲기상연보 ▲방재기상관측연보 등 다양하다.

기상자료개발포털에서 제공하는 오픈 API 중에는 지난 8월 제주와 남부 지역에 큰 피해를 줬던 태풍 ‘솔릭’에 대한 정보도 제공한다. ‘태풍정보’ 오픈 API 사양을 설명하고 해당 API의 명세서에 해당하는 ‘OpenAPI_사용자_활용가이드_기상청_태풍정보조회서비스__v1.3.hwp’ 첨부파일을 살펴보면, 다음과 같은 주요 내용들이 있다.



1. 서비스 개요
1.1. 오퍼레이션 목록
(1) 태풍정보조회 오퍼레이션 상세
> 요청 메시지 명세, 응답 메시지 명세, 요청 /응답 메시지 예제
(2) 태풍정보목록조회 오퍼레이션 상세
> 요청 메시지 명세, 응답 메시지 명세, 요청 /응답 메시지 예제
(3) 태풍예상정보조회 오퍼레이션 명세
> 요청 메시지 명세, 응답 메시지 명세, 요청 /응답 메시지 예제
# 태풍크기정보, # 태풍강도정보


기상청 외에도 기상정보를 제공하는 곳들도 있다. ‘윈디닷컴’은 미국과 유럽의 예보를 기반으로 민간인 5명이 운영하는 온라인 사이트로, 태풍이나 파도와 같은 실시간 기상 상황 및 예측을 활용하여 다양한 서비스를 개발할 수 있도록 관련 API를 제공한다. 윈디닷컴에서 제공하는 오픈 API를 이용해 윈드서핑 전문 앱에서는 서핑을 즐기는 이들을 위해 선택한 해변에서의 너울과 파도, 풍랑 등의 정보를 보여주고, 애니메이션 해주는 서비스를 하는 윈드서핑 전용 서비스를 만들 수도 있다.

이처럼 우리 생활과 밀접한 오픈 API들이 존재하며, 이미 여러 서비스에서 활용되고 있다. 오픈 API로 인해 세상이 빠르게 발전하고 있고, 실시간으로 변하고 있다. 우리나라 정부 역시 국가적으로 보유하고 있는 방대한 양의 데이터를 개인 또는 기업이 활용해 특화 서비스를 개발할 수 있도록, 2543건의 API(2018년 8월 현재)로 만들어 ‘공공데이터포털’을 통해 공개하고 있다.

금융사, 오픈 API 플랫폼으로 신규 활로 모색

API는 오래 전부터 IT업계에서 사용해 온 익숙한 기술이지만, 최근 디지털 경제 시대로 접어들면서 그 쓰임새가 늘어나고 있다. 시장조사기관 가트너는 향후 클라우드, 사물인터넷(IoT), 핀테크, 블록체인, 공유경제 등 다방면에서 API가 핵심이 될 것이라는 예상을 내놓기도 했다. 과거에는 세상이 빠르게 변하지 않았다. 그렇기에 기업들은 자기만의 비즈니스를 중심으로 장기적인 플랜에 맞춰 혁신해나가도 문제가 없었다. 그러나 디지털 기술이 확산되고, 이에 익숙한 세대가 소비의 중심축으로 떠오르면서 우버, 에어비앤비 등과 같이 디지털 기술을 활용해 새로운 서비스를 제공하는 기업들이 성장했다. 이들은 기존 산업 구조를 뒤흔들 정도의 강력한 영향력을 발휘하면서 파괴적인 혁신을 주도하는 ‘디지털 디스럽션(Digital Disruption)’의 상징으로 떠올랐다.

API의 활용도가 높아지면서 점차 API 관리(APIM) 솔루션 시장도 성장하고 있다. 시장조사기관 포레스터리서치는 2014년부터 2020년까지 미국 내 APIM 시장 규모가 연평균 30%의 성장률을 보이며 빠르게 성장할 것으로 내다봤다. 특히 2020년까지 미국 기업 중 40%가 APIM 솔루션을 도입할 것이며, 시장 규모 역시 10억 달러에 이를 것이라는 전망이다.

2016년 상반기 금융결제원이 KB국민은행을 포함한 16개 시중은행이 자발적으로 참여해 세계 최초로 참가 은행과 핀테크 기업이 서비스 개발 과정에서 서로 소통할 수 있는 통로인 은행권 공동 오픈플랫폼을 구축하면서 국내에서도 본격적인 APIM 사업이 시작됐다. 불과 몇 년이 지나지 않았지만, 업계에서는 금융권을 시작으로 점차 시장이 넓어질 것으로 전망하고 있다.

금융권은 핀테크 이슈와 맞물려 디지털 혁신을 위해 오픈 플랫폼으로의 전환을 시도했으며, 그 방안으로 API 체제 구축에 나섰다. 그러나 몇 번의 금융 사고를 겪어왔던 만큼 APIM 구축에 있어 보안적인 부분과 안정성에 많이 치중했다. 비록 금융권에서의 사업이 활발해졌지만 그 한계점은 명확히 존재했다. 핀테크 기업들에 대응하고자 API 사업을 시작했지만, 구체적인 비즈니스 모델에 대한 고민이 부족했기 때문이다. 현재는 다양한 금융서비스들이 출현했지만 초기에는 개인정보보호법과 같은 컴플라이언스를 준수하면서도 이용자의 편의를 위한 방안으로 API를 활용하는 수준에 머물러 있었다.

일반적인 APIM은 기업 내부망과 외부망 사이 DMZ 구간에 위치하며, API 호출과 배포가 직접적으로 이뤄지도록 하는 API 게이트웨이와 내·외부 리소스의 API 사용 계획·패키지화·프로비저닝·모니터링 하는 작업을 손쉽게 수행할 수 있도록 돕는 개발자 포털로 구성된다. 여기에 솔루션 벤더별로 추가 기능을 덧붙이기도 한다. 금융결제원에서 구축한 은행권 공통 오픈플랫폼의 구성도를 살펴보면 <그림 1>과 같다.


 ▲ <그림 1> 금융결제원 은행권 공통 오픈플랫폼 구성도

<그림 1>과 같이 이미 구축됐거나 현재 구축 중인 금융권의 모든 오픈 API 플랫폼은 해당 생태계를 구성하는 구성원이 존재한다.

● API 중개자(API Intermediary): 금융결제원의 은행권 공동 오픈플랫폼 특성상 API 중개자가 존재하고, API 개발자 포털을 이용해 참가은행에서 구현 제공하는 API 명세를 등록 관리하며, 이용기관이 API를 활용한 서비스를 개발할 수 있도록 지원하고, 이용기관의 API 활용 서비스로부터 호출된 API 요청에 대해 API 게이트웨이에서 받아 인증/보안을 체크한 후 참가은행의 API 엔드포인트를 직접 호출해 실행 결과를 응답함.

● API 제공자(API Provider): 금융결제원의 은행권 공동 오픈플랫폼에 참여한 16개 시중은행으로, 금융결제원에서 정의한 API 명세에 해당하는 기능의 API 구현체를 제공함.

● API 사용자(API Consumer): 금융결제원의 은행권 공동 오픈플랫폼의 이용기관으로, 금융결제원에서 제공한 API 명세를 참고해 API를 활용한 서비스를 개발하고, 해당 기관의 고객에게 제공함.

● API 활용 서비스 사용자: 금융결제원 은행권 공동 오픈플랫폼의 이용기관이 개발해 제공한 API 활용 서비스를 사용하는 실제 고객.

2018년 8월을 기준으로 가장 최근에 완료된 금융권 ‘오픈 API 플랫폼 구축’ 사업을 살펴보면 최신 APIM 기술에 대한 활용 및 오픈 API 플랫폼 구축 방향과 그 기술적인 추세에 대해 알 수 있다. 해당 사업에서 구축 완료한 오픈 API 플랫폼 구성도는 <그림 2>와 같다.


▲ <그림 2> 최신 오픈 API 플랫폼 구성도

<그림 2>에서 보여주는 오픈 API 플랫폼을 구성하고 있는 각 컴포넌트에 대해서 자세히 살펴보자.

● API 게이트웨이: 모든 API 활용 서비스의 API 요청에 대해 인증 및 라우팅을 기본으로 수행하며, 오픈 API에 대한 엔드포인트를 통합하는 중개자. 이와 함께 인증 및 권한, 비용 제한(Rate Limit), 모니터링, 로깅 등 추가적인 기능을 제공함.

● 통합 포털 및 권한관리: 통합 포털은 관리자 포털, 개발자 포털, 서비스 포털 등으로 세분화 되는데, 관리자 포털에서는 API 게이트웨이 및 API 엔진 관리, 오픈 API 관리, 사용자·이용기관·API 활용 앱 관리, API 정책 관리 및 체이닝 거래 설정 등의 기능을 제공하고, 개발자 포털에서는 API 활용 서비스를 개발하는 개발자가 API에 대해 교육 및 테스트 등의 기능을 제공하며, 서비스 포털은 API 실행 현황에 대한 실시간 모니터링 및 통계, 거래추적, 이용기관별 API 사용량 통계 및 과금 등의 기능을 제공함.

● API 엔진(Engine): API 엔진은 오픈 API 플랫폼을 구축하는 금융사의 다양한 레거시 서비스에 대해 API/인터페이스 생성만으로 오픈 API로 공개할 수 있도록 해주는 솔루션이다. 공개된 API 호출에 대해 JSON 형태의 입력 전문을 변환, 해당 레거시 서비스를 MCI/EAI와 연계하거나 직접 호출하고, 레거시 서비스의 응답을 JSON 형태로 변환해 오픈 API 호출자에게 전달해 줌. API 엔진은 기존 AP 서버의 역할을 하며, API 게이트웨이, MCI·EAI/ESB 등 인터페이스 시스템, 레거시 시스템 등의 부하를 줄여줌.

● API 사용자: 해당 금융사에서 제공하는 API를 활용해 전용 서비스를 개발하는 이용기관.

● 기존 처리계: 해당 금융사에서 기 구축해 운영 중인 레거시 시스템으로, 여기에는 MCI 및 EAI 등 연계 인터페이스도 존재함.

● 신규 시스템: 오픈 API 전용 서비스를 제공할 수 있도록 개발하려고 계획 중인 시스템.


▲ <그림 3> 오픈 API 라이프 사이클

① API 개발자는 API를 생성하고 API 엔진에 등록함. 레거시 서비스를 오픈 API로 공개하고자 할 경우, 해당 서비스의 전문을 가져와(import) 자동으로 API로 생성하고, 입·출력 파라미터의 타입, 크기, 암·복호화, 마스킹 등의 속성을 설정함.

② API 관리자는 API 개발자가 생성한 API, 앱 개발자의 사용자 및 API 활용 앱 등을 등록·관리하고 승인·반려함.

③ 앱 개발자는 API활용 서비스를 개발하기 위해 사용자 등록, 개발하려고 하는 API 활용 앱 등록, 사용하려는 API 등록 등을 하고 승인 신청함.

④~⑤ API 활용 앱 개발자는 API 개발저 포털에서 제공하는 API 명세 및 가이드를 이용해 API 활용 앱을 개발하고, 테스트용 API 게이트웨이를 통해 API 실행 테스트를 함. 이렇게 개발 완료된 API 활용 서비스를 앱스토어에 배포함. 이때 하이브리드 앱을 개발할 경우, API 활용 앱 전용 모바일 SDK를 활용해 API 관련 모든 기능을 처리할 수 있음.

⑥ 앱(API활용 서비스) 사용자는 앱을 실행해 API 활용 서비스를 사용함.

⑦ API 활용 앱의 특정 화면에서 API를 호출할 경우, API 게이트웨이에서 해당 API의 실행을 요청함. 이를 위해 API 활용 앱 전용 모바일 SDK를 활용해 처리함.

⑧ API 게이트웨이는 해당 API 실행 요청에 대해 인증 및 보안, API 정책(API 사용정책, 비용 제한 등)을 체크한 후 정상적인 요청일 경우, API 엔드포인트를 제공하는 API 엔진으로 라우팅 함.

⑨ API 엔진은 API 게이트웨이로부터 전달받은 API 실행 요청과 함께 전달된 요청 전문에 대해 복호화·암호화·유효성 확인(Validation) 등을 수행한 후, 레거시 서비스를 호출하기 위한 전문으로 변환하고 레거시 서비스를 호출함.

⑩ 레거시 서비스의 응답에 대해 API 클라이언트를 위한 전문으로 변환한 후, API 게이트웨이에게 응답함.

⑪ API 게이트웨이는 API 엔진으로부터 받은 응답을 API 활용 앱에게 응답함.

⑫ API 활용 앱은 API 게이트웨이에서 전달받은 정상 또는 에러 응답을 화면에 표시함.

금융권 오픈 API 사업에 따른 장단점

필자는 2016년 중반부터 신한금융그룹, KB금융그룹 등의 오픈 API플랫폼 구축 사업에 참여해왔다. 신한금융그룹 오픈 API 플랫폼 구축 프로젝트에서는 셰어드플랫폼(써니뱅크 앱 개발) 구축 사업의 일환으로 수행된 신한카드의 오픈 API 플랫폼 구축 및 API 엔진을 개발했으며, KB금융그룹에서는 각 그룹사에서 오픈 API를 개발하기 위한 가이드를 개발해 제공했다. 또한 KB국민은행, KB손해보험, KB카드 등에서 레거시 서비스를 연계해 오픈 API를 개발하기 위한 주요 모듈도 개발해 제공한 바 있다. 국내 금융 그룹들의 굵직한 오픈 API 플랫폼 구축 사업에 참여하면서 느낀 점은 다음과 같다.

- 국내 금융권 시스템은 메인프레임·TP·WAS 등으로 구축된 레거시 시스템과 단위 시스템을 중심으로, MCI·EAI·FEP 등 연계시스템 등 시스템 체계가 매우 잘 돼 있다.

- MCI·EAI·FEP 등에서 사용되는 전문에 대한 통합 전문관리 시스템이 이미 구축돼 있고, 기업 내 애플리케이션의 개발·테스트·운영 간 형상관리를 위해 잘 활용되고 있다.

- APIM 솔루션을 도입해 오픈 API 플랫폼을 구축함으로써, 개인정보보호법과 같은 컴플라이언스 이슈를 해결하고, 디지털 트랜스포메이션 및 오픈 뱅킹을 위한 기반 준비를 충실히 하고 있다.

한편 다음과 같은 문제도 존재한다.

- APIM의 초기 도입 단가가 높고, 향후 마이크로서비스 아키텍처로 전환하기 위한 API 게이트웨이를 확장하기 위해 드는 비용이 크다.

- 이 제공하는 API 게이트웨이에서 인증·통제·라우팅을 수행한 후, 레거시 시스템의 기능을 호출하기 위한 API를 개발·테스트·운영하기 위한 방안이 전혀 없다. 이렇게 API 개발·테스트·운영 방안이 부재하기에 오픈 API를 활용해 고객에게 직접 또는 파트너를 통해 제공하는 API 활용 서비스를 개발하는데 집중할 수 없다.

- 따라서 고객이 갖고 있는 MCI·EAI·FEP 등의 통합 전문관리 시스템에서부터 API를 쉽고 빠르게 개발·테스트·운영하기 위한 방안이 필요하다. 이렇게 고객의 레거시 시스템의 기능을 쉽고 빠르게 오픈 API로 공개할 수 있다면, 고객은 API 판매 및 API 활용 서비스의 개발에 좀 더 집중할 수 있다.

- API는 무상태(stateless)이며 단일 호출 단위로 수행되다 보니 세션 및 체이닝 거래 통제와 같은 기능이 절대적으로 필요하다. 그래서 오픈 API 플랫폼을 구축할 때 클라우드 네이티브 애플리케이션(Cloud Native Application)을 개발하기 위해 필수적인 기능 요소들에 대해 선행적으로 방안을 마련해야 한다.

- 또한 API 활용 앱을 개발하기 위해서는 기존의 모바일 앱에서도 필수적인 키보드 암호화, E2E 암호화 등의 컴플라이언스를 지켜야 한다. 이를 위해서는 반드시 API 활용 앱을 위한 API 활용 전용 모바일 SDK를 제공해야 한다.

출처 : 데이터넷(http://www.datanet.co.kr)