블로그 이미지
윤영식
Full Stacker, Application Architecter, KnowHow Dispenser and Bike Rider

Publication

Category

Recent Post

'apigee'에 해당되는 글 1

  1. 2013.03.22 [Open API] Apigee.com에서 이야기하는 Open API 원리1
2013. 3. 22. 10:38 NodeJS/Concept

Node.js를 이용하여 RESTful Web Services를 작성할 때 Open API에 대한 기본적인 인식을 가지고 시작하는 것이 좋겠다. Open API 를 만들기 위한 기본적인 원칙을 알아보자 



1) Open API 배우기  

KTH에서 Baas.io 라는 클라우드 서비스를 런칭하였다. 지인의 추천으로 써볼려고 들어갔는데, powered by Apigee 라는 문구가 낯설었다. apigee에서 이야기하는 Open API 기본 원칙을 보자

  - apigee에 대한 기본 생각 : 도움되는 사이트를 링크함 

  - apigee에서 발간한 Free eBook중 Web API Design 원칙 (한글 의역)


    + 기본 URL에는 동사가 아니라 명사를 사용한다 (단, 계산, 번역, 전환관련 부분은 동사씀)

    + 복수(컬렉션)을 먼저 나오게함 : /dog -> /dogs 처럼

    + 컬렉션뒤에는 개별적인 요소아이디(Elment ID) 가 온다 : /dogs/1234

    + 그외 복잡한 것은 ? 뒤로 두어라 : /dogs/1234?fields=name,age,location

    + 오류를 명확히 처리해라 : code, message, more_info, status 등으로 여기서 code는 HTTP code로 보냄

    + 버전관리를 한다 : /v1/dogs/1234 즉, 컬렉션 앞에 개들의 버전을 두는 것이다

    + 페이징 처리를 한다 : /v1/dogs?limit=25&offset=50  즉, limit, offset 을 키로 한다 

    + 다양한 포멧팅일 경우 . (도트) 사용한다 : /v1/dogs.json 그러나 json 포멧으로 통일해라 

    + 검색은 q 키를 사용 : /search?q=1234

    + 하위 도메인은 : api.xxx.com, developers.xxx.com 으로 api, developers 로 한다 

    + 권한 관리는 OAuth2.0 으로 통일

    + API Facade Pattern 을 지향한다 


  - 유명한 사이트들의 OpenAPI를 검색할 수 있다 : 페이스북, 트위터, GitHub, Google 서비스들 



2) apigee에서 이야기하는 RESTful API Design Guide


Web2.0 에 따라 많은 서비스들이 SPA 로 개발되고 Open API화 하면서 이러한 API를 모아서 관리할 수 있는 apigee 와 같은 스타트업이 생겨나고 있다. 큰 사상의 흐름에 따라 기술 또한 성숙하고 이에 따라 하나 둘씩 서비스가 생겨나면서 새로운 생태계가 탄생하였다. 물론 미쿡 이야기지만 우리나라에서도 카카오 플랫폼이 협력업체들과 폐쇄적으로 Open API 협업을 하긴 하는 듯하다. 하지만 생태계를 만들어 간다는 차원에서 그들만의 리그가 아닐까 싶다. 다른 나라에서 카카오의 플랫폼을 활용하려고 몇달씩 대기자 명단을 받으며 기다리고 함께 만들어 가고 싶어할까? 아마도 그것은 개발자 사이트와 Open API 정책 결여 그리고 기타등등 여러 사정이 있겠지만 역시 카카오 같은 모습은 앞으로 지향해 가야할 스타트업 회사들의 과제가 아닐까 싶다. 


* 퇴근길에 "소프트웨어 개발자에게 성공이란" 글을 읽었다. 카카오에 대해 느낀점 그리고 비즈니스에 대해서 느낀점, 기획한 제품을 끌고 가기위해 그동안 했던 행동들이 주마등처럼 스쳐지나간다. 나의 목표는 https://www.facebook.com/groups/smartdashboard  에서 계속 글로 표현해 가고 있다.



<참조>

  - 당신의 API가 RESTful 하지 않은 이유

posted by 윤영식
prev 1 next