웹2.0이란 말장난에 참여하며...

"웹 2.0"의 개념은 오라일리와 미디어라이브 인터내셔널의 컨퍼런스 브레인스토밍 세션에서 시작되었다. 웹 개척자이자 오라일리 부사장인 데일 도허티(Dale Dougherty)는 웹 2.0이 기존의 웹과 충돌하는 것이 아니며, 웹은 지금보다 더 지속적으로 중요해질 것이며, 웹은 놀랄만한 규칙성을 갖고 등장하는 새로운 응용 프로그램과 사이트를 갖게 될 것이라고 언급했다. 뿐만 아니라, 닷컴붕괴이후 살아남은 회사들은 어떤 공통적인 것을 갖고 있다. 웹에 일종의 전환점을 찍은 닷컴 붕괴를 어떻게 표현할 수 없을까? 예를 들어, "웹 2.0"으로 부르는 것은 어떨까? 우리는 이런 의견에 동의했고, 그 결과로 웹 2.0 컨퍼런스가 탄생했다."


인터넷업계에서는 너무도 유명한 O'reilly 아저씨는 컨퍼런스를 진행하기 전 웹2.0이라는 단어를 만들어 냈다. 마치 앨빈토플러의 "제3의 물결" 처럼 인터넷 업계의 변화의 흐름을 정리해보자는 거였고, 그 구체적 자료로 현재 성공한 웹사이트의 공통적인 면과 특장점을 찾아보니 플랫폼, AJAX 뭐 이런 단어들이 나오게 된것이다. 허나, 이 단어의 매력은 인터넷 업계의 새로운 이슈가 필요했던 호사가들의 입에 오르내리게 되었고 저마다 제멋대로의 기준으로 해석하게 되었다. 뭐 이러한 문제는 외국의 경우에도 굉장히 논란거리인데, 우리나라의 경우는 더욱 심각하다고 할 수 있다.


특히 미국의 인터넷 산업변화를 기준으로 대두된 웹2.0이라는 단어를 우리나라 논설가들은 그대로 인터넷 활용률이 세계최고인 국내 상황에 가변없이 적용했으며, 무엇보다 큰 문제는 기술과 개발방법론의 차이를 이해하지 못한다는 것이다. 일단 이런 모호한 단어에 대해서는 웹2.0이란 단어를 만들어낸 당사자의 성격을 아는것이 중요한데, 다음 링크를 통해 보도록 하자.

http://blog.naver.com/mars_kkang/50008864880


쉽게말해 "나도 잘 모르겠다??" 이다. 애초에 성공한 사이트들의 공통점을 각 전문가들에게 함께 찾아보자고 화두를 던졌더니, 다들 각자의 기준과 철학으로 해석하고 결국 웹2.0의 탄생 자체도 흐릿해져 버렸다는 것이다. 현재 웹2.0 단어가 들어간 국내서적을 살펴보면 더욱 가관이다. 나름대로의 기준을 가지고 웹사이트들의 성공한 요소를 분석하는것은 차이가 있지만 항상 결론은 Well-done... 결국 그냥 잘~ 만들면 된다는것으로 결론을 낸다.


오죽하면 웹2.0 사이트를 만들려면,

사각형 박스를 라운드 박스로 바꾸고,

색상은 파스텔 톤으로

드래그 앤 드롭을 지원하고

AJAX를 사용한다.


라는 농담이 진지하게 와닿을까?

호사가들이 "웹2.0"이라는 단어로 굳이 아는척을 하고싶다면, 다시 근본적인 문제부터 접근해볼 필요가 있다.

"성공한 웹사이트의 공통점은 무엇인가?"


이것은 성공한 웹사이트란 무엇인가에 대한 대전제가 필요하며, 그리고 이것에 대한 분석은 기술적측면과 기획적측면 두가지로 다르게 접근해 나가야 한다. 일단 외국의 인터넷 상황에 대해 분석해볼 필요가 있는데, 외국 사이트의 대부분은 비동적페이지로 이루어져 있다. 오죽하면 외국 기술서적을 읽으면 그 기준을 단순 HTML기술이 주류인것으로 기준을 잡고 얘기하고 있어서 동적페이지가 당연한 것으로 아는 우리나라 기준으론 한심하게 느껴질 정도였다. 예를 들면 외국 기술서적에서

Response.Write(DateTime.Now.ToString());


이같은 코드로 Refresh마다 시간을 다르게 출력하면..

"보아라!!! 시간이 다르게 표시된다!!! 놀랍지 않은가!!!!!!!!!!!!!!"

라며 놀라워 할정도니, 국내상황과 외국상황의 차이를 실감할 수 있다.



이때문에 미국내에서의 논란과는 별도로 국내에서의 논란은 더욱 커져만 갔는데, 일단 웹2.0이 현재 상황을 말하는게 아니라 미래상황을 얘기하는 것으로 오해해 버렸다는것 부터 시작되었다. 맨 위에도 언급했지만 닷컴거품이 꺼진 후 살아남은 사이트의 특징을 웹2.0으로 정의하자는것, 즉 현재 상황을 말하는것인데 각종 기사나 책에서는 "차세대 기술 웹2.0~~~~" 해가며 앞으로 어떻게 어떻게 변해야 웹2.0이 되는것 처럼 현재 사이트들을 웹1.0이라고 단정해버리고 있다는 것이다.

이것은 웹2.0..3.0..4.0 이런것처럼 버전업에 대한 이슈화가 2.0부터 시작되었기에 헷갈릴 수 있는데 웹1.0을 웹 탄생의 초창기 모습이라고 굳이 억지로!!!!! 정의 하자면 단순HTML의 비동적웹페이지를 말하는 것일거다.

이것은 당시 Telnet,FTP,Gopher (쉽게말해 PC통신) 같은 쌍방향 데이터전송기술에 비해 한참 뒤쳐지는 지는 기술인데, 인터넷 환경의 개선으로 컬러풀하며 각종 멀티미디어 데이터도 쉽게 볼 수 있는 브라우저를 통한 http 프로토콜이 더 인기를 끌게 된게 아닌가 싶다. 게다가 일방적 데이터 전송의 문제도 CGI로 해결됐겠다. Telnet처럼 서버-클라이언트간 항상 연결할 필요도 없겠다.. 여러이유가 웹의 발전에 도움이 되었다고 할 수 있다.


그 이후 동적웹페이지의 필요성도 함께 대두되어 asp, jsp, php 등 쉽게 프로그래밍 가능한 Server Side Script들도 다양한 발전을 이루게 되었고, CSS나 JScript 등등... 특히 브라우저의 한계를 뛰어넘은 ActiveX나 Applet은 Flash나 WindowMedia같이 멀티미디어도 더욱 쉽게 접근 가능하게 되었다. 이것은 엄청난 변화로서 단순HTML 페이지를 웹1.0이라고 한다면 동적웹페이지를 사용하는 웹사이트들은 모두 웹2.0 이라고 할만 하다. 하지만 그것은 기술적 측면으로만 봤을 때이다. 기술에 대한 접근은 항상 기획에 대한 필요성과 결합되지 않으면 아무 의미가 없다.


이것은 AJAX를 사용하면 Web2.0이라고 떠드는 웃기지도 않는 유머와도 일맥 상통하는데, 일단 AJAX가 무엇인지부터 대충 알고 더 이야기를 진행해보자.

AJAX는 Asynchronous Java-Script And XML의 약어인데 보통 아약스로 발음하며, 미국계는 에이젝스라고 한다. 이 기술은 약 3가지 기술의 혼합기술인데, 그중 핵심은 IE5부터 지원된 HttpRequest(XMLHttp)객체라고 할 수 있다. 이 객체는 특정 주소에 신호를 보내면 서버에서 보내주는 데이터를 Refresh없이 전송받을 수 있다. 이 기술은 아마도 MS에서 DataIsland라는 동적HTML바인딩 기술과 함께 현재의 AJAX와 비슷한 기능을 하려고 만들었던 기술인것 같은데, 인기가 없어서인지 W3G의 표준화 압박에 밀린건지, 사실은 HttpRequest와 DataIsland를 없애려고 MSDN에서도 "없어질지도 모르니 사용시엔 주의하시오"같은 문구가 빨간색으로 뜨기도 했었다.

어쨌든 어떤 똑똑한넘이 이 HttpRequest를 웹서비스 호출에 사용하면서 XML결과값을 Java-Script로 조작했고, 이것을  AJAX라고 이름붙이게 되어 폭발적 인기를 등에 업어 XMLHttpRequest가 사실상 표준화가 되버린 것이다.

기술적으론 이렇단 얘기고, 기획적으로는 페이지 리프레시 없이 데이터 송수신을 구현했다는 얘기다. 왜 기획 얘기를 자꾸 하느냐면 기획으로 인해 목적이 잡혀 있다면 그것을 구현하기 위한 기술은 무엇이 되었던 상관없기 때문이다.

예를들어 페이지 리프레쉬 없이 데이터 송수신은 ActiveX같은 브라우저플러그인들을 사용하는것이 아니더라도 브라우저에서 기본적으로 제공하는 frame이나 iframe을 숨겨두어 사용하거나 스크립트로 동적생성하는것도 가능하다. (특정 용량 이하에선 HttpRequest보다 IFrame의 수신속도가 훨씬 나은 퍼포먼스를 보여줬다.)또한 Request 데이터 타입이 XML이라면 JScript외에도 VBScript도 가능하다. Flash같은 이미 대중화된 플러그인을 사용해도 문제가 없다면 데이터 송수신은 Flash의 WebService,XML,XMLSocket같은 객체를 사용하는것도 좋은 방법이다.

이처럼 목적이 있다면 그것을 구현하기 위한 방법은 AJAX가 아니라도 얼마든지 구현 가능하며, 즉 AJAX를 사용해야 웹2.0이라고 말하는건 "신라면만 끓이면 성공한 분식집"이라고 말하는것과 같다는 것이다.

그렇다면 AJAX라는 용어 대신 뭐라고 해야 하는걸까? 이것에 대한 접근은 End-User에게 어필되는 동작을 구체화 하면 되는데, 엔드유저에게 보이는것은 "페이지 리프레쉬 없이 정보가 바뀌는것"(이 말에 대한 쉬운 단어가 있는지 모르겠다.) 이라는 것이다. 뭐 내부적으로는 XML Webservie를 사용해서 표준화, 공통화 라는 이슈도 사용가능 하지만 이건 내부 기술적인 목적에 따라 달라지는 요소이므로 일단 논외로 하기로 하고, 이것이 왜 장점인가에 대해 분석도 해볼 필요가 있다.

일단 이러한 기획과 기술을 가장 절묘하게 사용한 사이트는 구글의 구글맵을 예로 들 수 있다. 구글은 웹표준을 철저하게 지키며, 특정 브라우저에 종속된 기술을 사용하지 않기로 유명한데, 그것과 가장 어울리는것이 Java-Script와 XML이었다. 데이터 송수신을 위한 HttpRequest객체는 원래 IE의 객체이지만 다른 브라우저에서도 지원하므로 이 3가지 기술을 활용해 현재의 구글맵처럼 페이지 리프레시 없이.. 즉 기존 페이지의 데이터 유실 없이 새로운 정보를 보여주는것이 가능했다는 것이다. 즉 철저히 기획적 필요에 의해 맞춘 기술활용이라고 할 수 있다.

국내의 상황은 어떠한가? AJAX가 대세라며 필요도 없는곳에 마구 활용하고 있다. 대표적으로 가장 많이 알려지고 많이 사용중인 "게시판"에서도 사용되고 있는데, 게시물 리스트에서 제목을 클릭하면 내용이 Layer로 뜨면서 AJAX를 이용해 글 내용을 가져와 보여주는것은 좋은 아이디어라고 볼 수 있다. 하지만 게시판 페이징을 AJAX로 구현하는것은 "뒤로가기"가 안되는 AJAX의 단점을 생각한다면 오히려 불편한 인터페이스를 제공하는 꼴이다.

이처럼 성공한 웹사이트에 대한 분석을 기술과 기획의 두가지 측면에서 접근하지 않고 단편적인 분석만 한다면 성공한 웹사이트는 커녕 불편한 웹사이트가 될 수 밖에 없다.



다음으로 웹2.0은 플랫폼이라는 말을 살펴보기로 하자. 단순히 플랫폼이라 하면 개념이 너무 모호한데, 오라일리 아저씨가 레퍼런스 책 등을 많이 펴냈으니 개발자 성향의 사람이라면 이 아저씨가 말하는 플랫폼이란 무엇인지 분명해 진다. 이것은 다르게 말해 웹페이지의 라이브러리화 라고 볼 수 있다. 코드의 라이브러리는 개발시에 엄청난 잇점을 가져다 준다. 업무 속도는 물론이고 공동개발과 핵심코드 보안 등 많은 부분에 장점이 있다. 특히 이러한 장점은 개발자에게 뿐만아니라 오너에게도 큰 장점을 가져다 주는데, 이베이의 CEO인 맥휘트먼의 이야기를 보면 왜 장점인지 알 수 있다.

"
6월의 어느날 오후 7시쯤, e베이의 시스템이 완전히 멈춰 버렸다. 시스템 다운은 자주 있었으나 이내 회복되고는 했다. 그러나 이번에는 심상치 않았다.  e베이 하드웨어 시스템은 천재라는 소리를 듣는 엔지니어 마이크 윌슨이 구축한 것이었다. 문제는 그가 지금 휴가를 얻어 베네수엘라의 오지에 가 있다는 점이었다. 엔지니어들은 원인을 찾지 못해 우왕좌왕했다. 우두머리가 공석이면 그를 대신할 사람이 있어야 하는데 e베이 기술팀에는 그럴 만한 인물이 없었다. 윌슨이 2인자를 키우지 않았기 때문이었다.


기술을 전혀 모르는 휘트먼이 엔지니어들을 지휘해 이 문제를 해결해야 했다. 그는 빠른 속도로 e베이 기술의 핵심을 파악해 나갔다. 위기 속에서 몇 시간도 안돼 상황을 정리해 나가는 그의 능력을 보고 엔지니어들은 감명을 받았다. 진정한 엔지니어들의 리더가 된 것이다.

시스템은 22시간이 지나서야 회복됐다. 이 사건으로 휘트먼은 기술투자에 등한히 해온 자신의 실수를 깨달았다. 또 점점 더 복잡해지는 e베이 시스템을 전적으로 한 사람에게 의존한다는 것이 얼마나 위험한 것인가도 알게 됐다. 휘트먼은 e베이 경력에서 가장 중요한 결단을 내린다. e베이 하드웨어 시스템의 아버지라고 할 수 있는 마이크 윌슨을 교체한 것이다.
"
출처 :


http://blog.naver.com/andyy2000/17540806


이 내용의 의미는 소스의 공용화가 천재적 개인보다 중급의 다수가 더욱 이점을 가져다준다는 것인데, 이것은 앞으로 개발방법론에서 대두될 MDA(Model Driven Architecture)이 대중화 되면 더웃 빛을 발휘하게 될 것이다.
또한 웹사이트의 플랫폼 혹은 라이브러리화는 독립적인 실행 시스템이라는 의미를 내포하기도 하는데, Java나 .NET같은 독립 Platform을 기반으로 사이트를 제작하면 특정 시스템환경에서의 속박에서 어느정도 벗어날 수도 있기도 하다. 또한 기존 ServerSiteScript에서 이러한 OOP방식의 언어로의 도입은 코드의 재사용도 손쉬우며, 보다 저수준의 리소스에 접근 가능하다. 무엇보다 웹서비스 기술을 활용하면 Platform 환경이 무엇이든 호환이 가능하므로 보다 훌륭한 SOA(Service Oriented Architecture) 웹사이트가 될 수 있다.
SOA나 MDA는 Web환경에만 국한된 단어는 아니지만, 웹의 대형화, 모듈화에 꼭 필요한 모델이었다는 것을 생각한다면 역시 기획적 필요에 의해서 사용된 기술이라고 할 수 있다.

마지막으로 사용자중심의 웹2.0 이라는 말이 있는데, 사용자 중심이라고 하면 사용자 편의성이나 디자인 같은것으로 이해해서 UI개선이나 웹표준화나 CSS사용같은걸 얘기하는 사람이 있는데, 그런것은 웹2.0이 아니더라도 필수적으로 지켜야 하는것들이다. 웹2.0의 특징을 말하고자 하는데 그런 당연한것들을 이야기 해봤자 항상 Well-Done 사이트가 Web2.0, Web3.0이라며 계속 말장난 할수밖에 없게된다. 그렇다면 웹2.0에서 말하는 사용자 중심은 어떻게 이해해야 할까?

쉽게 말해 UCC(사용자 생산 컨텐츠)라고 볼 수 있다. 가장 쉽게 이해하자면 미국으로 치면 YouTube나 우리나라로 치면 MNCast를 들 수 있다. 하지만 이러한 서비스는 Flash 8이 출시된 후에나 가능했던 것들이라 Web2.0이 처음 나왔을때 이러한 사이트를 보고 얘기하진 않았을 것이다. 따라서 여기서는 블로그나 검색엔진, 옥션 등을 예로 들어보도록 하는것이 좋을것 같다.

우선 검색엔진은 세계의 수많은 네티즌들이 제작한 웹페이지를 검색하여 보여줌으로서 검색엔진 업체가 직접 컨텐츠를 만들어 서비스할 필요가 없다. 또한 블로그도 개인미디어라고 불리우며 각자가 제작한 컨텐츠들을 RSS등으로 쉽게 받아 볼 수 있으며, 이베이나 옥션 등에서 사용자가 상품을 팔기도 하고 구매도 할 수 있다.
이것은 무심코 생각하면 별로 대단해보이지 않을 수 있지만 그것은 우리가 습관처럼 사용하는 사이트들이 이미 대부분 UCC를 서비스하는 사이트들이기 때문일 것이다.

UCC가 활성화 된것은 위에서 말한 플랫폼화나 웹의 상호작용화가 가능해진 후부터 더욱 손쉬워지고 강력해졌기 때문이다. 초창기 정적웹페이지를 웹1.0이라고 한다면 이 UCC라는 패러다임이 없다면 상호작용이 가능한 동적 웹페이즈를 구현하기 위한... 위에서 한참 설명한 기술따위가 있더라도 써먹을 필요가 없는 기술들이기 때문에 어쩌면 이 UCC라는 패러다임은 웹1.0과 2.0의 경계를 가장 확실하게 나누어주는 단어가 아닌가 싶다.

왜냐하면 웹2.0의 탄생 자체가 닷컴기업 붕괴이후 살아남은 사이트들의 특징을 웹2.0이라고 해보자는 것이었는데, 닷컴기업 붕괴때 망한 사이트들도 위에서 한참 설명한 플랫폼화나 AJAX같은 독특한 기술을 안쓰진 않았기 때문이다.
따라서 맨 위에서 웹1.0을 정적HTML페이지라고 일단 정의해봤지만 이 UCC를 기준으로 생각한다면 웹1.0이나 웹2.0의 변화는 특정 기술에 종속적인게 아니라는 뜻이 된다.

그렇다면 UCC를 사용하지 않은 사이트들을 보자.

UCC를 적용하지 않은 상호작용이 가능한 동적페이지를 서비스하는 사이트는 대표적으로 방송 및 언론사 사이트를 예로 들 수 있다. 방송 및 언론사는 모두가 알고 있지만 전 국민이 매일 접하는 회사로서, 세계 어느나라에서나 강력한 권력(?)을 가지고 있다. 하지만 또 모두가 알고 있지만 왠일인지 인터넷에서는 맥을 못추고 있다. 이것은 기사나 방송같은 데이터들이 단지 각종 포털사이트들에게 관리되고 서비스되고 있기 때문이다. 성공한 사이트들 중 컨텐츠를 자체제작하는곳은 거의 없다.

이것은 컨텐츠 제공자와 소비자 양쪽에게 시스템을 제공함으로서 시스템관리만 하는것이 더욱 효율적이고 이득이라는것인데, 이러한 서비스를 하는 업종을 개인적으로는 "정보중개업"이라고 부르고 싶다. 모두가 알고 있지만 일반 네티즌들은 웹사이트란 당연히 정보 올리고 받고 하는것이 웹사이트인줄 알정도로 수많은 UCC타입의 웹사이트들이 성공했으며, 이러닝의 교육컨텐츠 제작업체나, 영상제작업체, 게임개발업체, 모바일서비스업체 등등등 자체 인터넷컨텐츠 제작업체들은 CP라는 이름으로 전락하며 "정보중개업"자 들에게 이리저리 끌려다니고 있는것이 현실인 것이다.

  하여간  개인적으로 웹2.0이라는 말 자체는 싫어하지만 "성공한 웹사이트들의 특징 == 웹2.0"이라며 국내 상황을 가지고 굳이 정리하고자 한다면 ""UCC를 서비스하기 위해 SOA를 적용한 웹사이트"" 라고 할 수 있겠다. 즉 현재 우리가 쓰는 대부분의 사이트이다


그리고 웹2.0도 나름 정리한김에 웹3.0도 정리해 보도록 하자. 웹2.0도 개인적인 생각만으로 정리한것이지만 웹3.0은 더더더더더더욱 개인적인 생각이므로 맞을지는 모르겠지만, 아무래도 RIA진영의 FLEX의 폭발적 인기도 그렇거니와 IT라면 어느분야던지 무시할 수 없는 MS의 WPF의 탄생이 인터넷 업계에 큰 바람을 불러올것이 예상된다. 이것은 FLEX나 WPF가 아무리 강력한 기능을 가졌다 한들 유저활성화가 없이는 불가능한 것인데, 유저 활성화만 가능하다면 "웹==HTTP==브라우저"의 공식이 더이상 의미없어지기 때문이다. FLEX는 그나마 웹의 범주안에만 속하므로 보다 폭넓은 기술의 변화라고 할수는 없지만, WPF의 XAML같은 것은 웹과 로컬어플리케이션을 넘나들기 때문에 UCC와는 또다른 수많은 패러다임을 생산해내며 웹의 시대를 3.0으로 변하게 할만한 잠재력을 지녔다고 할 수 있다.


어쨌든 유명미술가가 쉬야한 이불도 작품으로 해석된다는 유머처럼.. 오라일리 아저씨의 말 한마디에 많은 사람들이 자체 해석하며 종교화되가고 있는 웹2.0을 바라보며 그나마 조금은 더 구체적인 정리를 해보고 싶은 마음에 이렇게 대량의 글을 남겨본다.






싸이 웹기실에 올렸던 글...

근데...이글루스 편집기가 왜 이모양인지.... ㅋ

by 귀뫄뉘 | 2007/04/05 19:55 | ┏ gossip | 트랙백 | 덧글(3)
트랙백 주소 : http://kuimoani.egloos.com/tb/121817
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by 꼬출든남자 at 2007/04/05 22:31
오오오.. 멋진 글이자 멋진 글솜씨!!(매우 부럽~)
ps. 근데...이글루스 편집기가 왜 이모양인지.... ㅋ x2
Commented by 바람한잔 at 2007/04/06 09:51
좋은 글 잘 읽고 갑니다~ 웹 2.0이라는게 우리나라 개발자에게는 악몽 그 자체로 다가 옵니다. ㅠㅠ
Commented by 귀뫄뉘 at 2007/04/06 13:33
관심 감사합니다 ^^

:         :

:

비공개 덧글