- Open API Introduction: Yahoo! Pipes 컴퓨터공학실험( I )

Slides:



Advertisements
Similar presentations
Mining the by Graph API. 1. 페이스북 소셜 그래프와 Graph API, OGP 2. 페이스북 페이지와 친구들에서 좋아요 분석하기 3. 소셜 그래프 분석을 위한 결속집단 분석 4. 소셜 그래프 시각화.
Advertisements

LOGO Open API 를 이용한 SNS 위젯 개발 프로젝트 최종 발표 4 조 채상혁 윤호선 이재규.
Big Data & Hadoop. 1. Data Type by Sectors Expected Value using Big Data.
Proprietary ETRI OOO 연구소 ( 단, 본부 ) 명 1 CDN 을 위한 캐시 시험 모듈 소프트웨어연구부문 빅데이터 SW 플랫폼연구부 분석소프트웨어연구실 ETRI Technology Marketing Strategy ETRI Technology Marketing.
이정훈 글로벌 브랜드와 마케팅. 마니아들을 위한 쇼핑몰 쇼핑몰이름
컴퓨터와 인터넷.
4D기술로 인한 책의 인터페이스 변화 : 디지로그북
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
Oozie Web API 기능 테스트 이승엽.
인터넷의활용.
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
OpenAPI의 응용 인공지능 연구실.
Database Laboratory, Hong Ik University
컴퓨터의 응용-검색엔진 <컴퓨터의 응용> 교수명: 용환승 공학부, 이한아
Power Java 제3장 이클립스 사용하기.
컴퓨터 프로그래밍 기초 [Final] 기말고사
PHP입문 Izayoi 김조흔.
데이터베이스 및 설계 금오공과대학교 컴퓨터공학부 이 이섭.
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
MICE IT 프로젝트 2011년 1학기.
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
8장 함수 함수의 필요성 라이브러리 함수와 사용자 정의 함수 함수의 정의, 원형, 호출 배열을 함수 인자로 전달 재귀호출.
고급 웹 개발 응용 프로젝트 2010년 1학기.
모바일 자바 프로그래밍 JDBC / WAP Ps lab 오민경.
메시지 큐[5] – test1.c 메시지 제어: msgctl(2) #include <sys/msg.h>
17강. 데이터 베이스 - I 데이터 베이스의 개요 Oracle 설치 기본적인 SQL문 익히기
ASP.NET AJAX 비동기 게시판 작성 2007 컴퓨터공학실험( I )
자료구조: CHAP 4 리스트 (3) 순천향대학교 컴퓨터공학과 하 상 호.
CHAP 12. 리소스와 보안.
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
Method & library.
공인인증서 신청 및 발급 제일 먼저 은행에 직접 방문하여 인터넷뱅킹 신청.
7가지 방법 PowerPoint에서 공동 작업하는 다른 사용자와 함께 편집 작업 중인 사용자 보기
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
컴퓨터소프트웨어설계및실험 년 1학기 실험계획 -.
정보화 사회의 실생활 사례 컴퓨터개론 과제 모바일 인터넷과 차성오.
Adobe 제품 다운로드 및 설치 방법 안내 Adobe Creative Cloud Adobe License 권한을 받으신 분
- RSS Reader 페이지 작성 컴퓨터공학실험( I )
27강 JAVA Collections - II - Map계열 컬렉션 클래스 살펴보기 - Set계열 컬렉션 클래스 살펴보기
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
웹디자인
AUTODESK AUTOCAD ELECTRICAL 전기제어 2D 설계 소프트웨어 표준기반 설계 생산성 도구 구조도 설계
GM7 PLC 모니터링 프로그램 한국 폴리텍 항공대학 항공정보통신과 송 승 일.
데이터 베이스 DB2 관계형 데이터 모델 권준영.
15강. 폼 데이터 값 검증 Validator를 이용한 검증 ValidationUtils 클래스
14강. 세션 세션이란? 세션 문법 Lecturer Kim Myoung-Ho Nickname 블스
컴퓨터공학실험 (I) 년 1학기 실험계획 -.
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
18강. 인터페이스 – II - 인터페이스와 다중상속 - 인터페이스를 통한 로봇 장남감 만들기 프로그래밍
( Windows Service Application Debugging )
디버깅 관련 옵션 실습해보기 발표 : 2008년 5월 19일 2분반 정 훈 승
Introduction to JSP & Servlet
안녕하세요!.
.Net Web Application 2007 컴퓨터공학실험(Ⅰ)
Ⅳ. User Interface 1. User Interface (UI) 정의 2. UI 환경 3. K ILC UI 구성.
JSP Programming with a Workbook
Chapter 10 데이터 검색1.
학습내용 프로토콜 계층화 OSI 모델의 용어 및 기능 개체 서비스 접근점 (N) 프로토콜과 (N) 서비스 서비스 프리미티브
MIDP 네트워크 프로그래밍 ps lab 김윤경.
Bizforms PowerPoint 교육 사업계획서(사업운영) 원본 PPT 바로가기 >
9 브라우저 객체 모델.
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
Harrison’s Online 이용 매뉴얼
 6장. SQL 쿼리.
8주 실습강의 학기, 소프트웨어 설계 및 실험(Ⅰ).
7 생성자 함수.
6 객체.
Ⅰ. 데이터베이스 정의 Ⅱ. MS SQL 서버 Ⅲ. 데이터베이스 인터페이스
Presentation transcript:

- Open API Introduction: Yahoo! Pipes - 2008 컴퓨터공학실험( I ) 9주 실습강의 - Open API Introduction: Yahoo! Pipes - 2008 컴퓨터공학실험( I )

Before Open API 특정 기능 혹은 컨텐츠를 보유하고 있는 웹 서비스를 사용자가 원하는 다른 형태로 접근하고자 할 때, 해당 정보를 요청하여 받아올 수 있는 방법 서비스에 의존적인 출력결과를 분석, Parsing 하여 원하는 정보만을 추출하는 방법을 알아야 함 이를 위해 요청 과정과 결과물을 사전에 분석하거나 편법을 사용해야 함 분석은 많은 시간과 노력을 필요로 함 이러한 분석으로 데이터를 얻는다고 할 지라도, 최악의 경우 해당 서비스의 유지 보수를 위한 변경이 일어날 시 분석을 다시 해야 함 일종의 Hack으로 인한 법적인 문제를 피해가기 힘들다 사용자는 자신이 원하는 의도로 서비스를 사용하기 위해 많은 장애물을 넘어야 함 여담으로, 법적인 문제를 피해가기 위해서는 업체와 직접 계약을 맺는 경우가 가장 일반적이라고 할 수 있습니다.

Open API API – Application Programming Interface 운영체제 – 응용 프로그램 간 통신에 사용되는 언어 / 메시지 블랙박스 : 내부 구조를 알 수는 없지만 인터페이스에 맞추어 값을 전달하면 결과를 반환 개방형 프로토콜을 사용하여 웹 사이트와 상호작용을 가능하게 하는 기술의 집합 원격지에 존재하는 특정 서비스로 접근하기 위한 규약을 외부에 공개하는 것 Social Media, Web 2.0에 대한 트렌드가 형성되면서 웹 사이트가 사용자 친화적인 방법으로 상호작용 할 수 있는 솔루션의 의미로 사용 6주차 실험에서 있었던 Web Service의 인터페이스를 만들고 이 인터페이스에 접근할 수 있는 요청 방법을 외부에 공개하면 이 역시 Open API가 됩니다  왜 서비스를 접근하는 방법을 밖으로 알리느냐에 대한 이유는 다음과 같은 것들로 설명할 수 있습니다: 첫째, 서비스 업체의 기준점에서 보았을 때, 자신의 컨텐츠를 소비하는 대상을 넓힐 수 있습니다. 둘째, 서비스 개발자의 기준점에서 보았을 때, 외부 서비스 업체와의 연동을 위해 각각의 업체를 위해 무리하게 설계와 인터페이스를 재 구성하는 것을 피할 수 있습니다. (을의 입장이라면 이야기가 다르긴 합니다만..) 셋째, 사용자의 기준점으로 보았을 때, 자신이 원하는 형태로 컨텐츠를 손쉽게 가공하여 사용할 수 있습니다. 물론 단순한 최종 소비자의 입장보다는, 이를 적극적으로 받아들이고 가공하려는 프로슈머의 입장을 대변하긴 합니다만, 이러한 가공 결과가 더 많은 최종 소비자로 연결될 수 있다는 점을 감안하면 충분히 매력적인 사항입니다. 물론 이에 대한 Side effect 역시 존재하기 때문에, 서비스 제공자의 입장에서는 이를 적절하게 제약하는 기준을 가지고 있어야 하겠지요.

국내의 Open API 제공 서비스 검색 분야는 Naver, Daum에서 제공 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 (Web application hybrid) 일반적인 응용 프로그램 해당 운영체제 / 라이브러리의 API를 사용하여 프로그래밍 Mashup Open API를 사용하여 만든 새로운 서비스 또는 이러한 서비스를 개발하는 형태를 총칭 대표적인 예로는 Google Maps를 사용한 HousingMaps(http://www.housingmaps.com)가 Google Open API의 폭발적인 사용을 일으킨 점을 들 수 있음 Open API 제공 업체가 받는 주목 효과가 작용 HousingMaps의 경우 초창기 Open API(~2005년)의 대표적인 활용예가 되었기 때문에 언급한 것이고, 이제는 수 많은 Mashup이 존재하기 때문에, 다른 예를 주변의 웹사이트에 충분히 볼 수 있습니다.  외국의 활용 예는 http://www.programmableweb.com/mashups 페이지를 참조하시면 도움이 될 것입니다. 매시업을 제공하는 사이트들의 목록 등을 볼 수 있거든요.

Open API 접근 Open API의 호출은 대부분 HTTP GET을 사용 인자(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를 인자로 전달하지 않으면 요청을 거부 가입자 개개인 마다 사용자 키를 받게 하여, ID + Password를 사용하는 대신 손쉽게 생성/변경할 수 있는 사용자 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 작성 제목 중복 기사 제거, 날짜에 대해 내림차순 정렬