RESTful Mashup Mashup 를 위한  REST 의 이해 한인희
웹 (Web) 2.0  이란 ? 닷컴 버블 이전 과 이후로 나누어 “과거의 사실”과 현재까지 살아남은 기업들의 “현재의 상황” 비교 여러가지 웹  2.0  서비스들중에서 공통적으로 도출 되는 일관성은 “사용자의 참여를 유도하는 서비스 모델” – 참여 ,  공유 ,  개방
웹  2.0 의  7 가지 특징 플랫폼으로서의  웹 집단 지능 (collective intelligence) 의 활용 차세대 “인텔 인사이드”는 “ 데이터 ” 소프트웨어  릴리즈 주기 의 종말 가벼운 (Lightweight)   프로그래밍 모델 단일 디바이스 를 넘어선 소프트웨어 풍부한  사용자 경험 (Rich User Experiences)
기술의 변화 및 주요 기술 요소
SOA  와  OpenAPI SOA(Service Oriented Architecture)  잘 정의된 서비스와 그 인터페이스들 간의 연결을 통해 서비스라고 하는 애플리케이션의 다양한  기능 단위 를 상호 연관시키는 컴포넌트 모델 . 특정 구현에 얽매이지 않은  중립적인 인터페이스 .  서비스들간  약결합 (loose-coupling) 을 이끌어냄 .  그로 인해 변화하는 환경에 빠르게 적응가능 . OpenAPI 기업중심의  SOA 가 웹에 반영된 결과물 . 서비스 기능을 이용할 수 있도록 공개한 인터페이스 다양한 웹기술을 이용해 정보를 사용 .
Mashup  이란 ? Mashup  과  Remix 다른 곳의 컨텐츠를 사용한다는 의미에서는 동일 Remix :  다른 곳에서 가져온 컨텐츠를 다른 형태로 보여주는 것을 의미한다 .  이 경우 컨텐츠 자체에는 큰 변화가 없고 ,  보여주는 방식만 바뀐다 . Ex) Flickr 를 이용한  Gallery Mashup :  다른 곳의 컨텐츠를 여러곳에서 가져와 전혀 새로운 데이터의 집합을 만드는 것 . Remix 에 비해 다양한 방식의 결과물이 산출된다 . Ex) Flickr 의 사진과 위치정보를 입력하여  GoogleMap  상에 이를 표시 .
Why Mashup? 파레토 법칙 20:80  법칙 20% 의 고객이  80% 의 매출을 올리며 , 20%  상품이  80%  매출을 올린다 . Off-line 구멍가게  ->  동네 슈퍼  ->  대형마트  극장가서 영화선택  ->  출발 비디오여행  ->  입소문 On-line 쇼핑몰 검색  ->  가격비교  ->  지식쇼핑
Why Mashup?(Cont.) Long tail  법칙 온라인  DVD  대여점  Netflix 나  Amazon  등의 특정 비즈니스 모델을 설명하기 위해  IT  잡지  Wired 의 편집장 크리스 앤더슨에 의해 명명됨 . 기존에 무시되었던 수많은 인자들이 통계에 포함됨에 따라 파레토 법칙과는 다른 결과가 도출 . 장기적으로 봤을때 프로슈머 (Prosumer) 의 증가로 나머지  80%  의 기여도가  20% 에 머무는 것이 아니라 그 이상으로 증가됨 . 나머지  80% 를 활용하게 되므로서 전체적인 시장의 파이가 커지게 됨 .
Why Mashup?(Cont.) Long tail  법칙 (Cont.) Amazon 의 수익중 절반이상이 반스앤노블에서는 진열조차 안되는 비주류 단행본이나 희귀본에서 나옴 . 구글의 애드센스의 주 수익원은 “포천”지 선정  500 대 기업같은 대기업이 아닌 제과점 ,  웨딩샵과 같은 “개미군단” 광고가 창출 애플의 아이튠스 역시 빌보드 챠트 히트 앨범이 아닌 스테디셀러와 올디스 ,  희귀 앨범들에서  50%  이상의 매출을 차지하는 것으로 추정됨 .
Mashup 의 특징 쉬운 접근성 개발을 잘 모르는 사람도  javascript  등을 조금만 익히면 쉽게 접근 가능하다 . 다양한 접점 존재 Javascript, ruby, php, java 등 웹과 일반 애플리케이션등 여러가지 방식으로 접근 가능 . json, rss, xml  등 여러가지 방식으로 결과물 출력 .
Mashup 의 특징 (Cont.) 다양한 개발 방법 다양한 접점이 가능하므로 개발시에도 다양한 방식의 개발이 가능 . 활용의 무한함 쉬운 접근성과 다양한 접점을 통해 다양한 방식으로 자신만의  Mashup 을 만들어 낼 수 있다 .
How to Access OpenAPI Web 2.0 의 여러 기술의 공통점은 참여 ,  공유 ,  개방 . Google 은  2006 년  12 월  5 일  SOAP  기반의  API  서비스 종료 . REST  기반의  AJAX API  서비스에 주력함 . PayPal 은  SOAP API 를  SSL  기반과  REST  기반 방식으로 변경 . Amazon 의  OpenAPI  트래픽의  95% 는  REST 방식을 사용 . 국내 대다수의  OpenAPI  도  REST  기반임 .
REST  란 ? REST(REpresentation State Transfer)  는 로이 필딩 (Roy Fielding)  박사의 학위 논문에서 네트워크 시스템의 구조적 형식 (architecture style) 을 설명하기 위해 만들어진 용어
REST(REpresent State Transfer) 의 의미 사용자는  URL 을 사용하여 웹 리소스 (web resource) 를 참조하며 ,  리소스의  표현 (representation) 이 반환 됩니다 .( 이 경우  Boeing747.html 이라는 문서로 반 환 되어집니다 .)  이 표현 (Representation,  여기서는  Boeing747.html) 은 사용자  어플리케이션의 상태를 변경합니다 .  사용자가  Boeing747.html 의 하이퍼링크 (Hyperlink)  를 가로지른 결과 또 다른 리소스에 접근 하게 됩니다 .  새로운 표현 (Representation) 은 사용자 어리케이션을 전혀 새로운 상태에 변경 합니다 .  따 라서 사용자 어플리케이션이 각 리소스 표현의 상태를 변경합니다 .( 이동시킵니 다 ., transfer) -> REpresentation State Transfer
REST  상세내용  -  예제학습 Parts-Depot Inc. 부품리스트  :  http://www.parts-depot.com/parts(?result=xml) 부품 상세  :  http://www.parts-depot.com/parts/00345?result=xml
REST 의 특징 Client-Server Stateless REST 는 기본적으로 서버에 어떠한 정보도 남기지 않으며 (session), Client 가  Server 로의 요청시 필요한 모든 정보를 같이 보내야 합니다 . Cache Standard Interface REST  그 자체는 표준이 아니지만 표준 기술을 이용합니다 . 데이터 전송시  HTTP 의 표준 메소드인  GET, POST, PUT, DELETE 를 이용합니다 . Named Resources 각  Resource 는 그 자신을 나타내는  URI 를 소유해야합니다 . Interconnected Resource Representations 각  Resource 는 상호연결된  Link 를 포함해야 합니다 .
OpenAPI  와  REST 를 이용한 데모 .
감사합니다 .

RESTful Mashup

  • 1.
    RESTful Mashup Mashup를 위한 REST 의 이해 한인희
  • 2.
    웹 (Web) 2.0 이란 ? 닷컴 버블 이전 과 이후로 나누어 “과거의 사실”과 현재까지 살아남은 기업들의 “현재의 상황” 비교 여러가지 웹 2.0 서비스들중에서 공통적으로 도출 되는 일관성은 “사용자의 참여를 유도하는 서비스 모델” – 참여 , 공유 , 개방
  • 3.
    웹 2.0의 7 가지 특징 플랫폼으로서의 웹 집단 지능 (collective intelligence) 의 활용 차세대 “인텔 인사이드”는 “ 데이터 ” 소프트웨어 릴리즈 주기 의 종말 가벼운 (Lightweight) 프로그래밍 모델 단일 디바이스 를 넘어선 소프트웨어 풍부한 사용자 경험 (Rich User Experiences)
  • 4.
    기술의 변화 및주요 기술 요소
  • 5.
    SOA 와 OpenAPI SOA(Service Oriented Architecture) 잘 정의된 서비스와 그 인터페이스들 간의 연결을 통해 서비스라고 하는 애플리케이션의 다양한 기능 단위 를 상호 연관시키는 컴포넌트 모델 . 특정 구현에 얽매이지 않은 중립적인 인터페이스 . 서비스들간 약결합 (loose-coupling) 을 이끌어냄 . 그로 인해 변화하는 환경에 빠르게 적응가능 . OpenAPI 기업중심의 SOA 가 웹에 반영된 결과물 . 서비스 기능을 이용할 수 있도록 공개한 인터페이스 다양한 웹기술을 이용해 정보를 사용 .
  • 6.
    Mashup 이란? Mashup 과 Remix 다른 곳의 컨텐츠를 사용한다는 의미에서는 동일 Remix : 다른 곳에서 가져온 컨텐츠를 다른 형태로 보여주는 것을 의미한다 . 이 경우 컨텐츠 자체에는 큰 변화가 없고 , 보여주는 방식만 바뀐다 . Ex) Flickr 를 이용한 Gallery Mashup : 다른 곳의 컨텐츠를 여러곳에서 가져와 전혀 새로운 데이터의 집합을 만드는 것 . Remix 에 비해 다양한 방식의 결과물이 산출된다 . Ex) Flickr 의 사진과 위치정보를 입력하여 GoogleMap 상에 이를 표시 .
  • 7.
    Why Mashup? 파레토법칙 20:80 법칙 20% 의 고객이 80% 의 매출을 올리며 , 20% 상품이 80% 매출을 올린다 . Off-line 구멍가게 -> 동네 슈퍼 -> 대형마트 극장가서 영화선택 -> 출발 비디오여행 -> 입소문 On-line 쇼핑몰 검색 -> 가격비교 -> 지식쇼핑
  • 8.
    Why Mashup?(Cont.) Longtail 법칙 온라인 DVD 대여점 Netflix 나 Amazon 등의 특정 비즈니스 모델을 설명하기 위해 IT 잡지 Wired 의 편집장 크리스 앤더슨에 의해 명명됨 . 기존에 무시되었던 수많은 인자들이 통계에 포함됨에 따라 파레토 법칙과는 다른 결과가 도출 . 장기적으로 봤을때 프로슈머 (Prosumer) 의 증가로 나머지 80% 의 기여도가 20% 에 머무는 것이 아니라 그 이상으로 증가됨 . 나머지 80% 를 활용하게 되므로서 전체적인 시장의 파이가 커지게 됨 .
  • 9.
    Why Mashup?(Cont.) Longtail 법칙 (Cont.) Amazon 의 수익중 절반이상이 반스앤노블에서는 진열조차 안되는 비주류 단행본이나 희귀본에서 나옴 . 구글의 애드센스의 주 수익원은 “포천”지 선정 500 대 기업같은 대기업이 아닌 제과점 , 웨딩샵과 같은 “개미군단” 광고가 창출 애플의 아이튠스 역시 빌보드 챠트 히트 앨범이 아닌 스테디셀러와 올디스 , 희귀 앨범들에서 50% 이상의 매출을 차지하는 것으로 추정됨 .
  • 10.
    Mashup 의 특징쉬운 접근성 개발을 잘 모르는 사람도 javascript 등을 조금만 익히면 쉽게 접근 가능하다 . 다양한 접점 존재 Javascript, ruby, php, java 등 웹과 일반 애플리케이션등 여러가지 방식으로 접근 가능 . json, rss, xml 등 여러가지 방식으로 결과물 출력 .
  • 11.
    Mashup 의 특징(Cont.) 다양한 개발 방법 다양한 접점이 가능하므로 개발시에도 다양한 방식의 개발이 가능 . 활용의 무한함 쉬운 접근성과 다양한 접점을 통해 다양한 방식으로 자신만의 Mashup 을 만들어 낼 수 있다 .
  • 12.
    How to AccessOpenAPI Web 2.0 의 여러 기술의 공통점은 참여 , 공유 , 개방 . Google 은 2006 년 12 월 5 일 SOAP 기반의 API 서비스 종료 . REST 기반의 AJAX API 서비스에 주력함 . PayPal 은 SOAP API 를 SSL 기반과 REST 기반 방식으로 변경 . Amazon 의 OpenAPI 트래픽의 95% 는 REST 방식을 사용 . 국내 대다수의 OpenAPI 도 REST 기반임 .
  • 13.
    REST 란? REST(REpresentation State Transfer) 는 로이 필딩 (Roy Fielding) 박사의 학위 논문에서 네트워크 시스템의 구조적 형식 (architecture style) 을 설명하기 위해 만들어진 용어
  • 14.
    REST(REpresent State Transfer)의 의미 사용자는 URL 을 사용하여 웹 리소스 (web resource) 를 참조하며 , 리소스의 표현 (representation) 이 반환 됩니다 .( 이 경우 Boeing747.html 이라는 문서로 반 환 되어집니다 .) 이 표현 (Representation, 여기서는 Boeing747.html) 은 사용자 어플리케이션의 상태를 변경합니다 . 사용자가 Boeing747.html 의 하이퍼링크 (Hyperlink) 를 가로지른 결과 또 다른 리소스에 접근 하게 됩니다 . 새로운 표현 (Representation) 은 사용자 어리케이션을 전혀 새로운 상태에 변경 합니다 . 따 라서 사용자 어플리케이션이 각 리소스 표현의 상태를 변경합니다 .( 이동시킵니 다 ., transfer) -> REpresentation State Transfer
  • 15.
    REST 상세내용 - 예제학습 Parts-Depot Inc. 부품리스트 : http://www.parts-depot.com/parts(?result=xml) 부품 상세 : http://www.parts-depot.com/parts/00345?result=xml
  • 16.
    REST 의 특징Client-Server Stateless REST 는 기본적으로 서버에 어떠한 정보도 남기지 않으며 (session), Client 가 Server 로의 요청시 필요한 모든 정보를 같이 보내야 합니다 . Cache Standard Interface REST 그 자체는 표준이 아니지만 표준 기술을 이용합니다 . 데이터 전송시 HTTP 의 표준 메소드인 GET, POST, PUT, DELETE 를 이용합니다 . Named Resources 각 Resource 는 그 자신을 나타내는 URI 를 소유해야합니다 . Interconnected Resource Representations 각 Resource 는 상호연결된 Link 를 포함해야 합니다 .
  • 17.
    OpenAPI 와 REST 를 이용한 데모 .
  • 18.