본문 바로가기
이전글/2006

J2EE 설계와 개발

by 물개선생 2006. 9. 20.
마이크로소프트웨어 2006년 1월호에 기고했던 글입니다.

이 책을 처음 접하게 된 것은 2005년 1월 즈음 이였던 것으로 기억된다. 오픈소스의 매력에 푹 빠져 지내던 필자는 그 중에서 유독 스프링 프레임워크에 많은 애착을 느끼고 있던 터라, 스프링의 대부격인 로드 존슨의 최근 서적인 J2EE without EJB 라는 서적을 읽고 있던 중이였다. 솔직히 얘기하면, 그 당시 필자는 로드 존슨이 그 책을 통해 얘기하고자 하는 내용의 절반도 채 이해하지 못하는 상태였다. 마침 J2EE without EJB의 전작에 속하는 이 책이 번역되어 출간되었다는 소식을 듣고 한달음에 달려가 이 책을 구매했다. 선 자리에서 “2장 J2EE 프로젝트: 선택과 위험”을 읽어 내려가며 몇 번이나 무릎을 내리쳤는지 모른다.

이 책이 처음 나왔을 당시 아마존에서 이 책에 대한 별점은 놀랍게도 별 다섯개였다. 유난히 비판적인 개발자들의 인색한 평가를 감안한다면, 굳이 설명하지 않아도 그 속에 얼마나 많은 감동이 담겨 있으리라는 것을 짐작할 수 있다. 동장군이 유난히 기승을 부리는 요즈음. 많은 분들이 따뜻한 봄날이 어서 오기를 바라는 마음일 것이다. 최근 자바 커뮤니티에서 스프링 프레임워크에 대한 관심은 그 만큼이나 뜨겁다. 보수적 성향이 뚜렷한 금융권에서조차 스프링을 프레임워크의 핵심 구성 요소로 사용하고 있다는 사례가 심심치 않게 들려오고, 비(Bea)에서는 공개적으로 스프링에 대한 지원을 약속하고 나섰다. (사실 지금도 여전히 그렇지만) 이 책이 출간될 당시 대부분의 J2EE 개발자들은 EJB가 약속하는 장미빛 미래에 대한 환상에 빠져 불합리하고 가혹한 노동을 강요받고 있었다. 로드 존슨은 이 책을 통해 자바 개발자들에게 의존 삽입(DI: Dependenty Injection)과 관점지향프로그래밍(AOP: Aspect-Oriented Programming)을 앞세워 자바가 지니고 있던 올바른 객체지향적 사고의 중요성과 개발의 편안함을 되돌려주었다.

스프링을 다루는 전문 서적이 턱없이 부족했던 작년만 하더라도 이 책은 스프링을 이해할 수 있는 기본 토대를 마련해주는 서적으로서의 가치가 높았을 것이다. 하지만 “Spring Live”를 시작으로 “Spring in Action”, “Pro Spring”, “Professional Java Development with the Spring Framework” 등의  관련 서적들을 어렵지 않게 구할 수 있게 된 지금에도 이 책은 우리에게 많은 것을 선물해준다. 그 중에서도 가장 중요한 것은 개발자가 지녀야 할 자세, 바로 그것이다. 이 책의 곳곳에 흘러넘치는 로드 존슨의 기술 중심이 아닌, 문제 중심의 실용적 사고는 우리 스스로가 얼마나 생각없이 감히 개발자라 자처하고 살았는지를 반성하게 해준다. 그는 특정 기업이나 기술의 마케팅 구호에 필자처럼 휘둘리지 않았다. 로드 존슨은 갈릴레이가 그랬던 것처럼 다들 진실이라 믿고 있던 당연한 진실조차 의심했지만, 그와는 달리 깊이 있는 경험에 바탕을 둔 빈틈없는 설득력으로 동료 개발자들의 삶을 조금씩 향상시켜 나가고 있다. 필자가 이 책을 통해 얻고자 했던 것은 스프링 프레임워크에 대한 깊이 있는 이해였으나, 정말로 얻은 것은 그 보다 더욱 값진 것들이였다. 이제 필자는 더 이상 남들보다 EJB 패턴을 먼저 읽고 ServiceLocator 패턴을 생각없이 적용한 것 만으로 잘난척하던 전문가의 탈을 쓴 바보가 아니다. WEB 2.0으로 포장한 RIA 관련 기술이 뜬다면, 불안한 마음에 우르르 몰려다니며 의심없이 그들의 구호를 따라 외치던 광신도 집단의 일원도 아니다. 다양한 선택의 틈바구니 속에서 언젠가는 최선의 해답을 찾아내어, 내가 만든 소프트웨어를 통해 많은 사람들이 행복해 질 수 있기를 바라는 초보 개발자일 뿐이다. 그러한 현실 인식은 무리한 욕심을 버리고 꾸준한 자기 개발을 통한 성장의 기쁨을 느끼는 것을 가능하게 만들어준다. 필자가 느낀 감동을 함께 느끼고자 하는 동료들에게 솔직히 필자는 이 책보다 “J2EE without EJB”의 원서를 읽어보라고 권하고 싶다. 하지만 그럴만한 여유가 없는 분이라면 다소 번역에 거슬리는 점이 있더라도 “J2EE 설계와 개발”이라는 책을 통해서 로드 존슨의 글을 꼭 읽어봤으면 하는 바램이다. 특히 지금 현재 개발을 해나가는 데 있어 스스로 많은 고민을 해보지 않았던 분들이나 EJB 없이 개발한다는 것에 막연한 불안감을 느끼는 분들에게 추천해 드리고 싶다.