전 세계적으로 우리나라만큼 핸드폰을 많이 사용하는 국가가 별로 없다고 합니다. 유선전화기보다 훨씬 비싼 통화료에 비싼 기계값, 떨어지는 음질에도 불구하고, 그렇게나 많이 사용되는 데에는 나름대로의 이유들이 있겠지만, 그 중 가장 큰 있는 이유가 바로 모 광고 CF 카피처럼 “걸면 바로 걸리는” 이유 때문이 아닌가 싶습니다.
이렇게 실시간적으로 사람과 연락하고픈 심정은 인터넷 사용자들간에도 예외는 아닌 것 같습니다. 예전에는 E-Mail을 통해 서로 연락을 주고 받던 사용자들이 이제는 ICQ, AOL, MSN 등등 실시간으로 메시지를 전송 및 수신할 수 있는 메신저(Messanger) 프로그램들을 굉장히 많이 사용하고 있고, 또 개발하고 있는 상황이니 말입니다.
그런데, 처음에는 단순히 친목 도모용으로 사용하던 이러한 메신저 프로그램들이 이제는 회사 내 업무에서 활용되고 있는 실정입니다. 프로젝트 팀원들 간에, 또는 학생과 교수 간에, 다른 회사에 있는 사람과 업무 상으로 협의하거나 파일을 바로 전송해주어야 할 경우에 이런 메신저 프로그램들의 실시간적인 송/수신 기능이 매우 적절하게 활용되고 있습니다. 따라서, 이런 메신저 프로그램 개발에 관련된 업체 및 개발자들의 수가 날이 가면 갈수록 증가하고 있는 것도 당연한 얘기가 될 수 있을 것입니다.
이런 시점에서, 오라일리에서 발빠르게 관련 서적을 하나 출간하였고, 이를 다시 한빛미디어에서 쉬운 우리말로 번역하여 내놓은 것이 바로 본 서적입니다.
『자바 메시지 서비스』는 총 9장으로 이뤄져 있습니다.
1장 ‘메시징 패러다임의 이해’에서는 메시지들의 실시간적인 송/수신 동작 원리에 대한 개념을 설명하고, 2장 ‘간단한 예제 구현’에서는 우리가 흔히 웹사이트나 채팅 프로그램에서 하는 채팅과는 다소 거리가 먼 방식이지만, UNIX 사용자라면 누구나 한번쯤 해봤음직한 채팅 방식을 JMS를 이용하여 간단하게 구현하여 설명하고 있습니다.
3장 ‘JMS 메시지의 구조’에서는 인터넷을 통해 송/수신되는 JMS 메시지의 헤더 및 헤더에 따른 갖가지 속성들과 메시지들의 타입들에 대해 설명하고 있으며, 4장 ‘발행/구독 메시징’에서는 2장에서 구현했던 예제 모델의 근간이 되는 ‘발행/구독’의 원리에 대한 개념을 설명하고 있습니다. 하나의 토픽에 참여한 모든 이들에게 메시지가 브로드캐스팅 과정이 어떤 방식에 의해 이뤄지고 있는지, 그에 따른 요청과 응답은 어떤 절차에 의해 이뤄지고 있는지 등을 다루고 있습니다.
5장 ‘지점간 연결 메시징’에서는 송신자와 수신자 간(Point-to-Point)의 연결시, 발생되는 큐들을 어떤 식으로 관리하는지에 대한 사항들을 설명하고 있으며, 6장 ‘보장된 메시징, 트랜잭션, 확인응답, 장애’에서는 송/수신되는 메시지들의 QoS(Quality-of-Service) 보장에 관한 이야기를 다루고 있습니다.
7장 ‘배치시 고려 사항’에서는 메시징 시스템을 설계할 때 고려해야 할 사항들을 설명합니다. 메시징 시스템의 규모에 따른 확장성 및 신뢰성, 다른 외부에서의 침입 및 보안, 다른 메시징 시스템과의 연동 등에 대한 방안을 제시하고 있습니다.
8장 ‘J2EE, EJB 그리고 JMS’에서는 JMS를 이용하여 메시징 시스템을 구현할 때 필요한 요소 기술인 J2EE와 J2EE에서 JMS를 지원하는 부분들, 그리고 빈을 구동하고 사용하기 위한 EJB에 관해 다루고 있습니다.
마지막으로, 9장 ‘JMS 서비스 제공자’ 편에서는 현재까지 나와있는 기존의 JMS 서비스 벤더들의 서비스 방식 및 구성 방식 등에 대해 비교 설명하고 있습니다.
그리고, 부록에서는 앞서 설명한 부분들에서 빠졌던 JMS의 API와 메시지 헤더, 속성, 선택자들에 대해 일목요연하게 정리해 놓은 것을 알 수 있습니다.
제가 느꼈던 것들 중, 본 서적을 읽기 전에 한 가지 유념해야 할 사항으로 『자바 메시지 서비스』는 자바에 관심이 있는 초보 개발자들을 대상으로 하지 않는다는 생각이 들었습니다. 본 서적에 나오는 내용들을 이해하기 위해선 기본적으로 자바라는 프로그래밍 언어에 대해 기본적으로 알아야 함은 물론, JMS 자체가 미들웨어를 지원해주는 개발 방식이기 때문에, 미들웨어에 대해 알아야 합니다. 또, 디렉토리 서비스와 JNDI 등에 대해서도 최소 기본적인 개념 등은 알고 있어야 본 서적을 부담없이 읽을 수 있을것이라는 생각이 들었습니다.
『자바 메시지 서비스』는 지금 급하게 메시징 시스템을 구축해야하는 개발자에게보다는 앞으로 개발하려고 생각하고 있는 개발자들에게 하나의 가이드 역할을 한다고 할 수 있을 것 같습니다. 메시징 시스템의 대상이 되는 인원 및 네트워크 환경, 운영체제 및 소프트웨어 환경 등을 고려하여 어떤 타입의 메시징 시스템이 맞을지, 또 이에 필요한 기술들에는 무엇이 있을지에 대한 참고 서적으로 활용하기에 좋을 것 같다는 생각입니다.
예제 코드를 곧바로 이해하지 않아도 그저 읽어만 가면 어느 정도 이해가 되므로, JMS가 어떤 서비스인지 궁금한 개발자들이라면 지금 곧 서점으로 가셔도 될 것 같습니다. (^^;;;)
한 가지 아쉬웠던 점이라면, 우리말 번역이 매끄럽지 못한 부분이 보였는데, 원래의 영문 단어를 굳이 우리말로 풀어쓰려는 노력이 오히려 더 자연스럽지 못한 느낌을 주었습니다. 개정판에서는 이 점을 감안하여 소설 같은 매끄러운 번역서로 거듭나길 기대하겠습니다.
유명환 (snailman@snailman.net)님은 자바로 만든 E-mail Marking S/W mailDiary를 작성하고, 「월간 프로그램세계」 ‘Start Up’ 코너에 기사를 연재한 적이 있으며, 현재 텔코 정보통신의 연구원으로 근무 중입니다.