I Think, Therefore IM

Xmpp (Paperback) - 8점 Not Available/Oreilly & Associates Inc

1998년 Jeremie Miller 라는 메신저(IM) 서비스 개발자가 재버(Jabber) 라는 이름의 기술을 설계하고, 이듬해인 1999년에 jabberd 라는 서버 소프트웨어를 오픈 소스로 공개하게 됩니다. 통신 프로토콜에 XML 스트림(XML Stream)을 도입하여 다양하게 확장할 수 있도록 하자는 아이디어가 호응을 얻어 재버(Jabber) 커뮤니티는 여러 플랫폼으로 확대되고 다양한 요구들을 수용해가기 시작합니다. 성장을 거듭한 커뮤니티는 2001년 설립한 JSF (Jabber Software Foundation)을 중심으로 표준화와 문서화 작업을 시작하고, 2004년 두 개의 RFC (3920, 3921) 를 출판하는 것으로 결실을 맺고 SIMPLE 과 함께 IM 의 표준 프로토콜 중 하나로 자리매김합니다. 이 때부터 Jabber 는 XMPP (Extensible Messaging and Presence Protocol) 라는 새 이름을 얻게 됩니다. JSF 역시 후에 XMPP Standards Foundation 이라는 이름으로 바뀝니다. 2005년 구글(Google)이 게임에 뛰어들면서 XMPP 의 도약이 이루어집니다. Google Talk 라는 메신저와 음성 채팅 서비스를 XMPP 로 구현했을 뿐만 아니라, Jingle 이라는 이름의 실시간 미디어 전송용 XMPP 확장(XMPP Extension) 을 XMPP 커뮤니티와 함께 출판한 것입니다. Jingle 은 SIP 에서 사용되고 있던 여러 기술들을 XMPP로 흡수한 것으로 VoIP 와 Video Conference 를 실용적인 수준에서 서비스 할 수 있도록 합니다. 여기에 더해 올해(2009년) 구글은 Google Wave 라는 이름의 서비스를 살짝 구경시켜줍니다. "통합 메시징 및 협업 플랫폼" 의 특징을 갖고 있는데 서버간 프로토콜(Federation Protocol)로 XMPP를 사용하고 있습니다. 구글은 XMPP를 진지하게 생각하고 있는듯합니다. 좀 더 진지해져서 Google Talk 의 Jingle 을 최근에 정돈된 규격으로 변경하는 일을 서둘러 주었으면 하는 바램입니다.  XMPP의 초기 역사는 2008년 시스코(Cisco)의 Jabber Inc. 인수로 마무리됩니다. 그 후 시스코의 눈에 띠는 움직임을 보지는 못했습니다만, 앞으로 XMPP가 어떤 길을 걸어가게 될지 흥미롭습니다. 눈썰미가 있으신 분들은 구글 애플리케이션 엔진(Google App Engine)의 로드맵에 XMPP가 포함되어 있는 것을 보셨을 줄 압니다. 얼마나 어떤 형태로 지원이 이루어질까요? 전에 재버(Jabber)에 관한 책이 나온 적이 있습니다만, 2009년 5월에 출간된 "XMPP: The Definitive Guide" 는 특별합니다. 주 저자들은 Psi 라는 이름의 XMPP 클라이언트의 주역들일 뿐만 아니라 JSF 위원으로 RFC 의 저자이기도 합니다. 때문에 RFC 로 표준화된 규격을 기초로 하고 있습니다. RFC 뿐만 아니라 JSF 가 별도로 표준화하는 여러 확장들(XEP) 중 중요한 내용들을 거의 모두 설명하고 있습니다. XMPP 에 관한 책을 더 이상 잘 쓰길 기대하는 것은 무리한 요구가 아닌가 싶을 정도로 명료하고 재미있습니다. RFC 와 그에 따르는 모든 규격들을 다시 쓸 생각이 아닌 다음에야 XMPP의 모든 측면을 다 다룰 수는 없을 겁니다. 이 책이 설정한 주 독자는 XMPP 클라이언트를 제작하거나 자신의 응용에 XMPP 클라이언트의 프로토콜을 활용하고자 하는 개발자들입니다. 서버 컴포넌트를 제작하려는 개발자들까지는 포용하고 있습니다만, 서버 개발자들은 RFC를 읽으셔야지 당장 일을 시작하실 수 있으리라 생각됩니다. 코드는 얼마 등장하지 않습니다. SleekXMPP 라는 파이썬(Python) 라이브러리를 사용하여 트위터(Twitter) 류의 마이크로블로깅(Microblogging) 서비스를 제작하는 예제가 10여 페이지 정도로만 소개됩니다. 나머지는 모두 XML 만으로 설명합니다. 만약 XMPP에 관심이 있다면 이 책으로 시작하시는 것이 가장 빠르고 정확한 길입니다.