사실 중급이란 단어와 입문서란 단어가 어울리지 않지만 이것 보다 이 책을 잘 표현할 수 있는 제목이 없는 것 같습니다. 최근 국내에 번역되거나 출간된 웹서비스 서적은 자바 웹서비스 관련 번역 서적 2권과 포괄적인 웹서비스를 다룬 국내 서적이 1권 존재합니다.
>번역서
- 자바 웹 서비스(이창신 역, 한빛미디어)
- (Professional) Java Web Services(자바카페 역, 정보 문화사)
>국내서
- 웹 서비스 (정지훈, 한빛미디어)
최근 한빛 무료 세미나를 통해 웹서비스에 관심을 가지게 된 저는 웹 서비스(한빛미디어)와 자바 웹 서비스(한빛미디어) 라는 책을 구매하게 되었고 이 두 가지 책을 통해 어느 정도 웹 서비스에 대해 감을 잡을 수 있었습니다.
제목에서부터 알 수 있듯이 웹 서비스란 책은 웹 서비스를 폭넓게 접근하려고 노력한 책이었고 자바 웹서비스는 웹 서비스에 대한 기술 표준(SOAP, WSDL, UDDI)뿐만 아니라 표준 관련 자바 API에 대한 설명으로 이루어 졌습니다.
이 책은 처음부터 XML, 자바 등 관련 기술에 충분한 지식이 있는 독자를 위해서 만들어 졌지만 그렇기 때문에 자칫 소홀하기 쉬운 웹서비스의 기본 기술 표준(SOAP, WSDL, UDDI)에 대한 설명을 자세한 코드 주석이나 코드 분석을 통해 이해를 돕고 있습니다.
총 10개의 장으로 이루어진 이 책은 비교적 얇은(367페이지) 책입니다. 목차를 보시면 처음 1장~6장은 웹 서비스의 기본과 앞서 말한 기술 표준(SOAP, WSDL, UDDI)에 관한 내용과 이후 7장~8장은 웹서비스 관련 API, J2EE 와 웹서비스를 다루고 있습니다. 나머지 9장~10장은 웹 서비스의 상호 운영성에 대한 문제 제기와 테스트 도구 설명, 웹서비스의 미결 과제로 남은 보안에 대한 것으로 책을 마무리짓고 있습니다.
제목에서도 밝혔듯이 이 책은 중급 입문서로서 적합합니다. 중급이란 단어를 붙인 이유는 XML과 자바에 대해서 충분한 지식은 아니더라도 어느 정도 지식(자바(중급)와 분산 시스템(초급), XML(중급))은 가지고 있어야 책을 좀더 수월하게 보실 수 있다는 것입니다. 제가 생각하는 입문서란 많은 내용에 대해서 꼭 알아야 할 것과 짚고 넘어가야 할 것만 정리한 비교적 얇은 책입니다. 예를 들면 다른 책이 SOAP의 여러 가지 element에 대해서 자세하게 설명하고 있다면 이 책은 간단하게 자바 코드를 통해서 기본적인 SOAP 메시지를 만드는 법과 SOAP fault에 관한 내용을 적고 있습니다. 비교적 WSDL에 대한 내용은 자세하게 기술되어 있고 본문에서 관련된 자바 코드는 없지만 이후 7장 JAX-RPC에서 WSDL과 자바의 대응 방법을 간략히 기술하고 있습니다. 다음 UDDI에서는 간단한 명세와 JAXR, Systinet의 자바 API를 사용하여 예를 들었습니다. 나머지 장에서는 자바 웹 서비스의 목적이자 문제점인 상호 운영성에 관해 얘기하고 있습니다. 실제로 테스트 할 수 있는 예제를 두어 상호 운영성에 대해 설명하고 있습니다. 보안에 관해서는 XML 디지털 서명, XML 암호화, SOAP 보안 확장에 대한 내용을 중심으로 간략한 XML 코드를 가지고 설명을 하고 있습니다.
실제 과장되게 표현하지 않더라도 SOAP, WSDL, UDDI는 각 한 권 분량일 정도로 방대합니다. 이 같은 방대한 내용 중에서 개념을 간략하게 표현하기란 쉽지 않습니다. 이 책이 완벽하게 모든 개념을 요약해서 표현한 것은 아니지만 어느 정도 책의 분량과 전체적인 내용에 맞추어 적절한 분배의 설명이었습니다. 실제로 제가 읽은 웹서비스(한빛미디어)란 책과 정보 문화사의 책은 방대하게 많은 부분을 다루고 있어서 쉽게 읽을 수가 없더군요.
제가 이 책을 읽으면서 좋았던 점은 보통 번역서인 경우 대부분의 용어를 한글로 표현해서 그 뜻을 정확하게 이해 할 수 없었지만(보통의 전공 관련 번역서) 이 책에서는 한글로 번역한 용어 옆에 원서 단어를 적절한 때 언급하셨습니다. 예를 들어 “전개(deploying)” 라는 한글 용어 옆에 원서의 단어를 명시하셔서 한글의 뜻을 넘어서는 내용을 이해하도록 하도록 한 점이 무척 마음에 들었습니다. 다만 원서 저자들이 너무나 대단(?)하신 분들이라서 가끔씩 어려운 어휘도 사용하시긴 합니다. 이후 용어뿐만 아니라 단락 제목에도 원서 제목을 넣으면 좋겠다 라는 생각도 해봤습니다.
중급 입문서로의 역할을 다하고 있긴 하지만 몇 가지 아쉬운 점이 남습니다. 대부분의 예제는 아파치 SOAP에서 나온 예제이거나 현재 기업용 벤더의 예제이기 때문에 조금은 어렵습니다. 또한 자세한 설치 방법과 예제의 기본 구현 부분은 생략했기 때문에 자세한 코드를 보려면 해당 파일 다운받아야 합니다. 다운받은 압축 파일 안에 본문 예제와 관련 제품에 대한 설치 방법이 포함되어 있고 상당히 자세하게 설명하고 있습니다 .(물론 영어입니다.) 또한 아직 JWSDP이 초기 단계이고 앞으로 어떻게 변할지 모르기 때문에 자세한 SAAJ나 JAXB에 관한 내용은 이 책에서 언급하지 않고 있습니다. 역자 분도 얘기하셨듯이 이 책의 개정판은 좀더 명확해 지고 많은 예제로 이루어진다니 기대해 봐야 하겠습니다.
덧붙이는 말
1. 개인적으로 서블릿 프로그래밍이란 책을 번역하신 분이 이 책을 번역하셔서 안심이 되었습니다. 서블릿 프로그래밍이라는 책을 읽어 보셨다면 아시겠지만 그분의 번역 실력은 매우 훌륭하다고 생각합니다. 사실 이 책에서도 그 책처럼 많은 주석과 ‘역자도 말 좀 합시다’ 를 기대했지만 세미나 장에서 이 책을 번역하기가 너무나 어려웠다고 하시더군요.
2. 이미 웹서비스를 읽은 상태에서 이 책을 읽었지만 많은 부분이 어렵더군요. 좀더 자세하게 공부를 하시려면 아래 책들을 참고하시면 많은 도움이 되실 겁니다.
-
『자바와 XML, 개정판』, 한빛미디어: DOM, SAX, SOAP 관련 자바 API대해 설명하고 있습니다.
-
『웹 서비스』, 한빛미디어: 자세하고 포괄적인 내용과 웹서비스의 미래라는 내용이 좋습니다.
- 『Professional, Java Web Services』, 정보 문화사: wrox책들이 대부분 그렇듯 약간 어렵지만 관련 사례 연구를 두어서 이해를 돕고 있습니다.