다음과 네이버의 매쉬업 경진대회와 우리의 Open API

다음커뮤니케이션과 NHN이 공동으로 “2007 대한민국 매쉬업 경진대회”를 개최합니다. 이번 대회의 개최를 적극 환영하며, 이전 “정체되어있는 Open API와 Mashup 서비스” 포스트에서 밝혔던 아쉬움이 이번을 기점으로 많이 변하기를 기원합니다.
 
스마트플레이스에서는 이번 대회에 조금이나마 도움이 되고자 기획 포스팅을 준비하고 있습니다. 기본적인 설명을 비롯한 실전 예제들을 개발하고, 여러분들께 코드까지 공개하고자 합니다. 오늘은 그 첫 번째로 국내 Open API의 현황에 대해 이야기하고자 합니다.
 
API vs. Open API
고전적인 의미의 API(Application Programming Interface)는 운영체제와 응용프로그램 사이의 통신에 사용되는 언어나 메시지를 의미합니다. 즉, 일종의 블랙박스로 볼 수 있는 기능들의 집합인 것입니다. 실제 내부의 구현은 어떻게 되는지 알 수 없으나 API가 요구하는 값을 전달하면, 그에 맞는 결과값을 반환해주는 구조로 되어 있습니다. 그렇기 때문에 프로그래머들은 이들 API만 조합하여도 원하는 프로그램을 제작할 수 있습니다.
 
이런 API가 하나의 PC를 벗어난 모습이 바로 Open API라 할 수 있습니다. Open API는 특정기능 또는 콘텐츠를 가진 서비스 업체가 자신들의 서비스에 접근할 수 있도록 외부에 접근방법을 공개하는 것을 의미합니다. 이는 해당 서비스 업체를 중심으로 새로운 인터넷 생태계를 구축한다는 중요한 의미를 가집니다. 더불어 API를 이용하여 새로운 프로그램을 만드는 것처럼 매쉬업은 이런 Open API를 이용하여 새로운 서비스를 개발하는 형태를 의미합니다.
 
즉 Open API는 해당 서비스로 접근하기 위한 규약 또는 표준적인 인터페이스를 의미하는 것이고, 매쉬업은 이들 Open API를 이용하여 새로운 서비스를 만드는 것을 의미합니다.
 
Google, Microsoft, Amazon에서는 이미 여러 Open API를 공개하였고, 이들을 활용한 많은 수의 매쉬업 서비스를 찾아볼 수 있습니다. 국내에도 네이버, 다음, 알라딘과 같은 업체들이 자사의 콘텐츠를 외부에서 사용할 수 있도록 2006년부터 Open API를 공개하고 있습니다. 각 서비스 사이트를 통해 이들 API를 활용하는 예제들을 살펴볼 수 있습니다.
 
국내 Open API 비교하기
현재 가장 많이 알려져 있는 네이버, 다음, 알라딘에서 제공하는 Open API들을 간단히 비교해 보겠습니다. 

 
실제 매쉬업 서비스를 구축할 때 사용할 수 있는 유용한 API들만 정리해 보았습니다. 서비스 제공 업체가 포털 사이트이기 때문에 자사의 콘텐츠를 접근할 수 있도록 다양한 검색 API를 제공하고 있는 것을 확인할 수 있습니다.
 
각 업체별 Open API의 특징적인 항목을 살펴보면 다음과 같습니다. 네이버의 경우 방대한 네이버의 지식iN 검색, 현재 시간의 네티즌 의견을 보여주는 실시간 검색어, 지도 API가 있습니다. 다음의 경우 카페 검색, 뉴스 검색, 설명문까지 출력되는 일본어 사전이 있습니다. 알라딘의 경우 자사 서비스에 축적된 모든 상품을 노출하고, 이를 TTB 서비스에 연계하고 있습니다.
 
Open API를 실행하기 위해서는 GET/POST 방식으로 해당 서비스 URL에 요청해야 합니다. 이때 일반적으로 각 서비스에서 할당 받은 Key 값을 전달해야 합니다. 다음과 네이버의 경우 해당 서비스의 쿼리를 하루에 5,000회로 제한하고 있는 부분도 실제 서비스 구축에 주의해야 하는 부분입니다.
 
이들 Open API의 실행결과는 보통 RSS, XML, JSON 방식 중 하나로 반환해 줍니다. 네이버의 경우 RSS 형식으로만 결과 값을 반환하고, 다음의 경우 RSS, XML, JSON을 모두 지원하며, 알라딘의 경우 RSS와 JSON 방식을 지원합니다. 이들 Open API가 공통적으로 지원하는 반환 형식은 RSS 형식이므로 추후 구현에 참고하시기 바랍니다.
 
왜 Open API인가?
그렇다면 왜 Open API를 사용하고, Open API의 중요한 의미는 무엇일까요? 외형적으로 본다면 자신의 서비스 안에서 Open API를 제공하는 곳의 콘텐츠나 기능을 구현할 수 있는 장점을 가집니다. 예를 들어, 이곳 스마트플레이스에서 네이버나 다음의 검색 결과를 사용할 수 있는 것입니다.
 
Open API가 없다면 해당 서비스 사업자와 직접 계약을 맺어 서비스를 제공하던가, iFrame과 같은 편법으로 구현하여야만 했던 부분들입니다. 자신의 서버에서 어떠한 언어로 구현하더라도 네이버, 다음, 알라딘의 콘텐츠를 가져와 사용자들에게 보여줄 수 있다는 것은 상당히 매력적인 일인 것입니다.
 
예를 들어 여행사이트를 개발한다고 생각해 봅시다. 사이트를 방문하는 고객들에게 보다 편리한 서비스를 제공하기 위해 항공권, 렌터카, 보험, 호텔 예약과 같은 부가 서비스를 개발할 예정입니다. 하나의 여행 사이트 개발에 이들 외부 서비스를 직접 개발한다면 아마 엄청난 비용이 발생할 것입니다.
 
그러나 각각의 서비스 업체들이 예약과 관련된 Open API를 제공한다면, 이 여행 사이트에서 다른 서비스 사이트로의 이동 없이 해당 기능을 구현할 수 있습니다. 이런 환경이 될 때 여행 사이트는 예약 업무 이외의 자신들의 고유 서비스 개발에 충실할 수 있고, Open API를 이용한 예약 서비스도 편리하게 개발하여 제공할 수 있는 것입니다.
 
아래의 네이버, 다음, 알라딘의 책 검색 예제를 실행하여 보십시오. 이들 모두 스마트플레이스에서 호스팅되는 페이지입니다. 그러나 각 서비스 업체에서 제공하는 정보를 가져오고, 검색할 수 있습니다. 이것이 바로 Open API를 사용하는 이유인 것입니다. 더불어 Open API를 제공하는 업체는 자신들의 콘텐츠를 소비하는 대상을 넓히고, 나아가 추가적인 수익을 발생할 수 있는 접점이 되는 것입니다.
 
[네이버책검색]
[다음책검색]
[알라딘책검색]
 
이번 포스팅을 통해 국내 Open API에 대해 알아보았습니다. 더불어 실제 예제 페이지를 통해 어떻게 실행되는지 그 결과를 살펴보았습니다. 매쉬업을 위한 첫 걸음을 내디딘 것입니다. 다음 포스팅에는 이번 포스팅에 사용한 예제들의 코드를 여러분들에게 소개하고, 매쉬업을 위한 서비스 모델을 검토해 보도록 하겠습니다.
스마트플레이스의 글을 편리하게 구독하세요. 한RSS 추가 구글추가
크리에이티브 커먼즈 라이센스
Creative Commons License이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

트랙백 (0) | 덧글 (18)
트랙백 주소: http://www.smartplace.kr/trackback_post_109.aspx
스마트플레이스의 트랙백은 스팸방지를 위해 관리자 승인 후 등록됩니다.

choong 2007-02-22 12:16:32     답글 삭제
음.. 저도 이번에 참가하려고 맘먹고는 있습니다.
27일 세미나도 신청했구요 ^^ asp.net ajax 사용해보려고 합니다. ^^
위의 책 검색 버그가 있습니다. 한글 검색후 페이지 이동할시.
검색어 인코딩 문제인거 같은데요 ^^
네오비스 2007-02-22 12:33:03     삭제
참여하셔서 좋은 결과 얻으시기 바랍니다. 한글 인코딩 문제는 로컬에서 충분히 테스트를 하였는데 발생하는가 보군요? 제 PC 환경에서는 에러가 잡히지 않아서 말이죠. 일단 다른 처리를 해 두었는데 다시 한번 테스트를 해 주시기 바랍니다. 덧글 감사합니다. ^^
choong 2007-02-22 13:32:31     삭제
이전에 다음으로 검색을 했다면 2페이지에서는 ?음으로 변경 3페이지에서는 ??로 변경됫었거든요.
현재는 네이버와 알라딘은 제대로 작동하는데 다음은 제대로 작동하질 않네요 ^^
네오비스 2007-02-22 16:08:11     삭제
이제는 될 것입니다. 그쪽만 코드가 이상하게 적용되어 있더군요. 지적 감사합니다. ^^

학주니 2007-02-22 14:01:10     답글 삭제
괜찮은 아이디어라 생각합니다. ^^; 많은 관심을 가지고 보는데 이거 이용해서 서비스사이트 하나 만들 수 있을듯 해요. ^^;
네오비스 2007-02-22 16:08:42     삭제
저희 소스가 도움이 될 수 있도록 정리를 해 보겠습니다. 멋진 서비스 사이트 하나 만들어 주시기 바랍니다. ^^

kkongchi 2007-02-22 14:11:13     답글 삭제
좋은 글 잘 읽고 갑니다.^^ 이 기획 끝난 뒤에는 구글, 아마존 등의 국외 API들도 정리해주시면 정말 좋을 듯..
네오비스 2007-02-22 16:09:21     삭제
네.. 구글, 아마존, MS와 기타 유명한 API들을 정리할 수 있도록 준비해 보겠습니다. 말 그대로 매쉬업이 되려면 여러 소스들이 있어야죠. 덧글 감사합니다. ^^

djsol 2007-02-22 16:11:09     답글 삭제
kkongchi님의 제안에 한표..
네오비스 2007-02-22 16:28:48     삭제
적극 검토하도록 하겠습니다. ^^

nkokon 2007-02-22 17:49:39     답글 삭제
글 감사합니다.
앞으로 올리실 포스팅도 기대하겠습니다.
네오비스 2007-02-22 18:02:08     삭제
기대에 부흥할 수 있도록 잘 준비하겠습니다. 응원 감사합니다. ^^

onemins 2007-02-23 09:52:23     답글 삭제
항상 좋은글 감사합니다...
다음번 포스팅도 기대할께여~~
네오비스 2007-02-23 10:40:55     삭제
덧글 감사합니다. 다음번 포스팅도 잘 준비해서 조금이나마 도움이 될 수 있도록 하겠습니다. ^^

유리카 2007-02-23 10:11:12     답글 삭제
좋은 글 잘 읽었습니다.
혹시 외국 API도 다루신다면 이미 아실거라 생각하지만 http://www.programmableweb.com/ 이 곳을 참고하시면 큰 도움이 될 것이라 생각되네요^^
네오비스 2007-02-23 10:41:53     삭제
해당 사이트는 잘 알고 있죠. 이번글과 이전에 글에서도 좋은 레퍼런스로 인용을 했으니까요. 덧글 감사드립니다. ^^

NoPD 2007-02-23 11:23:54     답글 삭제
글 잘 읽었습니다~!
네이버가 처음 OpenAPI를 공개했을때 잠깐 이용을 했었는데,
그때보다 많이 "개방적"으로 바뀌었는지 모르겠습니다...
당시... 사전검색등의 경우 정작 필요한 본문은, 네이버 링크로만
제공하는 등의 문제점들이 많이 지적 되었거든요...

INETA 에서도 인상적으로 세션발표 들었었습니다~
지속적인 관련글 포스팅 부탁드립니다~
늘.. 지켜보고 있습니다 ^^;; (무섭죠? ㅎㅎ...)
네오비스 2007-02-23 11:26:17     삭제
네이버의 경우 그 이후 Open API에 대한 추가와 변경의 논의를 활발히 진행되었으나 아직까지 업데이트는 되지 않았더라구요. 늘 지켜보신다니 너무 무서운데요. 다음에는 인사라도 하시죠. ^^

이름 비밀번호
홈페이지
덧글
비밀글
RSS 피드
전체글한RSS 추가 구글추가
스마트가젯북스타일
Demo Day