110 likes | 309 Views
9 주 실습강의. - Open API Introduction: Yahoo! Pipes - 2008 컴퓨터공학실험 ( I ). Before Open API. 특정 기능 혹은 컨텐츠를 보유하고 있는 웹 서비스를 사용자가 원하는 다른 형태로 접근하고자 할 때 , 해당 정보를 요청하여 받아올 수 있는 방법 서비스에 의존적인 출력결과를 분석 , Parsing 하여 원하는 정보만을 추출하는 방법을 알아야 함 이를 위해 요청 과정과 결과물을 사전에 분석하거나 편법을 사용해야 함 분석은 많은 시간과 노력을 필요로 함
E N D
9주 실습강의 - Open API Introduction: Yahoo! Pipes - 2008 컴퓨터공학실험( I )
Before Open API • 특정 기능 혹은 컨텐츠를 보유하고 있는 웹 서비스를 사용자가 원하는 다른 형태로 접근하고자 할 때, • 해당 정보를 요청하여 받아올 수 있는 방법 • 서비스에 의존적인 출력결과를 분석,Parsing 하여 원하는 정보만을 추출하는 방법을 알아야 함 • 이를 위해 요청 과정과 결과물을 사전에 분석하거나 편법을 사용해야 함 • 분석은 많은 시간과 노력을 필요로 함 • 이러한 분석으로 데이터를 얻는다고 할 지라도, 최악의 경우 해당 서비스의 유지 보수를 위한 변경이 일어날 시 분석을 다시 해야 함 • 일종의 Hack으로 인한 법적인 문제를 피해가기 힘들다 • 사용자는 자신이 원하는 의도로 서비스를 사용하기 위해 많은 장애물을 넘어야 함
Open API • API – Application Programming Interface • 운영체제 – 응용 프로그램 간 통신에 사용되는 언어 / 메시지 • 블랙박스 : 내부 구조를 알 수는 없지만 인터페이스에 맞추어 값을 전달하면 결과를 반환 • 개방형 프로토콜을 사용하여 웹 사이트와 상호작용을 가능하게 하는 기술의 집합 • 원격지에 존재하는 특정 서비스로 접근하기 위한 규약을 외부에 공개하는 것 • Social Media, Web 2.0에 대한 트렌드가 형성되면서 웹 사이트가 사용자 친화적인 방법으로 상호작용 할 수 있는 솔루션의 의미로 사용
국내의 Open API 제공 서비스 • 검색 분야는 Naver, Daum에서 제공 • 네이버 Open API : http://openapi.naver.com • 다음 Open API : http://dna.daum.net/apis • Social Network Service 분야에서도 Open API를 제공 • Micro Blogging / SNS, 미투데이 : http://me2day.net(API 사용설명서 : http://codian.springnote.com/pages/89009) • 도서 / 음반 판매 서비스 및 리뷰 사이트 • 알라딘 TTB : http://blog.aladdin.co.kr/ttb/1631066 • 레뷰(revu) : http://www.revu.co.kr/OpenAPI • 지도 • 네이버, 야후! 지도 API 사용, 국내 지도 사용 가능
Mashup (Webapplication hybrid) • 일반적인 응용 프로그램 • 해당 운영체제 / 라이브러리의 API를 사용하여 프로그래밍 • Mashup • Open API를 사용하여 만든 새로운 서비스 또는 이러한 서비스를 개발하는 형태를 총칭 • 대표적인 예로는 Google Maps를 사용한 HousingMaps(http://www.housingmaps.com)가 GoogleOpen API의 폭발적인 사용을 일으킨 점을 들 수 있음 • Open API 제공 업체가 받는 주목 효과가 작용
Open API 접근 • Open API의 호출은 대부분 HTTPGET을 사용 • 인자(Arguments)의 전달은 예약어(?, &) 와 인자 명, 값을 사용 • HTTP POST를 통해 인자를 전달하는 경우도 있음 • 예) http://search.naver.com/search.naver?where=nexearch&query=Open+API(→ where에 nexerch 값을, query에 Open API 라고 전달) • 컨텐츠 제공자는 무분별한 API 호출을 막기 위한 여러가지 수단을 사용 • API key: Open API를 사용하는 개발자/사용자에게 부여하는 Unique한 키 값으로, 이를 통해 사업자는 사용자 확인 및 제한, 응용 프로그램 확인 등을 할 수 있음 • 필요에 따라 사용자 key, Application key 등을 추가로 발급받아서 접근하기도 함 • 호출시에 이러한 Key를 인자로 전달하지 않으면 요청을 거부
Yahoo! Pipes (1) • Mashup editor의 일종 • Google Mashup Editor, Microsoft Popfly, IBM Assemble Zero • 코드를 직접 작성하지 않고 Mashup을 개발 할 수 있도록 도와주는 플랫폼
Yahoo! Pipes (2) • The Library : 사용할 수 있는 모듈들의 집합소
Yahoo! Pipes (3) • Library의 모듈을 Drag-and-Drop으로 배치 • 각각의 모듈은 입력 및 출력을 가짐 • User Inputs 의 경우는 입력 포인트가 없음 • 각각의 모듈은 입 / 출력을 연결하여 연동 • 만들어진 Pipe는 저장하여 언제든지 사용할 수 있음
Yahoo! Pipes (4) • 예제: 간단한 RSS Feed Reader • User Inputs → URL Input 선택, Sources → Fetch feed 선택 • Operators → Sort 사용하여 내림 차순 정렬 • Sort 결과를 Pipe Output으로 연결, 상단의 Run Pipes로 실행가능
이 주의 실험 • Google 뉴스 한국 검색 Pipe 작성 • 사용자의 입력을 받아 검색된 뉴스를 표시하는 pipe 작성 • 제목 중복 기사 제거, 날짜에 대해 내림차순 정렬