2002년 8월에 출간된 Expert One-on-One J2EE Design and Development 라는 책이 있다. J2EE 개발자인 Rod Johnson이 쓴 책인데, 아마존에서 평점에 극찬을 받는 책이다. 언뜻 구성만 봐도 J2EE 설계 및 구현에 대한 핵심적인 내용을 깊이 있게 다뤘다. 문제는 어렵다는 점이다. 쉽게 얻을 수 있는 지식들이 아니니까 당연한 일이지만... ㅡㅡ;
이책에서 Rod Johnson은 J2EE 어플리케이션 개발과정에서 부딪히는 문제를 해결하기 위한 코드를 직접 보여주며 설명하는 실제적인 접근법을 보여주는데, Expert One-on-One J2EE Design and Development 에서 사용한 코드가 Spring 어플리케이션 프레임워크의 토대가 되었다. (이책은 국내 번역서도 있다. 물론 상당한 오역을 내포하고 있지만..ㅡㅡ;)
Spring은 2004년 3월 24일 처음으로 1.0 최종 버전이 출시된 이래, 지난 9월 30일 1.1.1 버전이 배포되었다. Spring의 근간이 되는 코드는 대부분 Rod Johnson이 작성하였으나, 현재 오픈소스 프로젝트로 진행되고 있는 Spring 프로젝트의 경우, Rod Johnson과 Juergen Hoeller 주도로 14명의 개발자가 등록되어 있다.
올해 Rod Johnson과 Juergen Hoeller은 EJB 대신에 Spring을 사용하여 J2EE 어플리케이션을 개발하는 방식을 다룬 Expert One-on-One J2EE Development without EJB 라는 책을 또 내놓는다. 이 책은 기대에 대한 실망감을 다소 반영했는지 의 평점을 받고 있다.
Spring은 어디에 쓸 수 있는 것인가? 자바 혹은 J2EE 어플리케이션 개발에 있어서 Spring은 어디에도 또, 어떤 형태로도 사용이 가능하다. 다만, Spring이 적절하게 쓰일 수 있는 경우가 어디인지 고민해보면, 굳이 EJB가 필요하지 않은 어플리케이션 개발 중에서 어느 정도 규모가 있는 프로젝트에 사용했을 때 빛을 발할 것이다. WAS 제품 없이도 J2EE가 자랑하는 트랜젝션(Transaction)이나 리모팅(Remoting) 등이 가능하다는 것은 대단한 장점이다. 문제는 Spring을 써서 개발할만한 인력이 국내에는 많지 않다는 점과 실제 프로젝트에서 아직 성공 사례가 없다는 점일 것이다.
마지막으로 Mission Statement를 통해서 Spring 개발팀이 지향하는 바를 정리해본다.
- J2EE는 사용하기 쉬워야 한다.
- 클래스보다는 인터페이스에 기반한 프로그래밍을 해야 한다.
- 자바빈을 사용하는 방식은 탁월한 어플리케이션 설정 방법이다.
- 객체지향 설계는 J2EE와 같은 특정 구현기술보다 중요하다.
- 자바에는 너무 많은 예외 상황을 체크한다.
- 테스트는 필수적이다.
위의 미션은 대부분 EJB 중심의 J2EE 프로그래밍 모델의 취약점에 대한 개선을 말하는 것이다. 거대 벤더위주의 EJB 프로그래밍 방식은 상당한 종속성을 내포하고 있다. 마케팅 용어로는 Customer Lockin이라고 하는 것은 기업 입장에서는 중요한 전략이다. WebSphere나 WebLogic 등의 WAS, JBuilder, WSAD 와 같은 IDE 역시 편의 기능을 제공함과 동시에 그 제품에서만 사용할 수 있는 기능들을 노출시킨다. 결국 그 제품에 익숙해진 프로그래머는 다른 제품으로 옮겨가는 일이 점점 어려워진다. 이것은 MS가 잘하는 것이고, 타도 MS를 부르짖는 자바 진영의 메이저들도 결국 비슷한 방법으로 돈을 벌고 있다.
Spring은 일종의 J2EE 개발자의 독립운동이다. (좀 오반가..ㅡㅡ;)
|