프론트엔드

API 서비스 개요 및 Business 관점의 특징

CyberI 2016. 7. 4. 16:13

2015년 BCS(Chartered Institute for IT)는 간부급 IT전문가 350명을 대상으로 향후 12개월의 단기 계획과 3~5년간의 중장기 계획을 조사했는데 향후 12개월 동안 대다수의 기업에서 우선순위가 높은 3개로 정보보안(60%), 클라우드 컴퓨팅(55%), 모바일 컴퓨팅(53%)이 꼽았습니다.

그러나 회사가 우선으로 하는 IT동향과 경영 문제를 해결할 만한 충분한 자원이 없다고 느낀다는 IT임원이 무려 92%나 됐었고, 조사에 응한 IT임원의 절반 이상인 53%는 기존 인력 가운데 고급 IT인력과 충분한 자격을 갖춘 IT인력들이 현재와 동일한 수만큼 더 필요하다고 답했습니다. 충분한 인력 자원을 보유하고 있다고 말한 응답자는 8%에 불과했습니다.

위에서 볼 수 있는 대부분의 IT 관리자들은 느끼는 공통점은 다음과 같은 단어로 요약할 수 있습니다.


“다양한 기기에서 기업정보를 손쉽고 안전하게 활용하며 한정된 자원으로 업무의 효율성을 극대화 “


현실적으로 위와 같은 문제를 한번에 해결해 줄 수 있는 방법을 찾기는 쉽지 않습니다. 하지만 기업내의 감춰진 주요 정보를 보안 문제없이 손쉽게 개발,활용하고 다양한 채널에서 이용할 수 있다며 위 문제를 해결하는 첫 번째 단추 역할을 할 수 있을 것 입니다.


기업 내 공통 API Service 구축은 위와 같은 문제점을 해결하고 기업의 유연성 및 기업환경 변화 속도를 가속화 할 수 있습니다.


먼저 API Service 의 핵심적인 사상에 대해 알아보겠습니다.


OPEN 기술에 의한 Mash up

API 의 protocol 및 사상은 표준 웹에 기반을 두고 있습니다. 즉 기계나 사람 누구나 이해하고 손쉽게 쓸 수 있도록 HTTP 기반으로 API 를 쓸 수 있어야 하며, 데이터 포맷도 JSON 및 XML 과 같이 특정기업의 정의된 규약이 아닌 일반적인 객체 모델을 기반으로 시스템 확장 및 연계, 협업 등에서 매우 편리한 장점을 가지고 있습니다.


웹 기반의 강화된 보안

기본적으로 데이터 보안을 위해 HTTPS 기반으로 통신 보안을 하며 인증을 위해 기존 웹처럼 id/password 기반이 아닌 인증키 기반으로 처리됩니다 따라서 보안 문제 발생시 인증키 폐기 만으로 손쉽게 대응이 가능합니다.


손쉬운 Scale Up

서비스가 확대되면 사용자 접속수가 늘 때마다, 손쉽게 서비스 대응을 위해 linear scale up 을 지원해야 합니다.API 서비스는 손쉬운 서버 증설 만으로 손쉽게 서비스의 scale up 이 가능한 기본 사상을 가지고 있습니다. 또한 서비스간의 조합, 확대를 통한 서비스의 Scale Out 도 기대할 수 있습니다.



API 란 무엇인가?


API는 Application Programing Interface의 약자로 API 라는 용어자체는 IT 종사라면 누구에도 익숙한 용어입니다. 이런 익숙한 용어로 인해 API Service 를 이해하는데 장점도 있지만 기존 용어정의 때문에 방해되는 부분도 있습니다.


Wikipedia 에서는 API를 다음과 같이 정의하고 있습니다.

“Specifies how software components should interact with each other.”


그리고 Web API 에 대해 좀더 자세히 기술하면 다음과 같습니다.

“A set of Hypertext Transfer Protocol (HTTP) request messages, along with a definition of the structure of response messages, which is usually in an Extensible Markup Language (XML) or JavaScript Object Notation (JSON) format.”


결국 Web API는 기술적 정의 없이 다름과 같이 정의할 수 도 있습니다.


“표준기술에 기반한 네트워크 통신을 통해 소프트웨어 컴포넌트간에 메시지 송수신을 위한 표준 Interface”


이 문서상에서 “API”의 의미는 “Web API”를 의미한다고 보면 되겠습니다.


즉 API 기반의 서비스는 기업내부의 데이터나 업무 프로세스를 웹 표준기반 기술에 의해 시스템 간의 연계나 다양한 Device 간의 통신을 손쉽게 구현 가능하도록 하는 기술입니다.





RestFul Web API

API 기반 서비스 구축에서 자주 언급되는 용어가 RestFul 기반의 API 입니다. Web API 방식에서는 최소한의 규약을 정의하고 사용자나 기업마다 확장성 있게 사용될 수 있는 기초를 마련하고 있습니다. 그 중에서 중요한 요소가 RestFul 기반으로 API를 작성하도록 하고 있습니다.


RestFul 이라는 용어는 Representational State Transfer의 약자인 REST방식을 충분히 충족시키는 API를 말합니다. REST 기반은 HTTP 방식의 GET,POST,PUT,DELETE 등의 메소드를 각각 데이터에 대한 SELECT,INSERT,UPDATE,DELETE 로 매핑을 시키고 시스템이 필요로 하는 데이터 처리 방식으로 명시적으로 표현할 수 있도록 하고 있습니다.


또한 자원 탐색을 위한 URL 구조나 에러 처리에 대해 REST는 관습적인 방식으로 정의하고 있습니다.


 


Web 기반의 Security

API 기반의 서비스는 웹 기반의 표준 보안 아키텍처를 사용하고 있습니다. 통신보안은 SSL 기반의 HTTPS 를 사용하고 사용자 인증처리를 위하여 인증키 기반의 통신 방식 또는 OAuth 기반으로 사용자 인증처리를 합니다. 

보안처리 과정이 특정회사에 종속적이기 않기 때문에 웹 브라우저나 모바일 앱 또는 다른 API 시스템과 보안 문제없이 시스템 연계성을 향상시킬 수 있습니다.


Multi Data Source Adapter

API 서비스를 구축하기 위해서는 처음부터 잘 정의된 API 기반의 서비스를 만드는 방법이 있을 수 있지만, 기업내의 모든 data source로부터 일일이 API 를 전환한다는 것이 결코 쉬운 일이 아닙니다.

기업 내부에는 DBMS뿐만 아니라 Tuxedo와 같은 TP 모니터, EAI 솔루션, 비동기 처리를 위한 JMS 서버, Mail 서버등 다양한 시스템과 손쉽게 연계하여 API를 개발할 수 있어야 합니다.

따라서 실제 API 개발을 위해서는 다양한 Data Source와 연계할 수 있는 기반 기술이 뒷받침 되어야 합니다.


API Management

기업 내부에서 개발되는 API는 통제되고 관리가 되어야 합니다. 특정 채널 또는 특정 시스템에게만 API를 쓸 수 있게 허용을 한다던가, API 로직에 대한 용어 메타관리, 버전업 관리, 또한 급작스러운 문제에 대해 서비스 중단 또는 대체 서비스 routing 등 중앙 통제가 가능하여 진정한 API 기반의 Platform을 완성 할 수 있습니다.

또한 API 사용에 대한 과금 또는 문제 발생시 해결을 위한 상세한 Logging 등도 필요한 기술입니다.


     

      

[DBridge API Server 관리자 예시]



API 관련 산업 기술 동향


1) API 성장세 추세

- Programableweb 의 OPEN API 개수 1만개 돌파 및 Internal 및 B2B 기반 API의 증가세

- OPEN : Private 비율이 1:9 임을 감안하면 총 10~20만개의 API 존재 추정


2) API 산업 주류 편입

- 일반 IT 기업뿐만 아니라, 헬쓰,스포츠웨어,소매상,건설,제조업등 채택 가속화


3) API 조합 서비스 제공자 증가

- 공개된 API를 합쳐서 하나의 싱글 포인트로 제공하는 조합서비스 증가

- Ex) http://segment.io , https://www.zypr.net


4) API 기반의 web app 및 Mobile App 개발

- AngularJS 및 famo.us 등 HTML5 기반의 single web page 개발 추세

- 하이드브리드 앱 및 native mobile app 개발시 API 활용성 증대


5) 공공 시민 데이터 활성화

- 정부 및 자자체 중심의 시민 공유 데이터 활성화

- Ex) www.data.go.kr, www.open311.org, data.seoul.go.kr


6) 금융권 확대 사용

- 핀테크 활성화를 위한 OPEN API 기반의 금융권 공동 오픈 플랫폼 사업

- Financial Market Data API Service (http://www.xignite.com/)

- Bloomberg API (http://www.bloomberglabs.com/api/)

- Nasdaq API Service (http://www.nasdaqdod.com/)


7) 기업간 API 기반의 협업

- 기업간 web API를 통한 서비스 활용 및 서비스 확장


8) 기업 자체 API 서비스 Platform 구축

- 기업내부 주요 데이터 자산을 API 화여 서비스

- 농협 OPEN API 서비스, 키움증권 OPEN API 서비스



비즈니스 관점에서 API 기반 서비스


Web API 기반으로 통일된 방식으로 기업 내부의 Data를 손쉽게 접근하고 활용할 수 있다면, 기업 IT 개발 생산성 및 효율성이 향상됩니다. 또한 향상된 웹 기반의 보안 및 체계적인 인증처리를 통해 Data 접근 통제 및 데이터 관련 서비스의 보안성이 향상됩니다.


기존 특정 기업 솔루션에서 제공되는 Interface 방법이나 비표준 통신 규약에 의한 시스템 연계(EAI 솔루션등) 방법은 기업 IT 시스템 확장을 어렵게 만들고 많은 유지보수 비용을 증대시킵니다.


일반적인 IT 서비스의 내부 데이터 자원은 Database 저장소에 보관되어 있고 업무로직은 각 파트별로 작성하거나 Legacy 를 통해 각 업무 채널별로 개발하여 각각의 통신 어댑터를 작성하거나 업무로직 구축에 많은 시간과 자원이 소요됩니다. API 서비스를 고려하지 않은 업무로직은 다른 서비스에서 활용을 어렵게 만드는 문제점을 가지고 있습니다.


이러한 문제점은 API 기반으로 작성하고 관리한다면 시스템 별 또는 채널별로 새로운 업무나 변경이 일어나도 매번 새로 개발할 필요 없이 그대로 가져다 블록형태로 조합하여 손쉽게 신규 업무나 시스템을 개발 할 수 있습니다.


APIs 는 Digital Economy(디지털 경제)의 시스템을 구축하기 위한 block의 한 형태로 사용하여 손쉽게 Digital Business 시대 대응을 할 수 있습니다.


 



API 기반 Business 의 장점


1) 복잡도 감소

기업의 내부 데이터 로직을 API 기반 서비스로 통일한다면, 시스템 연계에 필요한 기술을 별도로 개발하지 않아 손쉽게 이용이 가능하고 웹 기반의 표준화된 기술로 시스템 아키텍처 구성의 복잡도가 크게 감소합니다. 기존 방식처럼 특정 회사에 종속된 연계 기술을 사용하거나 SOAP이나 일반 TCP 통신에 기반한 복잡한 Protocol 사용시 이를 연계하기 위한 어댑터나 Gateway 성격의 서버들 배치되어 시스템을 복잡하게 하는 문제점을 어느 시스템이나 디바이스에서 연계가 편리한 API 기반으로 통일한다면 복잡도가 현격히 감소합니다.


2) 변화의 유연한 대처

OPEN 기술로 구현된 각 업무로직은 손쉽게 연계하여 활용이 가능하므로 기업환경 변환에 손쉽게 대처할 수 있습니다.

3) Access control의 중앙 관리

모든 기업 업무로직의 내/외부 사용에 대한 통제를 중앙 관리하여 보안에 대한 문제나 로직의 사용에 대한 권한을 손쉽게 변경 및 유지보수 할 수 있습니다.

4) Multi Channel을 통한 비즈니스 서비스 강화

API 기반의 서비스는 웹, 모바일 앱, 타 회사 연동 등 다양한 연계 채널 방법을 제공하고 있으므로 비즈니스 서비스 강화에 도움이 됩니다.


OPEN API vs Private API


각 기업의 API 사용이 늘어난 이유는 미국의 대표적인 web 2.0 기업 즉 구글이나 Facebook,Amazon 과 같은 회사에서 자사의 다양한 데이터 플랫폼을 개방함으로써 이를 이용한 다른 기업이나 확장 서비스를 개발하여 비즈니스 경쟁력을 강화하는데 있습니다.

API 방식은 데이터 공개를 목적으로 한 OPEN API로부터 발전하였지만, 기업 내부에서만 사용하는 목적인 Private API 기반 시스템 구축도 활성화 되고 있습니다. Amazon 인 경우 기업 내부적의 모든 data 처리 및 로직을 예외 없이 API 방식으로 처리하고 있습니다.


기타 private API 활용 기업

  • Amazon : 기업 내부 전체 Service Oriented 환경 구축
  • NPR : 내부 웹 및 모바일 시스템 개발용
  • Netflix : 고객 서비스용 서비스 개발
  • Twitter : 대외 웹 시스템 개발시 이용
  • eBay : Micro Service Architecture 기반 구축 

OPEN API 방식이 아닌 Private API 시스템 구축을 통해서 얻을 수 있는 비즈니스 장점은 다음과 같습니다.


1) 기업 내부의 협업 및 교류의 확산

McKinsey Global Institute에 따르면 원활한 내부 협업을 통해 20%에서 25%으로 기업의 생산성 향상을 가져온다고 합니다. 이는 기술적으로 API 기반의 서비스를 통해서만 가능한 일입니다.

조직간의 API 사용을 통한 협업은 기업내부의 데이터 모델에 대한 공유 및 관심을 극대화 할 수 있으며 새로운 아이디어를 도출하는데 막대한 영향을 줄 수 있습니다.

2) 기업 조직 구조의 현대화

기업 내부에서 private API를 통한 내부 업무 프로세스를 진행함으로써 조직 구조의 재구성 및 최적화를 할 수 있는 기회를 종종 발견하게 됩니다.

내부적 API 사용화가 활성화 되면, 데이터 모델에 따라 자주 사용되는 업무나 규칙이 발견되고 그에 따라 조직을 최적으로 개편할 수 있는 관점을 가질 수 있습니다.


3) Time-to-market의 가속화

내부 API 사용 활성화 시 새로운 제품이나 서비스 개발 속도를 향상 시킬 수 있습니다. 이 장점은 위에 언급한 내부 협업 및 조직 구조 현대화를 통해 나오는 장점입니다.

어떤 서비스를 개발하기 위하여 모든 자원을 가지지 않아도 손쉽게 개발하고 발전시킬 수 있습니다.

4) 정확한 비즈니스 고도화 측정

대부분의 기업 업무 시스템은 IT 시스템으로 통해 이루어집니다. 하지만 현실적으로 복잡한 IT 시스템의 데이터 사용이나 프로세스에 대한 정확한 분석을 하고 있지 못합니다. 통일된 내부 API 사용은 사용로그 기반으로 주요 데이터의 이용률이나 자주 사용되는 프로세스에 대한 명확한 분석이 가능합니다. 따라서 기업 업문 분석 및 이를 바탕으로 비즈니스 고도화를 실현 할 수 있습니다.


결론

API Service는 데이터 공개를 필요로 하는 기업에서만 필요로 하는 기술이 아닙니다. 앞서 설명한 여러 가지 장점을 통해 데이터 공개 목적 뿐만 아니라 기업 내부의 비즈니스 효율성을 극대활 할 수 있는 가능 현실적인 기술입니다. 그 동안 EAI 나 SOA(Service Oriented Architecture)가 추구하는 목적이 기술적인 난이도와 비현실성으로 인해 기업에 실질적이 도움이 안되었지만 API 기반의 서비스는 이미 외국 주요 기업에서 사용되고 그 성과를 입증한 기술로 기업의 경쟁력을 극대화할 수 있는 필수적인 요소입니다.