720 likes | 735 Views
Explore the principles and models of Web 2.0 and Web Service Computing, from the platform definition to user-generated content and collective intelligence. Discover how the internet is transforming into a platform with rich developer communities and innovative user experiences. Learn about the shift towards open API and lightweight programming models, empowering users through participation and collaboration in the digital space.
E N D
XML과 웹서비스- Web 2.0 and Web Service Computing - 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
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
Developers’ Real World • 언어가 다르다 • C, C++, Java, C#, VB, COBOL, Perl, … • OS System 이 다르다 • Windows, Solaris, AIX, HP_UX, Linux • 사상 및 정치 체계가 다르다 • .Net 계열, Java 계열 Web 2.0 and Web Service Computing
How to Handle It? • 방법 1 • 모든 언어를 익힌다 - 현실적으로 불가능 하다. • 모든 체계에 익숙해 진다 – 역시 불가능하다. • 모든 사상을 수용한다 – 사상 자체가 서로 상반되므로 분리가 불가피하다. • 사상 통일 – 세계 정복 • 방법 2 • 동일한 언어 사용 • Java, XML, …(영어, 에스페란토어, …) • 하나의 체계를 사용 • java (VM), .Net (CLR), … • 다른 사상을 허용하되 통신은 표준적인 규약에 따른다. • HTTP, SOAP Web 2.0 and Web Service Computing
Developer Utopia • 새로운 언어는 배울 필요가 없고… • 표준적인 통신 방법만을 배우면 다른 모듈, 제품, 서비스와 결합이 가능하면… • 로직은 자신이 알고 있는 언어로 자신 있게… • 편하게 개발하고 무슨 기법/언어를 사용했는 지와 관계 없이 대화가 가능하게 되면… • 가능하면 통신 방법도 알 필요가 없으면… Web 2.0 and Web Service Computing
Welcome to EUTOPIA • SOA(Service-Oriented Architecture) • 초기 SOA의 성과 – CORBA, DCOM, DCE, RMI, … • 초기 SOA의 한계 – 언어/플랫폼과 긴밀한 연결 • Service • work done by one person or group that benefits another • 기술이 아닌 가치를 창출하는 설계 • Loose-Coupling(맞춤-tightly coupled-이 아닌) 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 • 하나의 웹 서비스는 대규모 웹 서비스의 일부 기능을 담당 • Use directory service • 웹 서비스는 디렉토리 (Directory)에공시되고, 클라이언트는 디렉토리를통하여 웹 서비스 검색 개발이 용이하고 시간을 단축시킴 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
How to work? • Web Service Computing 의 구성 요소 Broker UDDI: Universal Description, Discovery and Integration WSDL: Web Service Description Language SOAP: Simple Object Access Protocol SearchRequest Publish SearchResult Consumer Provider Service Call & Receive Result Web 2.0 and Web Service Computing
How to work? • Web Service Computing 의 동작 방식 BrokerUDDI 레지스트리 1) UDDI를 준수하여제공 서비스 및 WSDL 문서의 URL 공개 2) UDDI를 준수하여제공 서비스 및 WSDL 문서의 URL를 얻어옴 SearchRequest Publish 3) WSDL문서요청 및 전송 SearchResult ConsumerJAVA, C#, C++등의 응용프로그램 Provider웹 서비스 시스템 Service Description Remote Procedure Call & Receive Result 4) SOAP을 통한호출 및 결과 전송 Web 2.0 and Web Service Computing
Web Applications vs. Web Services Web 2.0 and Web Service Computing
Web Application Example: Book Shopping source: http://www.razorsoft.net/slides/RESTfulSOAP.ppt Web 2.0 and Web Service Computing
SOAP (Simple Object Access Protocol) • Simple, lightweight XML protocol for exchanging structured and typed information on the Web • Used for communication between applications • XML as the standard message format • Mostly HTTP as the transport method • Platform & Language independent • Simple and Extensible • Baseline standard for rich set of messaging features • Addressing, Routing • In-Message Security, Identity Federation • Reliable Messaging Web 2.0 and Web Service Computing
SOAP Message Format (Request) <SOAP-ENV:Envelope xmlns:SOAP-ENV=“http://schemas.xmlsoap.org/soap/envelope/”> <SOAP-ENV:Header> <t:transId xmlns:t=“http://foo.com/trans”>1234</t:transId> </SOAP-ENV:Header> <SOAP-ENV:Body> <m:sayHelloxmlns:m=“http://foo.com/Calculator”> <n1>YH HAN</n1> </m:sayHello> </SOAP-ENV:Body> </SOAP-ENV:Envelope> SOAP namespace Transaction ID Method Parameters Web 2.0 and Web Service Computing
Example Scenario with SOAP Web 2.0 and Web Service Computing
Example Scenario with SOAP Web 2.0 and Web Service Computing
Open API • Open API • an application program interface which enables developers to create new applications that utilize other (web)node’s resources (data and functions) and integrate them so that they provide clients with a new experience. • Google commences it for any users! 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