1 / 67

An Introduction to Web 2.0 and Web Service Computing

An Introduction to 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

rufus
Download Presentation

An Introduction to Web 2.0 and Web Service Computing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. An Introduction toWeb 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)

  2. 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

  3. 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

  4. Web as Platform Definition “웹이 소프트웨어 플랫폼처럼 스스로 자생하고 생존하는 시스 템으로 진화 하고 있다.” “데이터를 기반으로 Open API를 통해 개발자 커뮤니티를 생성 하며 가벼운 비즈니스 모델로 모든 이용자들이 혜택을 받고 있 다.” 차세대 인터넷 웹 2.0 컨퍼런스, ㈜다음커뮤니케이션 R&D 팀장, 윤석찬2006.02.15~16 Web 2.0 and Web Service Computing

  5. Web Service is a trend Web 2.0 and Web Service Computing

  6. 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

  7. Web 2.0 Mindmap Web 2.0 and Web Service Computing

  8. Web 1.0 Model (Traditional Model) Contents Providers Centralized Information Production Information Producer Consume Information Consumer Users Web 2.0 and Web Service Computing

  9. Web as Platform Web 2.0 Model Providers Contents mashup (web services, RSS) tagging Openness Participation Users social network Web 2.0 and Web Service Computing

  10. Web 2.0 Application • [Seven Ways to Explicitly Trigger Network Effect] • Network Enable Your Application • Enable Data Sharing • Linkify Everything In Your Web 2.0 App • Syndicate Your Content • Turn Your Application Into a Platform • Open Up Inside Your Site • Build a Viral Social Architecture Web 2.0 and Web Service Computing

  11. Participation Web 2.0 and Web Service Computing

  12. UCC(User-Created Contents) Contents Production by User Participation Text Video Photo Audio Web 2.0 and Web Service Computing

  13. UCC Services Text Photo Audio Video podcasting photo storing & sharing video storing & sharing blog & wiki Web 2.0 and Web Service Computing

  14. 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

  15. 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

  16. 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

  17. Collective Intelligence – From Tagging to Folksonomy Traditional Classification  Hierarchical-enumerative Web 2.0 and Web Service Computing

  18. Collective Intelligence – From Tagging to Folksonomy Web 2.0 Classification  Tagging Web 2.0 and Web Service Computing

  19. Collective Intelligence – From Tagging to Folksonomy Tagging is easy! Web 2.0 and Web Service Computing

  20. Collective Intelligence – From Tagging to Folksonomy Tag Cloud Web 2.0 and Web Service Computing

  21. Collective Intelligence – From Tagging to Folksonomy Folk: 일반 대중들 + Taxonomy: 분류법 Web 2.0 and Web Service Computing

  22. Collective Intelligence – From Tagging to Folksonomy Web 2.0 and Web Service Computing

  23. Collective Intelligence – Recommendation So many Recommendations! Web 2.0 and Web Service Computing

  24. 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

  25. Collective Intelligence – Recommendation Collaborative Filtering 4) Request Recommendations 1) Submit Ratings 6) Select Items & Predict Ratings C.F. Engine 5) Identify Neighbors 2) Store Ratings 3) Compute Correlations Ratings Correlations Web 2.0 and Web Service Computing

  26. 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

  27. Text Photo Audio Video Contents Production  Consumption Contents (User-Created Contents, Ready-Made Contents) Contents Consumption Recommendation Recommendation, Search, Tagging • Searching • Discovering (links, tags, directories) • Recommended Long Tail Personalization Web 2.0 and Web Service Computing

  28. Personalized News Personalization Personalized Search Personalized Homepage Web 2.0 and Web Service Computing

  29. Personalization Web 2.0 and Web Service Computing

  30. The Long Tail http://www.wired.com/wired/archive/12.10/tail.html?pg=3 Web 2.0 and Web Service Computing

  31. 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 1.0 : DoubleClick Web 2.0 : Google AdSense Web 2.0 and Web Service Computing

  32. Wikipedia Web 2.0 and Web Service Computing

  33. Wikipedia • [Wikipedia의 기본 방침] • 편견을 배제한다.: 중립적인 관점에서 내용 작성 • 저작권을 침해하지 않는다.: 저작권이 보호되는 자료는 올려지지 않는다. • 백과사전 이외의 목적은 없다. • 다른 회원에게 경의를 표한다. • : Wikipetiket Wikipedia An article 작성 추가 추가 및 수정 수정 Radical Trust (진보적 성선설)에 입각한 Collective Intelligence의 전형적인 결과물 Web 2.0 and Web Service Computing

  34. Openness Web 2.0 and Web Service Computing

  35. 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

  36. How to Handle It? • 방법 1 • 모든 언어를 익힌다 - 현실적으로 불가능 하다. • 모든 체계에 익숙해 진다 – 역시 불가능하다. • 모든 사상을 수용한다 – 사상 자체가 서로 상반되므로 분리가 불가피하다. • 사상 통일 – 세계 정복 • 방법 2 • 동일한 언어 사용 • Java, XML, …(영어, 에스페란토어, …) • 하나의 체계를 사용 • java (VM), .Net (CLR), … • 다른 사상을 허용하되 통신은 표준적인 규약에 따른다. • HTTP, SOAP Web 2.0 and Web Service Computing

  37. Developer Utopia • 새로운 언어는 배울 필요가 없고… • 표준적인 통신 방법만을 배우면 다른 모듈, 제품, 서비스와 결합이 가능하면… • 로직은 자신이 알고 있는 언어로 자신 있게… • 편하게 개발하고 무슨 기법/언어를 사용했는 지와 관계 없이 대화가 가능하게 되면… • 가능하면 통신 방법도 알 필요가 없으면… Web 2.0 and Web Service Computing

  38. 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

  39. 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

  40. 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

  41. Features • Web Service Computing 의 특징 (2/3) • Component-based • 하나의 웹 서비스는 대규모 웹 서비스의 일부 기능을 담당 • Use directory service • 웹 서비스는 디렉토리 (Directory)에공시되고, 클라이언트는 디렉토리를통하여 웹 서비스 검색 개발이 용이하고 시간을 단축시킴 Web 2.0 and Web Service Computing

  42. Features • Web Service Computing 의 특징 (3/3) • Interact through abstracted Interfaces (service description) • 추상화된 인터페이스 (Interface)를 통해서 웹 서비스의 기능이 보여짐 • 약속된 계약사항만 준수하면 모든 동작이 수행됨 Provider의 비즈니스 로직(Logic) 변경 용이 Web 2.0 and Web Service Computing

  43. 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

  44. 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

  45. Web Applications vs. Web Services Web 2.0 and Web Service Computing

  46. RPC(CORBA, Java RMI, DCOM) vs. Web Services Web 2.0 and Web Service Computing

  47. Example – Hello World 웹 서비스 클라이언트 개발자 WSDL 문서 코드 생성 클라이언트 클래스 작성 스텁 클래스 생성 웹 서비스 시스템 원격 프로시저 호출 요청 SOAP 메시지 클라이언트 객체 Sub Tie 원격 프로시저 원격 프로시저 응답 SOAP 메시지 JAX-RPC 라이브러리의 지원 웹 서비스 개발자 JAX-RPC: Java API for XML-Based RPC Web 2.0 and Web Service Computing

  48. Example – Hello World • 웹 서비스 개발 (1/6) • 원격 인터페이스 작성 • 클라이언트가 호출할 수 있는 원격 프로시저 정의 • 패키지를 적용하여 작성 • Java.rmi.Remote인터페이스 상속 • 접근 제어자는 반드시 public으로 한다. • 반환형과 인자형은 JAX-RPC가 지원하는 데이터 타입이어야 함 • 메소드는 java.rmi.RemoteException을 반드시 throws 해야 한다 . package hello; import java.rmi.*; public interface HelloIF extends Remote { public String sayHello(String s) throws RemoteException; } Web 2.0 and Web Service Computing

  49. Example – Hello World • 웹 서비스 개발 (2/6) • 구현 클래스 작성 • 원격 인터페이스를 implements한 클래스 • 패키지를 적용하여 작성 • 접근 제어자는 반드시 public으로 한다. • 생성자는 인자가 없는 디폴트 생성자 형태로 작성 package hello; public class HelloImpl implements HelloIF { public String sayHello(String s) { return "Hello " + s + "!"; } } Web 2.0 and Web Service Computing

  50. Example – Hello World • 웹 서비스 개발 (3/6) • 웹 응용프로그램 배치 기술자 작성 • 배치 기술자(web.xml) 작성 • http://java.sun.com/dtd/web-app_2_3.dtd 참고 • WEB-INF에 저장 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" version="2.5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <display-name>helloWS</display-name> <session-config> <session-timeout>60</session-timeout> </session-config> </web-app> 이후 Tie 클래스 및 WSDL을 만들 때 필요 Web 2.0 and Web Service Computing

More Related