RESTful Mashup

3,115 views

Published on

Published in: Technology
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,115
On SlideShare
0
From Embeds
0
Number of Embeds
107
Actions
Shares
0
Downloads
0
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

RESTful Mashup

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

×