Web 2.0 이란?
닷컴 버블 붕괴 이후 살아남은 회사들의 공통점과 기존 웹에 대한 전환점을 찍는 의미로 제안된 용어로 다음과 같은 특징을 가지고 있다.
① 플랫폼으로서의 웹
기존의 MS가 윈도우를 이용해 로터스 1-2-3 를 액셀로, 워드퍼펙트는 워드로, 넷스케이프 네비게이터는 인터넷 익스플로러로 대체 한 것 처럼, 웹은 수 많은 목적을 위한 플랫폼으로서 존재할 수 있다. (예. 구글 Apps, 유튜브, 구글맵 등)
Web 2.0에 관해 말을 할 때는 기술보다는 서비스 관점에서 이야기를 많이 하게 되므로 유튜브와 같은 서비스 플랫폼으로서의 웹을 이야기 한다. 하지만, O'Relly의 'What is Web 2.0?' 에서 나오는 플랫폼이라는 용어는 원래 개발 플랫폼의 개념으로 사용되었다.
- 매쉬업(Mashup) : 여러가지 다른 서비스를 통합해서 새로운 서비스 혹은 플랫폼을 제공하는 사이트/프로그램을 말
한다. 다른 사이트들은 매쉬업에서 제공하는 OpenAPI를 통해 웹서비스를 제공 받을 수 있다.
한다. 다른 사이트들은 매쉬업에서 제공하는 OpenAPI를 통해 웹서비스를 제공 받을 수 있다.
② 집단 지능 (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' 표준
(RDF: Resource Description Framework, XML형태의 규격) - 'RSS-DEV Working group' 표준
- 트랙백(trackback, 엮인글) : 다른 사람이 자신의 페이지에 링크를 추가했을 때 상호 링크(트랙백 링크)를
남기거나 코멘트를 추가하는 것으로 응답
남기거나 코멘트를 추가하는 것으로 응답
③ 다음 시대의 인텔 인사이드는 데이터
- 인포웨어 (infoware, 정보상품) : 특화된 데이터베이스로부터 지원받은 인터넷 응용 프로그램
- 경쟁우위를 위해 재생산하기 어려운 데이터 소스를 소유할 방법을 찾아야 한다.
- 독점적 소프트웨어(proprietary software) 득세가 자유 소프트웨어 운동을 촉발한 것처럼
독점적 데이터베이스(proprietary database)의 득세가 다음 10년에는 자유 데이터(Free Data) 운동으로
이어질 것으로 예상
독점적 데이터베이스(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'
: '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) : 웹 사이트 외곽부분에서 고객이 스스로 제공하는 서비스와 알고리즘적 데이터 관리
'Study > Software Engineering' 카테고리의 다른 글
Eclipse - Swordfish Tutorial 따라하기 (1) | 2010.01.25 |
---|---|
WSDL (Web Service Description Language) (0) | 2010.01.24 |
디자인 패턴(Design Patterns) 카탈로그의 조직화 (23개) (0) | 2010.01.07 |
UML 2.0 (0) | 2009.09.02 |
Design principle 을 지키는 Refactoring 방법 (0) | 2009.08.31 |