630 likes | 771 Views
– Web 2.0 – Ubiquitous Application: Participation, Openness, and Sharing. Internet Computing Laboratory @ KUT Youn-Hee Han http://icl.kut.ac.kr. Thanks for Jaesun Han and KAIST Google SIG ( http://www.web2hub.com ). The Origin of Web 2.0. New Conference?.
E N D
– Web 2.0 – Ubiquitous Application:Participation, Openness, and Sharing Internet Computing Laboratory @ KUT Youn-Hee Han http://icl.kut.ac.kr Thanks for Jaesun Han and KAIST Google SIG (http://www.web2hub.com)
The Origin of Web 2.0 New Conference? Question: What are the characteristics of web companies surviving dot-com collapse? (Amazon, eBay, Yahoo, Google, etc) Web 2.0 and Web Service Computing
Web as Platform Definition “I'm talking about the emergence of what I've started to call Web 2.0, the internet as platform.... it's about the way that web sites like eBay, Amazon, and Google are becoming platforms with rich add-on developer communities” http://www.oreillynet.com/pub/wlg/5630 Tim O'Reilly Sep. 21, 2004 Web 2.0 and Web Service Computing
Web as Platform Definition “웹이 소프트웨어 플랫폼처럼 스스로 자생하고 생존하는 시스 템으로 진화 하고 있다.” “데이터를 기반으로 Open API를 통해 개발자 커뮤니티를 생성 하며 가벼운 비즈니스 모델로 모든 이용자들이 혜택을 받고 있 다.” 차세대 인터넷 웹 2.0 컨퍼런스, ㈜다음커뮤니케이션 R&D 팀장, 윤석찬2006.02.15~16 Web 2.0 and Web Service Computing
Web Service is a trend Web 2.0 and Web Service Computing
Seven Principles of Web 2.0 1. The Web as Platform 2. Harnessing Collective Intelligence 3. Data is the Next Intel Inside 4. End of the Software Release Cycle 5. Lightweight Programming Models 6. Software Above the Level of a Single Device 7. Rich User Experiences -from Tim O’Reilly’s “What is Web 2.0?” Web 2.0 and Web Service Computing
Web 1.0 Model (Traditional Model) Contents Providers Centralized Information Production Information Producer Consume Information Consumer Users Web 2.0 and Web Service Computing
Web 2.0 Model Providers Contents Web as Platform mashup (web services, RSS) tagging Openness Participation Users social network Sharing Web 2.0 and Web Service Computing
Web 2.0 정리 Web 2.0 and Web Service Computing
Participation Web 2.0 and Web Service Computing
UCC(User-Created Contents) Contents Production by User Participation Text Video Photo Audio Web 2.0 and Web Service Computing
UCC Services Text Photo Audio Video podcasting video storing & sharing photo storing & sharing blog & wiki Web 2.0 and Web Service Computing
Expansion of User Participation User-Created Media User-Created Software P2P Network User-Generated Network WiFi Community for free WiFi access User-Generated Infrastructure Web 2.0 and Web Service Computing
Collective Intelligence “Crowd's collective intelligence will produce better outcomes than a small group of experts (Users add value)” Network effects from user contributions “The promoters of Web 2.0 venerate the amateur and distrust the professional.” Nicholas Carr- 하바드비즈니스리뷰 전편집장 Web 2.0 and Web Service Computing
Collective Intelligence – Google PageRank [The Philosophy of PageRank] PageRank relies on the uniquely democratic nature of the web by using its vast link structure as an indicator of an individual page's value. In essence, Google interprets a link from page A to page B as a vote, by page A, for page B Web 2.0 and Web Service Computing
Collective Intelligence – From Tagging to Folksonomy Traditional Classification Hierarchical-enumerative Web 2.0 and Web Service Computing
Collective Intelligence – From Tagging to Folksonomy Web 2.0 Classification Tagging Web 2.0 and Web Service Computing
Collective Intelligence – From Tagging to Folksonomy Tagging is easy! Web 2.0 and Web Service Computing
Collective Intelligence – From Tagging to Folksonomy Tag Cloud Web 2.0 and Web Service Computing
Collective Intelligence – From Tagging to Folksonomy Folk: 일반 대중들 + Taxonomy: 분류법 Web 2.0 and Web Service Computing
Collective Intelligence – From Tagging to Folksonomy Web 2.0 and Web Service Computing
Collective Intelligence – Recommendation So many Recommendations! Web 2.0 and Web Service Computing
Collective Intelligence – Recommendation • Pandora (www.pandora.com) • Created by the Music Genome Project • The most comprehensive analysis of music • Over the past 6 years, the songs of over 10,000 different artists are analyzed the musical qualities of each song one attribute at a time. • Musical Genome (Hundreds of musical attributes) • melody, harmony, rhythm, instrumentation, orchestration, arrangement, lyrics, singing and vocal harmony, etc Web 2.0 and Web Service Computing
Collective Intelligence – Recommendation Collaborative Filtering 4) Request Recommendations 1) Submit Ratings 6) Select Items & Recommend them C.F. Engine 5) Identify Neighbors 2) Store Ratings 3) Compute Correlations Ratings Correlations Web 2.0 and Web Service Computing
Collective Intelligence – Recommendation Collaborative Filtering User-Item Matrix Meg & David: similarity -0.59 Meg & Amy: similarity 0.67 Meg & Joe: similarity 0.47 Recommendations for Meg: Movies 7 Web 2.0 and Web Service Computing
Personalized News Personalization Personalized Search Personalized Homepage Web 2.0 and Web Service Computing
Personalization Web 2.0 and Web Service Computing
The Long Tail http://www.wired.com/wired/archive/12.10/tail.html?pg=3 Web 2.0 and Web Service Computing
The Long Tail • The Long Tail • Coined by Chris Anderson • Infrequent events (the long tail) can cumulatively outweigh the initial portion of the graph, such that in aggregate they comprise the majority • Overcoming space-time limitation of offline market • Long Tail in Online Ads Market Web 2.0 : Google AdSense Web 1.0 : DoubleClick Web 2.0 and Web Service Computing
Wikipedia Web 2.0 and Web Service Computing
Wikipedia • [Wikipedia의 기본 방침] • 편견을 배제한다.: 중립적인 관점에서 내용 작성 • 저작권을 침해하지 않는다.: 저작권이 보호되는 자료는 올려지지 않는다. • 백과사전 이외의 목적은 없다. • 다른 회원에게 경의를 표한다. • : Wikipetiket Wikipedia An article 작성 추가 추가 및 수정 수정 Radical Trust (진보적 성선설)에 입각한 Collective Intelligence의 전형적인 결과물 Web 2.0 and Web Service Computing
Openness Web 2.0 and Web Service Computing
Web-Service Computing - Definition • Web Service Computing • 웹을 구성하는 표준 프로토콜인 HTTP/TCP(UDP)/IP 를 기반으로 • 구조화된 데이터 (Structured Data) 전달이 가능한 XML을 활용하여 • 네트워크로 접근 가능한 연산, 어플리케이션, 서비스 컴포넌트들을 활용하는 Distributed Computing 기술 Web ServiceComputing(A web-based distributedcomputing for ‘service’ sharing) Traditional Client/Server Model Browser-based Simple Access Distributed Computing (CORBA, JAVA RMI, DCOM) Application-based Interaction (XML) Agent-based + Semantic-Web Selling “Service” on the net Service-based Computing Web-based Computing Web 2.0 and Web Service Computing
XML XML Features • Web Service Computing 의 특징 (1/3) • Use standardized Internet protocols • 표준화된 웹 기반 인터넷 프로토콜(HTTP, TCP/IP)을 통하여 구현 • XML-based • XML을 통하여 모든 Communication 이 이루어짐 Vendor, Platform, Language에 독립적 Web 2.0 and Web Service Computing
Features • Web Service Computing 의 특징 (2/3) • Component-based • 하나의 웹 서비스는 대규모 웹 서비스의 일부 기능을 담당 개발이 용이하고 시간을 단축시킴 Web 2.0 and Web Service Computing
Features • Web Service Computing 의 특징 (3/3) • Interact through abstracted Interfaces (service description) • 추상화된 인터페이스 (Interface)를 통해서 웹 서비스의 기능이 보여짐 • 약속된 계약사항만 준수하면 모든 동작이 수행됨 Provider의 비즈니스 로직(Logic) 변경 용이 Web 2.0 and Web Service Computing
Open API • Open API • 원래는 운영체제나 언어가 제공하는 기능을 제어할 수 있는 인터페이스를 API라 지칭 • 이것을 외부에서 사용할 수 있도록 공개한 것이 Open API며, 웹 서비스의 개방지향적인 성격을 잘 나타내고 있음. • 일반적으로 웹 서비스 API등의 용어와 혼용하여 사용. • Google commences it for any users! Web 2.0 and Web Service Computing
SOAP Example by using Google Open API • SOAP Example with Google package com.google.soap.search; public class GoogleGo { public static void main(String args[]) throws Exception { GoogleSearchService_Impl webservice = new GoogleSearchService_Impl(); GoogleSearchPort searchPort = (GoogleSearchPort) webservice.getGoogleSearchPort(); GoogleSearchResult r = searchPort.doGoogleSearch( "Gkk9/zVQFHIPOjMt5LtYCAn9UDZzBZWN", //java.lang.String key args[0], //java.lang.String query_word 1, 10, //int start, int maxResults false, null,//boolean filter, java.lang.String restrict false, //boolean safeSearch null, //java.lang.String lr "UTF-8", //java.lang.String ie "UTF-8" //java.lang.String oe ); ResultElement[] re = r.getResultElements(); for (int i = 0 ; i < re.length ; i++) { System.out.println("---"); System.out.println(re[i].getTitle()); System.out.println(re[i].getURL()); System.out.println(re[i].getSnippet()); } } } Web 2.0 and Web Service Computing
Open API • Amazon activates it! Web 2.0 and Web Service Computing
Open API • Amazon makes money by Open API Web 2.0 and Web Service Computing
Open API • Naver starts to serve it! Web 2.0 and Web Service Computing
Open API • Daum make it active! Web 2.0 and Web Service Computing
REST • REST (Representational State Transfer ) • REST란 대규모 네트워크 시스템을 위한 아키텍처 • 2000년 Roy Fielding의 박사 학위 논문에서 처음 제안. • Architectural Styles and the Design of Network-based Software Architectures (DOCTOR OF PHILOSOPHY) http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm • REST의 원래 뜻 • 웹과 같은 대규모 네트워크 시스템을 위한 원칙들의 모음 • 요즘 추가된 뜻 • XML과 HTTP를 사용하는 단순한 웹 기반 인터페이스를 지칭 • 즉, REST의 원칙을 따르는 Web Services를 통칭하게 됨) Web 2.0 and Web Service Computing
REST • REST (Representational State Transfer ) • SOAP, XML-RPC보다 간단 • OPEN-API 구현에 많이 사용 • Naver의 OPEN API들도 REST 방식이라고 할 수 있다. • 많은 웹2.0 회사들이 Open API의 구현 방법으로 많이 사용. • 구글, 플리커, 아마존 등의 Open API가 REST 방식으로 구현되어 공개 • 서비스의 서버 플랫폼 구축에 있어 필수적인 아키텍쳐 • REST는 실제 표준은 아니지만 HTTP/URL/MIME Type같은 웹 표준을 사용. Web 2.0 and Web Service Computing
REST vs. SOAP REST (XML over HTTP) 85% SOAP 15% - 아마존이 제공한 두 가지 인터페이스의 점유율 Web 2.0 and Web Service Computing
REST vs. SOAP • - 구글의 SOAP 기반 검색 API가 2006년 12월 5일에 중단 • - 대신 구글은 REST 기반의 Ajax Search API를 대안으로 제시 Web 2.0 and Web Service Computing
REST방식의 호출 요청 http://wisefree.com/employee 응답 <?xml version="1.0"?><p:Employee xmlns:p="http://wisefree.com" xmlns:xlink="http://www.w3.org/1999/xlink"><Employee id="603045" xlink:href="http://wisefree.com/employee/603045"/><Employee id="741146" xlink:href="http://wisefree.com/employee/741146"/></p:Employee> Web 2.0 and Web Service Computing
REST방식의 호출 요청 http://wisefree.com/employee/603045 응답 <?xml version="1.0"?><p:Employee xmlns:p="http://wisefree.com" xmlns:xlink="http://www.w3.org/1999/xlink"><Employee-ID>741146</Employee-ID><Name>jisu park</Name><Resume xlink:href="http://wisefree.com/employee/741146/resume/"/></p:Employee> Web 2.0 and Web Service Computing
REST방식의 호출 "서버 주소 + 서비스 이름 + 자원" X http://wisefree.com/employee/getEmployee?id=603045 O http://wisefree.com/employee/603045 Web 2.0 and Web Service Computing
Example) Daum 오픈 API의 REST Web 2.0 and Web Service Computing