Comet and Reverse Ajax

Comet and Reverse Ajax (Paperback) - 7점 Crane, Dave/Springer-Verlag New York Inc

최근 몇 가지 의문이 동시에 떠오른 적이 있었습니다. 첫째는 GAE(Google App Engine)에서 Server Push를 구현하려고 할 때 별도의 외부 서버 없이도 가능하겠느냐? 하는 것이고, 둘째는 HTML5 의 WebSocket이 Comet 솔루션들에 현재 어느 정도의 영향을 주고 있는가? 이고, 셋째는 채팅 서버로 활용할 수 있는 상용 Comet 서버가 있는가 하는 것이고, 넷째는 상용 Comet 서버들의 현재 성능이 어느 수준에 도달해 있는가? 이고, 다섯째는 Comet관련 기술들의 표준화에는 진전이 있는가? 입니다. 오가네가 준비하는 새 서비스에 GAE를 사용하려고 결심한 탓이기도 하고, 난대 없이 채팅서버를 떠 안은 탓이기도 합니다. 상기한 질문에는 천천히 답하더라도 일단 공통되는 키워드가 Comet입니다. 책방을 뒤져보면 Comet이라는 단어가 들어가있는 책은 그리 많지 않습니다. 일단 제가 구독하고 있는 Safari Books Online 과 Amazon 에는 이 책 딱 한 권뿐입니다. 100여 페이지의 얇은 부피를 자랑하는 FirstPress 시리즈니 가볍게 읽어 볼만 합니다. Safari Books Online 에서 제공하는 온라인 전자책을 데스크탑 PC와 아이폰을 활용하여 읽었습니다. (왜 이런걸 밝히는지는 나중에 다른 포스트에서 따로 말씀 드리겠습니다.)  Reverse Ajax는 주로 DWR(Direct Web Remoting)이라는 시스템에서 사용하는 용어이고, 그 이외에서는 Comet이라는 용어로 통일되어가는 경향을 보입니다. 때로 Ajax Push라고 부르는 사람들도 있습니다. 어쨌거나 Comet이란 Ajax 와 마찬가지로 JavaScript 에 깊이 의존하는 기술로, 일반적으로 브라우저에서 시작되는 메시지 전송 대신에 서버에서 시작되는 메시지 전송을 실현하는 방법들을 뜻합니다. 특히 브라우저가 짧은 간격의 반복적인 요청을 통해 실시간 효과를 흉내 내는 것이 아닌, Script Streaming 이나 Long Poll등의 기법을 통해 서버의 부담을 최소화하는 비 동기 메커니즘을 제공하는 것을 뜻합니다. 보통 주가 안내나, 채팅, 실시간 모니터링 등에서 사용됩니다. Ajax 에 Asynchrony가 추가된 것인데, 같은 단어가 Ajax의 첫 글자에 이미 들어가 있기 때문에, 개인적으로는 모두 Ajax라고 부르는 것이 좋다고 생각합니다. 자 무슨 소리인지 잘 모르겠다고요? 그러면 이 책의 전반부는 당신을 위한 것입니다. 다 아는 소리라고요? 그러면 당신은 이 책 대신에 Dojo 나 DWR같은 도구들의 매뉴얼을 읽으시는 것이 더 생산적이라는 신호입니다.   책은 Magnetic Poetry 라는 간단한 응용을 여러 가지 방법으로 제작하는 과정을 예시합니다. Comet 대신에 전통적인 Ajax 를 사용하는 것으로 시작한 후, Comet의 방법들을 직접 구현함으로써 Comet이 해결하는 이슈와 새로 만들어내는 이슈에 어떤 것이 있는지 보여줍니다. 마지막으로 현재 널리 쓰이고 있는 도구들을 사용하여 구현하는 것으로 마무리합니다. 구현에 사용하는 웹 프레임워크는 Groovy on Grails 입니다. 구현 과정에서 DWR, Jetty Continuation, Dojo와 Jetty의 Bayeux 를 비교적 상세히 다룹니다. 하지만 이 책의 문제점은 대부분의 내용이 조금씩 시효가 지난 내용이라는 것입니다. 가령 이 책이 다루는 DWR은 2.0입니다. 지금 버전과는 거리가 있습니다. 또 책이 쓰일 당시 나오지 않았던 Servlet 3.0 규격은 이미 나와있습니다. 때문에 이 책에서 소개하는 Jetty Continuation은 회고록에나 담겨야 할 내용입니다. 또 HTML5 의 WebSocket은 아마도 Comet Transport를 일통하지 않을까 생각됩니다. 이 역시 다루고 있지 않습니다. 이 때문에 애초에 이 책을 읽게 된 동기를 제공했던 다섯 개의 질문은 이 책에서 완전한 답을 찾을 수 없습니다. 하지만 이 책은 잘 다듬어진 출발점을 제공하고 있습니다. 약간 낡은 내용이지만 시간 낭비라고는 생각되지는 않습니다. 책방을 뒤져보니 “Comet과 리버스 Ajax” 라는 이름으로 번역본이 나와있습니다. 번역본으로 읽으실 분들을 위해 연결해둡니다. 별 점은 동일하게 줍니다만 번역의 질을 확인하지는 못했음을 미리 알려드립니다. +-----------------------------------------------------------------------+ | .. raw:: html | | | | <div> | | | | +--------------------------------+--------------------------------+ | | | image2 | Comet과 리버스 | | | | | Ajax | | | | | - 7점 데이브 크레인 외 지음, | | | | | 정지웅 옮김/인사이트 | | | +--------------------------------+--------------------------------+ | | | | .. raw:: html | | | | </div> | +-----------------------------------------------------------------------+