본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

웹 2.0(Web 2.0)은 웹을 정보를 일방적으로 내려받는 문서 공간이 아니라 사용자가 직접 콘텐츠를 만들고 공유하며 참여하는 플랫폼으로 쓰는 웹의 흐름과, 그것을 가능하게 한 기술·서비스 방식을 함께 일컫는 말이다.

웹 2.0이라는 말은 2004년 오라일리 미디어와 미디어라이브 인터내셔널이 연 '웹 2.0 콘퍼런스'에서 널리 퍼졌다. 2000년대 초 닷컴 거품이 꺼진 뒤에도 살아남아 성장한 구글, 아마존, 위키백과, 플리커 같은 서비스들의 공통점을 묶어 부른 것이다. 팀 오라일리는 2005년 글 「What Is Web 2.0」에서 그 특징을 정리했다.

웹 1.0이 웹사이트 운영자가 만든 정적 페이지를 사용자가 읽기만 하는 구조였다면, 웹 2.0에서는 사용자가 블로그·위키·댓글·태그로 콘텐츠의 생산자가 되고, 서비스는 사용자가 많아질수록 데이터가 쌓여 더 좋아진다. 기술적으로는 Ajax, RSS, 오픈 API 같은 기술이 받쳐 주었다.

  • 닷컴 붕괴 이후의 반성 : 포털식 광고·트래픽 중심 사업 모델의 한계가 드러나고, 사용자 참여로 성장한 서비스가 살아남았다.
  • 초고속 인터넷 보급 : 상시 접속 환경에서 사용자가 사진·동영상·글을 쉽게 올리게 되었다.
  • 브라우저 기술 성숙 : 자바스크립트와 XMLHttpRequest로 데스크톱 프로그램 같은 웹 화면이 가능해졌다.
  • 개방과 공유의 문화 : 오픈 소스, 위키, 블로그 문화가 확산되었다.

오라일리가 제시한 웹 2.0 기업의 핵심 특징이다.

원칙 내용
플랫폼으로서의 웹 소프트웨어를 패키지로 팔지 않고 웹에서 서비스로 제공한다
집단 지성의 활용 사용자의 참여와 기여가 서비스 가치를 만든다(집단지성). 위키백과, 아마존 리뷰
데이터가 차세대 '인텔 인사이드' 쌓기 어려운 고유 데이터가 경쟁력의 원천이다
소프트웨어 출시 주기의 종말 서비스를 늘 '영구 베타'로 두고 사용자 반응을 보며 수시로 고친다
가벼운 프로그래밍 모델 무거운 웹 서비스 표준보다 RSS·REST처럼 단순한 방식으로 느슨하게 결합한다
단일 기기를 넘어선 소프트웨어 PC뿐 아니라 휴대 기기 등 여러 기기에서 서비스를 쓴다
풍부한 사용자 경험 Ajax 등으로 데스크톱 프로그램 수준의 화면과 반응성을 제공한다

웹 1.0과 비교

편집 원본 편집
구분 웹 1.0 웹 2.0
사용자 역할 정보 소비자(읽기) 소비자이자 생산자(읽기·쓰기)
콘텐츠 생산 운영자 중심 출판 사용자 생성 콘텐츠(UCC), 참여
서비스 형태 포털, 개인 홈페이지, 정적 페이지 블로그, 위키, 소셜 네트워크, 공유 사이트
정보 분류 디렉터리(분류 체계, 택소노미) 태그(폭소노미)
데이터 연계 화면 긁어오기(스크린 스크래핑) 오픈 API, 웹 서비스, 매시업
정보 확산 방문 유도(체류 시간, stickiness) 신디케이션(RSS 구독)
화면 기술 정적 HTML, 페이지 전체 새로 고침 Ajax, RIA(부분 갱신, 비동기)
소프트웨어 패키지 판매, 버전 출시 서비스 제공, 영구 베타
사례 더블클릭, 브리태니커 온라인, 오포토 구글 애드센스, 위키백과, 플리커

웹 2.0 플랫폼을 이루는 기술로 흔히 다음 다섯 가지를 꼽는다.

기술 설명 웹 2.0에서의 역할
Ajax 자바스크립트와 XMLHttpRequest로 서버와 비동기 통신하고 화면 일부만 갱신 풍부한 사용자 경험(지도 끌어 움직이기, 자동 완성)
RSS·Atom 새 콘텐츠의 요약을 XML 피드로 배포 신디케이션. 구독자가 찾아오지 않아도 정보가 퍼진다
오픈 API와 매시업 서비스의 기능과 데이터를 외부 개발자에게 공개하고, 여러 API를 섞어 새 서비스를 만든다 플랫폼으로서의 웹, 서비스 간 결합
태그와 폭소노미 사용자가 자유롭게 붙인 꼬리표로 정보를 분류 집단 지성에 의한 분류·검색
블로그·위키(UCC) 누구나 쉽게 글을 쓰고 함께 고치는 저작 도구 사용자 참여와 콘텐츠 생산

이 밖에 REST 방식 웹 서비스, 플래시·플렉스 같은 RIA(Rich Internet Application) 기술, 댓글·트랙백, 소셜 북마크가 함께 쓰였다.

웹 2.0 시스템 개발

편집 원본 편집

개발 프로세스

편집 원본 편집

웹 2.0 서비스는 요구사항을 미리 다 정하고 한꺼번에 출시하는 방식보다 다음과 같은 반복형 방식으로 만든다.

  1. 빠른 출시 : 핵심 기능만 갖춘 베타 서비스를 먼저 공개한다.
  2. 사용자 참여와 관찰 : 사용 기록과 피드백을 수집하고, 사용자를 공동 개발자처럼 대한다.
  3. 짧은 주기의 개선 : 몇 주, 때로는 매일 단위로 기능을 고치고 배포한다(영구 베타).
  4. 개방과 확장 : API를 공개해 외부 개발자가 기능을 확장하게 한다.

애자일 방법론과 지속적 배포가 이런 개발 방식과 잘 맞는다.

구분 예
서버 측 웹 애플리케이션 프레임워크 루비 온 레일스, 장고, 스프링 MVC 등 MVC 기반 프레임워크
클라이언트 측 자바스크립트 라이브러리 jQuery, Prototype, Dojo, YUI 등 Ajax 라이브러리
RIA 플랫폼 어도비 플렉스, 마이크로소프트 실버라이트
데이터 교환 JSON, XML, RSS·Atom

웹 2.0과 SOA는 둘 다 기능을 '서비스'로 만들어 재사용하고 조합한다는 생각을 공유하지만, 쓰이는 곳과 방식이 다르다.

구분 SOA 웹 2.0
대상 기업 내부·기업 간 업무 시스템 통합 인터넷 일반 사용자와 개발자
목적 업무 프로세스 유연성, 기존 시스템 재사용 사용자 참여, 서비스 확산
서비스 결합 업무 프로세스 오케스트레이션(BPEL) 매시업
기술 SOAP, WSDL, UDDI, ESB 등 무거운 표준 REST, RSS, Ajax, JSON 등 가벼운 방식
통제 중앙 거버넌스, 서비스 수준 계약 개방, 자율적 이용
사용자 역할 서비스 소비자 생산자이자 참여자

두 흐름은 기업 안에서 웹 2.0 도구(블로그, 위키, 매시업)를 쓰는 엔터프라이즈 2.0, 그리고 REST 기반 API 중심 아키텍처로 서로 만나게 되었다.

웹 2.0 이후로 기계가 데이터의 의미를 이해하는 시맨틱 웹을 웹 3.0으로 부르기도 했고, 2020년대에는 블록체인 기반 탈중앙 서비스를 웹3(Web3)라 부르기도 한다. 웹 기술 구조의 변화는 웹 아키텍처에서 다룬다.