정확히 1년 전에 국내에 출간된 XML관련 서적을 조사한 적이 있었다. 당시는 XML에 대한 개념이나 필요성에 대해 인식했던 개발자들이 드물었고, 필자 역시 실제 개발 경험 없이 수박 겉 핥기 식의 개념 이해에만 머문 수준이었다. 그럼에도 각종매체에서는 XML의 중요성과 필요성에 대해 논하고 있었고, 필자도 막연한 호기심에 XML을 공부하고 싶었다.
당시 XML서적은 15권 정도의 번역서와 원서가 국내에 출간되어 인프라가 미약한 상황에 비해 상당히 많았다. 그러나 대부분이 개념 소개에 머무는 수준이어서 개발자들이 실무에 적용하기에는 어려운 점이 많았다. 그리고 W3C에서 만든 XML관련 표준은 개발자들이 따라오기 힘들었고, HTML을 버리고 그 어려운 개념의 XML로 전환을 해야 하는가에 대하여 회의를 가질 때도 있었다. 이것은 국내에서 필요한 정보를 얻기가 너무 어려웠기 때문이었다.
그 후로 1년이라는 시간이 지났다. 지금 우리에게 XML은 무엇인가? XML은 이제 인터넷과 함께 우리 곁에 숨쉬기 시작했다고 해도 과언이 아니다. 아파치 그룹과 썬, IBM 등의 주도로 개발된 XML을 지원하는 수많은 자바 관련 툴에서 마이크로소프트의 닷넷 전략까지, XML은 필수 불가결한 인터넷 언어로 발돋움했다.
몇 개의 인터넷 서점에서 XML이라는 키워드로 서적을 검색해 보았다. 많게는 100여권의 서적이 검색되는 곳이 있었다. 그 중 10여권의 서적은 이미 가지고 있었지만, 새로 나온 서적 중에 좋은 것이 있는지 살펴보기 위해 시내 서점에 들렸다. 물론, 예전보다 좀 더 실용적이고 풍부한 내용을 담은 서적이 늘어나기는 하였지만, 여전히 초보 수준을 벗어나 좀 더 빠르게 진화하는 XML의 조류를 따라가기에는 미흡해 보였다. 즉, XML의 기본 개념이나 XSLT, DOM 등의 표준에 대한 사전 지식이 있는 개발자를 위한 활용서가 여전히 부족했다. 특히, 자바 개발자의 경우는 다른 언어에 비해 최신의 XML기술을 접할 수 있는 환경에 있는데도 국내에서 마땅한 정보를 구하기가 쉽지가 않았다.
그렇다면 자바 개발자들에게 필요한 XML전문 서적은 어떡해야 할까?
1. 자바 환경에서 XML표준을 적용할 때 발생하는 문제와 이에 대한 솔루션을 구체적으로 제시해야 한다.
2. 최신의 표준에 대한 개념과 그러한 표준을 지원하는 각종 툴에 대한 설명을 충분히 제시해야 한다.
3. 자바와 XML을 이용한 응용 사례를 들어 활용능력을 증진시킬 수 있는 배려가 있어야 한다.
이상이 필자가 생각하는 자바 개발자가 필요로 하는 XML 서적이다. 즉, 개발자들이 적극적으로 XML의 조류를 실감할 수 있는 현실감을 제공하는 서적이 많이 나와야 한다고 생각한다. 그런 면에서 보았을 때, 이번에 번역 출간된 『자바와 XML』은 필자의 기대에 많은 부분이 일치하여 놀랍기도 하고 반갑다.
Who?
그렇다면 이 『자바와 XML』은 누구를 위한 책인가? 물론, 자바를 충분히 활용할 수 있는 자바 개발자를 위한 책이다. 자바에는 어느 정도 안목이 있으나, XML에 대한 기초조차 없는 독자에게 이 책은 개론에서 고급 응용기술까지 가르쳐 줄 것이다. 그렇다고 초보자만을 위한 것은 물론 아니다. 8장부터 시작하는 각종 응용 부분은 숙련된 개발자에게도 많은 참조가 될 것이기 때문이다.
Why?
이 책에 필자가 왜 반했는가? 물론 아쉬운 점도 있다. 그러나 그 중 가장 낫다. 한동안 JDOM이라는 걸출한 XML오픈소스 라이브러리를 접하고 보물을 얻은 것 마냥 즐거워했던 적이 있었다. 그러나 국내에서는 적당한 활용 문서를 찾을 수가 없었다. 사용이 워낙 편리하고 쉽기 때문이라는 이유도 있었지만, 좀 더 많은 개발자들이 JDOM을 알기를 원해 간단한 문서를 번역하였다. 그런데 이 책의 저자가 바로 그 JDOM을 정의한 브렛 맥래프린이다. 물론 그는 이외에도 자바-아파치 프로젝트나 EJBoss, 코쿤 등의 프로젝트에도 참여한 실전이 풍부한 사람이다. 그런 이가 쓴 서적이라면 한번 소장해볼 만한 가치가 있지 않을까? 이미 눈치를 챈 독자도 있겠지만, 이 책은 실전용이다. 쓸데없이 이론만을 장황하게 늘어놓지 않는다. 진화하는 XML의 선봉에 있는 저자의 풍부하고 실용적인 설명이 이어지니 더 말할 것이 있겠는가?
Contents
앞에서 언급했듯이, 초보자와 중급자를 대상으로 쓰였기 때문에 앞부분은 전반적인 이론과 개념 소개를 다루고 있다. 사실 앞부분에 대해서는 하고 싶은 말이 없다. 이 부분은 이미 다른 XML책에서도 지겨우리만큼 다뤄지는 내용이기 때문이다. 초보적인 수준의 개념과 이론만을 원하는 독자라면 오히려 다른 서적을 권한다. 그러나 진짜 보물은 8장 이후부터 나온다.
JDOM, Cocoon, XSP, XML-RPC 등으로 이어지는 풍부한 최신 기술 및 툴에 대한 설명이 가슴을 벅차게 한다. JDOM에 대한 상세한 설명은 무엇보다 마음에 들고, 9장의 "웹출판 프레임 워크"부분에서는 코쿤과 XSP, FOP 등의 툴을 이용한 전자출판 시스템에서의 XML활용에 대해 설명하고 있다. 놀라운 것은 현재 표준화작업이 진행 중인 XML-RPC에 대한 설명이 10장을 채우고 있어 필자에게 새로운 앎의 기쁨을 준다는 것이다. 반면에, 11장에서 설명한 "설정을 위한 XML"에서는 이제까지 설명한 각종 툴을 응용해 XML을 설정파일로 활용하는 것을 논하고 있는데, 사실 전장에 비하여 놀라움을 주는 파트는 아닌 것 같다. 이후로 이어지는 장들 역시 실전 위주의 부분으로 B2B와 관련된 작은 예제 프로젝트나 DTD 스키마에 대한 좀 더 실전적인 테크닉에 대한 설명을 한다.
번역서인가?
사실 앞부분은 대충 대충 넘기고 8장 이후를 차근차근 보았다. 분명 번역서의 모습은 남아있다. 그러나 필자같이 국내 번역서의 질을 상당히 폄하하는 사람이 평가하더라도 비교적 깔끔한 수준이었다. 군데군데 문장의 어법상 이해하지 못한 부분이 있었는데 그것이 번역의 문제가 아니라 필자의 문제로 돌린다면 말이다. 서적 벤치마킹을 자주 하다보니 편집 상태나 가독성에 많이 눈이 가는데, 가장 좋게 보는 것은 그림이 많으면서도 산만하지 않은 구성이다. 물론 대부분의 전문서적에서 그러한 것을 바라기는 쉽지 않은 것 같지만 이 책에 대해 평하고 싶은 것은 일단 깔끔하다는 것이다. 흥미를 유발할 정도는 아닐지라도 파트별로 독자에게 전하고 싶은 주제를 잘 선별했기 때문에 모호하지 않은 것이 마음에 든다.
Final
자바 개발자에게 필요한 XML책은 무엇이며, 개발자들은 어떤 문제로 고민하고 있는가를 생각할 때, 개발자들이 자신의 개발환경에 XML을 도입하기 위해 어떻게 접근해야 하는가를 설명하는 것이라고 생각한다. 그리로 이것은 단순히 XML에 대한 개념과 기본적 도구 설명으로 해결될 문제는 아니라고 본다. 사실, 자바 개발자가 사용할 수 있는 XML도구는 너무나도 다양하다. 그러나 구슬이 서말이라도 꿰어야 보물이듯, 그러한 보물을 개발자들에게 소개하고 활용방안에 대해 논하는 것이 중요하지 않은가 하고 생각한다. 그러한 점에서, 이 책은 충분히 주목할 만 하다. 다만, 개인적인 욕심은 좀 더 다양한 도구를 설명했더라면 하는 것이다.
최진호(jstorm 2기)
http://www.jstorm.pe.kr