웹 2.0
더 많은 작업
웹 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 | 웹 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 서비스는 요구사항을 미리 다 정하고 한꺼번에 출시하는 방식보다 다음과 같은 반복형 방식으로 만든다.
- 빠른 출시 : 핵심 기능만 갖춘 베타 서비스를 먼저 공개한다.
- 사용자 참여와 관찰 : 사용 기록과 피드백을 수집하고, 사용자를 공동 개발자처럼 대한다.
- 짧은 주기의 개선 : 몇 주, 때로는 매일 단위로 기능을 고치고 배포한다(영구 베타).
- 개방과 확장 : 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 중심 아키텍처로 서로 만나게 되었다.