Ajax 2.0? Comet과 Reverse Ajax가 몰고 올 변화들
12월 4, 2009 by Jiwoong Chung
Filed under Technology
사업때문에 바쁘다는 핑계로 한동안 블로그를 소홀히 했었는데요. 마침 사업을 시작하기 전에 편역 작업을 진행했던 Comet 과 Reverse Ajax (원제: Comet and Reverse Ajax: The Next-Generation Ajax 2.0) 이 출간되었기에 근황 인사를 겸해, 짤막하게 소개를 드리고자 합니다
Comet은 Ajax를 통해 Server측 Push를 가능하게끔 하는 기술… 아 좀 어렵지요? 간단히 말해, 웹 브라우저가 먼저 말을 걸지 않아도, 웹 사이트나 서버가 먼저 사용자에게 말을 걸어올 수 있는.. 다시 말해 페이지 사이를 사용자가 오고 가는 형식이 아닌, 사용자와 서버가 서로 쌍방향 대화를 나누는 통신 방식을 가능하게 하는 기술이라고 말할 수 있겠습니다.
책의 내용중 역자 서문을 발췌해 자세한 소개를 대신하고자 합니다
우리가 이제는 너무나 당연하게 생활 속에서 사용하고 있는 월드와이드웹의 역사가 벌써 20년이 되었다고 합니다. 기술은 빠르게 발달하게 마련이지만, 사실 알고 보면 지금 우리가 쓰고 있는 기술의 대부분은 10여 년 전에 나온 표준에 근거한 것들입니다. 지금도 충분히 만족하며 쓰고들 있긴 합니다만하지만… 변화가 어디 그리 간단한 건가요? 하지만 모바일 웹, 실시간 웹으로 대변되는 새로운 변화의 바람은 웹 기술이 근본적으로 변화해야 한다고 말하고 있습니다.
이제는 웹 페이지가 아닌 웹 스트림의 시대, 실시간 웹(Real Time Web)이 의미하는 것은?
그러한 변화 중에서 가장 화두가 되는 것은 실시간 웹(Real Time Web)이라는 변화입니다. 이제 인터넷은 남녀노소를 가리지 않고, 생활 속에서 밀접하게 사용할 수밖에 없는 보편재가 되었지요. 인터넷은 이제 해커들만의 전유물이 아니라, 평범한 사람들이 다른 사람과 일상의 다양한 행위를 함께 하기 위해서 사용하는 도구가 되었습니다. 최근 이런 그리고 그런 흐름이 큰 변화의 흐름으로 나타난 것이, 이른바 소셜 웹(Social Web)과 Web 2.0이라고 할 수 있겠습니다.
이런 변화 속에서 그리고 이그런 소셜 웹이란 흐름을 더욱 가속화시키는 것이 실시간 웹(Real Time Web)이라고 하는 변화입니다. 사람과 사람의 짧고 간단한 대화를 쉽게 전파하고 나누게끔 하는 커뮤니케이션 플랫폼인 Twitter와 Facebook 그리고 실생활의 지역, 친교와 같은 행위를 엮어 주는 도구인 FourSquare, Loopt 같은 모바일 애플리케이션 등이 요즘 엄청난 인기를 구가하고 있는 것이 좋은 예라고 할 수 있을 것입니다.
이런 실시간 웹은 기존에 우리가 웹에 대해 가지고 있던 개념들을 바꿀 것을 요구합니다. 이따금씩 업데이트되는 웹 페이지만으로 이루어진 것이 아니라, 조금 더 작은 조각으로 잘게 나누어진 정보의 조각, 대화의 조각, 마이크로 컨텐츠콘텐츠들이 인터넷 공간을 오가게 됩니다. 큰 컨텐츠콘텐츠가 가끔씩 변하는 정적인 웹이 아니라, 작은 컨텐츠콘텐츠들이 링크를 타고 실시간으로 업데이트 되는 세상이 오고 있는 것입니다.이죠. 지금 옆집에서 일어난 화재 소식을 아이폰으로 찍어서 플리커에 업로드하고, 트위터에 올라간 이 사진의 링크가 다른 사람들을 통해 사방으로 전파되어 자칫 더 커질 뻔했던 사고를 미연에 방지했다는 얼마 전의 뉴스는 우리가 살고 있는 세상이 실시간 웹을 통해 어떻게 변화하고 있는지를 잘 보여주는 사례라고 할 수 있습니다.
실시간 웹의 필수요소, 차세대 웹을 이끄는 선두주자 Comet과 Reverse Ajax!
이렇게 실생활에의 엄청난 변화를 가져오고 있는 실시간 웹. 그러나 이런 변화에는 기술적인 도전이 한 가지 남아 있습니다. 바로, 기존의 HTTP 기술과 표준이 이런 구조를 미처 생각하지 못했던 옛날에 설계되었기 때문에 갖게 되는 문제들입니다.이지요. 서버 푸시(Server Push), 즉 클라이언트가 요청하지 않아도, 서버가 다른 사용자나 다른 마이크로 컨텐츠콘텐츠의 변화를 실시간으로 바로바로 클라이언트에게 알려줘야 한다는 요구조건을 충족시키는 문제 말입니다.
물론 현존하는 기술로도 어렵긴 하지만 이런 기능을 구현할 수는 있습니다. 하지만, 조금이라도 규모가 커진다면? 문제는 달라집니다. Comet과 Reverse Ajax라고 불리는 신기술은 바로 이런 실시간 웹의 문제를 해결하기 위해 제안된 기술로서, 이미 HTTP 기술의 다음 세대 표준으로 낙점된 기술입니다. 클라이언트와 서버가 양방향으로 대화하면서 크고 작은 스트림들을 쏟아낼 수 있는데, 서버의 부하는 도리어 별로 크지 않다면? 기존의 웹 아키텍처에서라면 상상할 수 없는 일이겠습니다.
Comet은 이미 적지 않은 시간 동안 성숙기를 거쳐왔습니다. 사실, 이런 대화형 애플리케이션에서는 다양한 Hack들을 통해 Comet을 독자적으로 구축해왔던 것이 사실입니다. 웹 채팅, 웹 캘린터, 트위터 같은 실시간 컨텐츠콘텐츠 퍼블리싱 서비스 , 증시 시황 모니터 , 온라인 회의 시스템과 같은 분야들 말입니다.이지요. 그런 음지에 있던 기술을 끌어올리고, 다양한 단체와 기업, 그리고 무엇보다 W3C, JCP 같은 표준 단체의 힘을 빌려어 전 세계적으로인 확산을 가능하게 한 주역이 바로 Comet과 Reverse Ajax라고 할 수 있습니다.
Ajax가 맨 처음 일부 애플리케이션만 적용되었지만, 이제는 모든 애플리케이션에서 보편적으로 쓰이는 기술이 된 것처럼, 실시간 웹이라는 변화는 Comet이 지향하는 쌍방뱡향 연결이 어느 웹 애플리케이션에서나 보편적으로 쓰이게 될 것이라는 사실을 의미합니다. 그야말로, 흔히 붙는 별칭처럼 Comet이야말로 ‘Ajax 2.0’이라고 부를 수 있을는 것입니다.
이미 시작된 거대한 변화,. 준비되셨나요?
Ajax라는 작은 변화가 사용자 중심의 웹 UX라는 큰 변화를 가져온 것을 모두 기억하실 겁니다. Web 2.0의 거대한 흐름 속에서 사용자에게 가장 직접적인 편익을 준 것이 바로 Ajax라는 작은 기술이었으니까요. Comet이 몰고 올 변화는 더 크고 원대합니다. 우리가 알고 있던 웹의 기본 가정들, 그로 인한 한계들을 뛰어넘고 있으니까 말입니다.
20년의 역사를 거쳐, 이제 일상 생활 곳곳에 없어서는 안될 존재로 스며든 인터넷. 이제는 소셜 웹, 모바일 웹을 통해 사람들의 일거수 일투족이 항상 웹과 연결되고 동기화되는 실시간 웹의 시대로 전이하고 있습니다. 인류의 발전이 언어, 활자, 전보, 전화, 인터넷이라는 통신수단의 발전과 함께 큰 도약을 이루었던 것을 기억하시나요? 이제 한 사람 한 사람의 작은 생각과 일상이 마이크로 컨텐츠콘텐츠가 되어 웹의 곳곳에 스며들게 되고, 서버를 통해 수많은 사람들에게 실시간으로 그 정보가 공유되는 동시성-동기화 커뮤니케이션의 시대에 우리는 접어들고 있습니다. 한 사람 한 사람의 작은 목소리가 곧바로 온 세계로 퍼져나가는 세상, 이러한 것을 가능케 하는 기술의 변화는 분명, 사회, 경제, 문화의 모든 분야에서 이런 기술의 변화가 더 큰 변화를 불러오리라 쉽게 예상해볼 수 있습니다.
기술은 가능성의 근원이라고들 합니다. 그리고 개발자는 그 기술을 가장 가까이서 접하고, 다루는 사람들입니다.이지요. 그리고 달라진 시대는 이제 더 이상 개발자가 기술을 다루기만 하는 해커에 머물기를 원하지 않습니다. 가능성을 알고 익히는, 도구를 잘 다루는 장인의 모습이 아니라, 그 가능성이 가진 가치를 세상에 더 빨리, 더 새롭게, 더 창조적인 방법으로 실현될 수 있도록, 가능성을 실현하고 가치를 창조해내는 창조자(Creator)로서의 모습을 이 시대는 요구하는 것이 아닌가 생각합니다.
멋진 코더, 멋진 개발자, 멋진 해커이길 원하세요? 그것도 충분히 의미 있는 일입니다. 하지만, 기술로 가치를 창조하고, 세상에 그 가치를 전파할 수 있는 혁신자(Innovator)나 창조자(Creator)가 한번쯤 되어보는 건 어떠하신가세요? Comet과 같은 무한한 가능성을 가진 기술과 비용과 시간을 줄여줄 다양한 오픈소스 플랫폼이 있기에, 이와 더불어그리고 여러분의 열정과 창의성만 있다면, 그런 혁신과 창조의 주인공이 되는 것도 그리 어려운 일은 아닐 것이라 생각합니다.
Comet이라는 근본적인 변화가 웹을 어디까지 변화시킬지는 누구도 쉽게 예측하지 못합니다. 트위터라는 140자짜리 단문 마이크로 블로그 서비스가, 전세계의 사람들이 서로 얽히고 설키는 웹 스트림의 중심이 되리라고는 아무도 예측하지 못했듯이 말입니다.요. 가능성은 이미 열려있습니다. 시대는 새로운 변화를 갈망하고 있습니다. 자, 이 거대한 변화를 그냥 팔짱 낀 채 두고 보시겠습니까, 아니면 직접 그 변화의 파도 속으로 뛰어들어 그 흐름을 직접 주도할 기회를 가지시겠습니까?
불가능한 일은 아니라고 생각합니다. 기술은 모든 변화가 가능하게끔 하는 가능성의 원천일 테니까요.
끝으로, 작은 분량의 작업을 오랫동안 지지부진하게 끌고 오게 되어 독자 여러분께 너무나 죄송하다는 말씀을 드리고 싶습니다. 그만큼 오래 기다려주시고, 이 책이 가진 가능성을 믿어주신 인사이트 출판사에게도 다시 한 번 감사 말씀 드립니다. 어쩌면, Comet이 더욱보다 성숙해지하고, 이제 세상에 빛을 발하려는 지금, 책이 출간된 것이 다행이라는 생각도 한편으로 들기도 합니다. 아무쪼록, 독자 여러분이 새로운 기술과 함께, 시대가 요구하는 새로운 가능성, 개발자 개개인을 변화시키는 데 필요한 새로운 가능성을 한 아름 얻어가신다면 더 바랄 것이 없겠습니다.
정지웅 드림


우와… 요즘 굉장히 관심갖고 있던 기술 중 하나인데, 벌써 번역서까지 내셨네요.
부러움과…. +_+ 감사함이 동시에 밀려오네요.
기선님 좋은말씀 감사합니다 ^^ 가능성이 무궁무진한 기술인것 같아요. 오늘 발표 잘 들었구요 오랫만에 뵈어서 반가웠습니다 ^^