본문 바로가기
Study/Software Engineering

Web 2.0 에 대한 개요

by SeulKom 2010. 1. 19.


Web 2.0 이란?

닷컴 버블 붕괴 이후 살아남은 회사들의 공통점과 기존 웹에 대한 전환점을 찍는 의미로 제안된 용어로 다음과 같은 특징을 가지고 있다.




① 플랫폼으로서의 웹
  
  기존의 MS가 윈도우를 이용해 로터스 1-2-3 를 액셀로, 워드퍼펙트는 워드로, 넷스케이프 네비게이터는 인터넷 익스플로러로 대체 한 것 처럼, 웹은 수 많은 목적을 위한 플랫폼으로서 존재할 수 있다. (예. 구글 Apps, 유튜브, 구글맵 등)
Web 2.0에 관해 말을 할 때는 기술보다는 서비스 관점에서 이야기를 많이 하게 되므로 유튜브와 같은 서비스 플랫폼으로서의 웹을 이야기 한다. 하지만, O'Relly의 'What is Web 2.0?' 에서 나오는 플랫폼이라는 용어는 원래 개발 플랫폼의 개념으로 사용되었다.


  - 매쉬업(Mashup) : 여러가지 다른 서비스를 통합해서 새로운 서비스 혹은 플랫폼을 제공하는 사이트/프로그램을 말
                              한다. 다른 사이트들은 매쉬업에서 제공하는 OpenAPI를 통해 웹서비스를 제공 받을 수 있다.


  - OpenAPI : http://programmableweb.com 에 등록되어 있는 웹 서비스 접근 방법, API로 웹 서비스에 접근한다.









② 집단 지능 (collective intelligence) 이용

  중앙화 원칙(central principle)

  - 하이퍼링크는 웹의 근본이다. 사용자가 새로운 컨텐츠, 새로운 사이트를 추가할 때 마다 뇌의 시냅스가 형성되는 것과 같이 모든 웹 사용자의 집단 행동 결과로 웹의 연결은 유기적으로 성장한다.



  RSS (성장하는 웹, the Incremental web)

  - 사용자가 페이지에 링크하는 것이 아니라 구독할 수 있게 한 기법(페이지가 변경될 때마다 변경을 알 수 있다)
     고유링크(permalink)라는 웹 로그에 대한 링크가 끊임없이 바뀌는 페이지와 매 변경사항들을 통지 한다.

  - 세부 구성 표준 (아직 형식이 통일되지 않았다)
    Really Simple Syndication 2.0 - 'UserLand' 진영에서 만든 표준
    RDF Site Summary
       (RDF: Resource Description Framework, XML형태의 규격) - 'RSS-DEV Working group' 표준

  - 트랙백(trackback, 엮인글) : 다른 사람이 자신의 페이지에 링크를 추가했을 때 상호 링크(트랙백 링크)를
                                           남기거나 코멘트를 추가하는 것으로 응답



 
③ 다음 시대의 인텔 인사이드는 데이터

  - 인포웨어 (infoware, 정보상품) : 특화된 데이터베이스로부터 지원받은 인터넷 응용 프로그램
  - 경쟁우위를 위해 재생산하기 어려운 데이터 소스를 소유할 방법을 찾아야 한다.
  - 독점적 소프트웨어(proprietary software) 득세가 자유 소프트웨어 운동을 촉발한 것처럼
    독점적 데이터베이스(proprietary database)의 득세가 다음 10년에는 자유 데이터(Free Data) 운동으로
    이어질 것으로 예상




④ 소프트웨어 릴리스 주기의 종말

  - 소프트웨어를 제품이 아니라 서비스로 전달한다.
  - 일일 오퍼레이션으로 새로운 빌드업을 매일 시도한다.




⑤ 가벼운 프로그래밍 모델

  - SOAP(Simple Object Access Protocol) vs. REST(Representational State Transfer)
   
    SOAP : 웹 서비스 스택의 형식주의를 고수한 방식, SOAP 메세지를 이용하여 특정한 서비스를 요청한다.
                SOAP 메세지를 사용하기 때문에 무겁다고 말하고 서비스를 요청하기 때문에 SOA와 가깝다.
    REST : URI를 이용해서 리소스를 요청한다. 
               URI를 사용하기 때문에 가볍다고 말하고 리소를 요청하기 때문에 ROA와 가깝다.

  Web 2.0 에서 원하는 프로그래밍 방향
    - 조정(coordination) 보다는 Syndication(배급, 전달)을 생각
         : 데이터를 외부로 전달하는 것이 목적이 되도록 단순화
    - 개조성(hackability)와 재조합 가능(remixability)하도록 설계
         : 'all right reserved' 가 아니라 'some right reserved'




⑥ 단일 디바이스를 넘어선 소프트웨어

  - PC 플랫폼에만 국한되지 않는다. Ex) iTunes, Tivo




⑦ 풍부한 사용자 경험 (UX)

  - RIA(Rich Internet Application) : 매크로미디어가 컨텐트 뿐만 아니라 GUI 스타일의 응용프로그램을 제공할 수 있는 플래시의 기능을 강조하기 위해 만든 용어, 이후 구글에 의해 완전한 기능을 선보임


  AJAX

   - HTML과 CSS를 이용한 웹 표준 기반 구현
   - Document Object Model을 사용한 동적인 화면과 상호작용
   - XML과 XSLT를 이용한 데이터 교환 및 처리
   - XMLHttpRequest를 사용한 비동기 데이터 검색
   - 그리고 이들 기술을 한데 엮어줄 자바스크립트

  웹 2.0 디자인 패턴
  롱 테일(The Long Tail) : 웹 사이트 외곽부분에서 고객이 스스로 제공하는 서비스와 알고리즘적 데이터 관리