IBM®
메인 컨텐츠로 가기
    Korea [국가변경]    이용약관
 
 
   
        제품    서비스 & 솔루션    고객지원 & 다운로드    회원 서비스    
한국 developerWorks > developerworks
| developerWorks Column | 이일민의 Passionate Open Source User
The Spring Experience 참관기: 12월 7~10일, 미국 마이애미

‘열띤 토론의 장, The Spring Experience 2006’



이일민이일민 tobyilee@gmail.com

호주 DevelopGate에서 IT 컨설턴트로 일하며 다양한 오픈소스 기술을 효과적으로 엔터프라이즈 시스템 개발에 적용하는데 주력하고 있으며, 현재 OpenSeed의 오픈소스 애플리케이션 프레임워크 프로젝트인 OSAF의 리드 개발자로 활동중이다.


2006년 12월 12일


The Spring Experience 2006(www.thespringexperience.com)이 지난 12월 7일부터 10일까지, 4일간의 일정으로 미국 마이애미에서 개최됐다. 지난해에 처음 시작돼, 올해로 2회째인 The Spring Experience는 유럽에서 열리는 SpringOne과 함께 Spring을 주제로 열리는 양대 컨퍼런스 중 하나로 자리매김을 하고 있다. 특히 수천명이 참석하는 대규모 컨퍼런스는 아니지만, Spring이라는 프레임워크에 대한 ‘마니아’ 개발자 500여명이 모여 토론할 수 있는 자리라는 점에서 의미가 크다.
개인적으로는 지난 가을, 이 컨퍼런스에 참석하는 것을 두고 많은 고민을 했었다. 비용과 시간이 문제였는데, 고민 끝에 결국 자비로 참석을 하게 됐다.
하지만 참가 비용에 대한 부담감은 행사 첫날(7일) 접수를 마치자 마자 말끔히 씻겨졌다. 접수를 마치고, 저녁식사를 기다리는 동안 500여명의 개발자들이 (누가 시키지도 않았건만) 서로 인사를 하고, 바로 Spring에 대한 서로의 생각을 나누는 분위기가 만들어졌기 때문이다. 바로 내가 원했던 그 분위기였다.

참여와 토론

실제 Spring의 특징 중 하나는 매우 활발한 커뮤니티를 형성하고 있다는 것인데, 그런 분위기가 컨퍼런스에도 그대로 적용된 것 같았다.
어디에서건 3명 이상만 모이면, 자연스럽게 토론하는 분위기가 형성됐다. 특히 세끼 식사는 물론 심야파티, 비치파티 등 아침 7시부터 저녁 11시까지의 ‘긴’ 일정을 30여명의 강사와 일반 참가자들이 모두 함께 어울리다 보니, 언제 어디에서건 쉴새 없이 토론할 수 있는 분위기가 형성됐다.
Spring의 아버지라고 불리는 Rod Johnson도 오프닝 키노트를 통해서 컨퍼런스 기간동안 Spring 핵심 개발자들에게 어렵고 난해한 질문들을 던져보라고 주문했다. 실제로 Rod Johnson은 전투 태세를 갖춘 군인처럼, 어떤 상황에서라도 너무도 진지하게 질문에 응대하는 모습을 보여줬다(사인을 받아올 계획이었지만, 그런 모습에 사인을 받지 못했다.)
이런 컨퍼런스의 분위기가 온라인과 지역 유저모임 등을 통한 친밀한 Spring 커뮤니티의 모습을 그대로 옮겨놓은 듯했다. 또 빡빡한 일정을 소화하는 것에 모두 익숙해하는 것도, 전세계에 흩어진 Spring 개발자들의 공통점이 아닐까 하는 생각이 들었다(정말 대단한 체력들이다.)
TSE2006은 Spring 2.0의 릴리즈라는 Spring의 큰 변화가 있은 직후에 열린 행사이다. 하지만 단순히 Spring 2.0에 관한 기술을 소개해주는 세션은 생각보다 많지 않았다. 오히려 실전 경험에서 나온 실제적인 전략과 Tip 그리고 아이디어들을 심도있게 다루고 있는 세션들이 주를 이뤘다. 컨퍼런스의 전반적인 준비 및 운영을, Interface21이라는 Spring 컨설팅 기업에서 담당했기 때문이 아닐까 싶다. 그래서인지, 나름 Spring 전문가라고 생각하는 사람들이 모인 자리임에도 불구하고 매 세션이 끝날 때마다 참가자들이 흥분된 표정으로 많은 도움이 되었다고 이야기하는 모습을 쉽게 볼 수 있었다.

Domain Driven Design

Domain Driven Design은 모델링과 개발에 관한 새로운 개념을 제시하고 있는 베스트셀러 서적의 제목이다. 동시에 그 책에서 제시한 개발철학을 수용하고 따르는 실제적인 방법론과 기법을 지칭하는 말이기도 하다.
이번 TSE의 총 5개 기술트랙 중 하나가 DDD였다. 사실 DDD 자체가 Spring에 포함된 기술이 아니라는 점을 생각하면, 이런 대접은 놀라운 일이다. 어째서 Spring 컨퍼런스에 DDD를 그 핵심 주제로 잡았을까?
그동안 Spring이 전파해온 기술에는 POJO, Lightweight Container, IoC, AOP, Testing 같은 것들이 있다. Spring을 사용하는 개발자는 단지 Spring이라는 프레임워크만 가져다 기계적으로 사용하는 것이 아니라 Spring에 담겨있는 그러한 개발철학을 자연스럽게 체득하게 된다는 특징이 있다.
지난 1년간 개발돼 최근에 릴리즈된 Spring 2.0에서 새롭게 제시하고 있는 새로운 기술 패러다임이 바로 DDD이다. Spring 2.0에 추가된 많은 기능들은 바로 이 DDD를 실현하는 것에 바탕을 이루고 있다.
DDD 책을 저술하고 이에 대한 아이디어를 최초로 제시하고 전파한 Eric Evans가 DDD 트랙의 첫 세션을 담당했는데, 같은 시간대에 진행된 트랙 중 가장 많은 개발자들이 모여 그 인기를 실감케 했다.
Eric Evans는 Spring과는 직접적인 관계가 없는 시스템 디자인 전략의 전문가이다. 그는 Spring이 자신이 창안한 DDD를 가장 효과적으로 적용할 수 있는 도구라고 강조했다.
이어지는 세션에서는 Interface21에서 직접 현장에 적용해 본 경험을 토대로 Spring을 이용한 DDD 적용 전략에 대해서 소개해줬다. AOP의 대명사인 AspectJ의 리더인 Adrian Coyler와 유명한 AOP 서적의 집필자이자 AOP 전략가 중 한명인 Ramnivas가 모두 지난 1년동안 Spring 개발팀에 합류했다고 한다. 이로 인해 Spring 2.0에는 더욱 발전한 AOP 기술이 적용되었고 Spring이 DDD를 가능하게 해주는 실전기술로서 가장 뛰어나다는 평가를 받게 된 게 아닐까 싶다.

Spring Portfolio

오프닝 키노트에서 Rod Johnson은 의미있는 얘기를 했다. Spring을 이제 Spring Portfolio로지칭해야 한다는 것이다. 초기 Spring은 Spring Framework라는 이름으로 시작된 작은 프레임워크였다. 그 후에 Spring이 지향하는 가치와 전략에 영향을 받는 많은 개발자들이 자발적으로 Spring을 자바의 전 분야로 확대해, 다양한 개발 프로젝트를 시작했고 이를 발전시켜 왔다. 이제 그런 프로젝트들이 공식적으로 Spring에 합류하면서 하나의 거대한 기술집합체가 됐기 때문에 Spring Portfolio라는 이름이 적합하다는 것이다.
Adrian Colyer는 Spring Framework을 제외하고 Spring에 긴밀하게 연결되어있는 Spring Portfolio 기술들을 모두 소개해 주었는데 그 수가 20여개에 이른다. 대표적으로 최근에 정식으로 릴리즈된 Spring Web Flow나 Spring 기반의 프레임워크인 Acegi Security, 차세대 SOA 엔진으로 주목 받고 있는 Spring Web Service들이 있다. 또 아직은 초기 구현단계지만 Spring OSGi는 차세대 Spring의 핵심이 될 것으로 기대하고 있다.
상용 제품들도 많다. Tangosol의 Coherence는 그 자체로는 상용제품이지만 Spring과의 연동기술을 구현해서 대용량 시스템에 활용할 수 있게 만들어주는 제품으로 유명하다. 또 Terracotta라는 제품은 Spring의 클러스터링 기술을 지원하는 상용 제품이었는데 최근에 과감하게 오픈소스로 전환을 해서 역시 Spring Portfolio에 합류하게 되었다. BEA와 함께 개발하는 EJB3와 Spring을 연동하기 위한 오픈소스 프로젝트인 Pitchfork 프로젝트, .NET 기반으로 구현된 Spring.NET도 대표적인 Spring Portfolio 기술의 하나이다.

Ubiquitous Spring

Spring은 지난 3년동안 비약적인 발전을 해왔다. Rod Johnson이 키노트에서 자신있게 얘기한 것이 이제는 어디에 있는 어떤 사람이라도 Spring으로 만들어진 시스템을 접할 수 있는 시대가 도래했다는 것이다.
은행의 인터넷뱅킹, 연말의 세금신고, 보험 신청, 특허 조회. 항공 예약, 우체국의 우편물 발송 등 이제는 Spring으로 만들어진 시스템을 거치지 않을 수가 없다는 것이다. 이제는 사실상의 자바 개발의 표준으로 자리잡아 가고 있고 그로 인해 Ubiquitous Spring 시대가 도래한다는 자신감 있는 발언을 하기도 했다.
2~3년씩 걸리는 표준 스펙과 기술로는 급변하는 현장의 요구를 충족시켜주기 힘들다. 그 빈자리를 Spring이라는, 개발자와 사용자가 협력해서 빠르게 기술을 발전시키는 오픈소스 기술이 차지하고 있음을 분명하게 알 수 있는 시간이었다.
또 Spring의 철학은 이미 존재하는 기술과 프레임워크의 기능을 중복해서 만들지 않는다는 것이다. 대신 그런 기술을 잘 조합해서 쓸 수 있는 윤활유나 접착제 같은 역할을 하고 있다.

오픈소스의 에너지

이번 TSE2006에 참가하면서, (시차 적응을 할 새도 없이) 아침 7시부터 저녁 11시까지의 빡빡한 일정에 다소 힘들었던 게 사실이다. 하지만 Rod Johnson을 비롯한 핵심 개발자들과의 대화, 그리고 멀리 멕시코에서부터 가까이는 일본에 이르기까지 각 국에서 중요한 역할을 하고 있는 Spring 개발자들과의 만남은 충분한 에너지가 됐다.
또한 Spring이 소수의 사람들에 의해서 주도되는 것이 아니라 폭넓은 현장에서 일하는 개발자들의 커뮤니티를 통해서 발전해 나가는 오픈소스라는 것을 다시금 명확하게 느낄 수 있는 자리였다. 그리고 한가지 더, Spring이 무엇인지 좀더 공부를 해야겠다.




위로


[지난 developerWorks Column 보기]


사이트 여행

dW 커뮤니티
포럼 | 블로그 | Spaces
dW Student Community

로컬 컨텐츠

행사 및 세미나

기획 기사

개발자 입문

튜토리얼 및 교육

TOP 10 인기자료

SW 다운로드

RSS 피드

뉴스레터
  
자바스크립트가 작동이 중지되었습니다. 이 기능을 수행하시려면 브라우저에서 자바스크립스트를 작동시켜 주시거나 이곳을 클릭해주세요.
Special offers
IBM SOA Sandbox 시험판
dW Student Community
로보코드
코드 트레이닝


    IBM 소개 개인정보 보호정책 문의