얼마전 안영회님이 KSUG에 올해 스프링 관련 기술과 내년 떠오를 것으로 보이는 유망 스프링 기술을 각각 다섯 개씩 선정해서 글을 싣는다고 저에게도 요청이 와서 적은 글입니다. 오늘 KSUG에 글이 올라와 있네요. 제가 올해 책 집필하느라고 기술 전반에 대한 트렌드를 잊고 살았기 때문에 이런 글을 쓴다는게 참 우습지만 QCon에서 느꼈던 부분을 간략하게 정리해서 올렸습니다. 내용은 다음과 같습니다.

1. Domain Driven Design(DDD)
2004년에 Eric Evans가 Domain Driven Design 책을 출간했지만 아직 적용한 곳이 많지 않은 상태이다. 그러나 점점 더 많은 활용사례가 나타나면서 DDD에 대한 중요성이 부각될 것으로 생각한다. 이미 자바 뿐만 아니라 C#에서도 활용사례가 나타나고 있다. Spring Batch가 DDD 사상으로 개발되었다는 글(http://java-chimaera.blogspot.com/2008/11/spring-batch-domain-driven-design-in.html)도 볼 수 있으며, 2009년의 Spring 로드맵에는 DDD 기반의 소스 생성기인 ROO가 포함되어 있는 것도 주목할 만하다. 앞으로 DDD 기반으로 개발된 애플리케이션이 점점 더 증가할 것으로 예상된다.

2. Domain Specific Language(DSL)
지금까지 특정 Context에 맞는 구문들이 많들어져 사용되어 왔다. 예를 들어 SQL, CSS, Junit, Ant등과 같이 특정 Context에 맞는 형태로 구문을 정의하고 사용되어 왔는데 최근에 이를 통틀어 DSL로 지칭하고 있다. RSpect, JBehave와 같은 DSL이 등장하면서 DSL에 대한 관심도가 더욱 높아지고 있다. 업무 분석가와 고객이 좀 더 쉽게 이해할 수 있는 언어로 테스트 시나리오를 작성하고 이를 실제 애플리케이션 테스트에 적용할 수 있다면 더 없이 좋을 듯하다. 국내 현실에서는 좀 더 많은 시간이 필요하겠지만 외국은 이미 움직임이 시작되고 있다.

3. Ployglot와 Poly-Paradigm
최근의 경향은 하나의 애플리케이션을 개발하기 위하여 여러 개의 언어를 같이 사용하며(Ployglot), 여러 개의 패러다임(Poly Paradigm)을 같이 사용하는 방향으로 움직이고 있다. 예를 들어 Adobe Lightroom은 C++ 과 Lua, Google Android는 Linux + libraris(C)+ Java로 개발되어 있다. 또한 애플리케이션의 요구사항따라 Object Language와 Functional Language를 혼용해서 사용하는 사례들이 나타나고 있다. 자바 개발자에게 Grails와 같은 프레임워크가 널리 보급된다면 이와 같은 방식의 접근 방법에 거부감을 쉽게 없앨 수 있을 것으로 기대한다.

4. 애자일 프로세스의 성장
해외에서는 이미 애자일 프로세스가 많이 보급되었으며, 다양한 적용 사례가 컨퍼런스를 통하여 공유되고 있다. 애자일 프로세스에 맞는 아키텍트의 역할까지 논하고 있는 상황이다. 아직 국내에서는 많은 프로젝트에서 적용하지 않고 있는 상황이지만 점진적으로 성장할 것으로 판단된다. 애자일 프로세스의 실천 방법 중에 일부분이라도 적용하는 프로젝트가 많아질 것으로 예상한다. 그 중에서 잦은 통합을 위하여 지속적 통합툴의 활용과 테스트에 대한 중요성이 높아질 것으로 예상한다.

5. Grails와 ORM
안영회씨와 정상혁씨도 언급했지만 자바 개발자라면 앞으로 Grails의 성장에 관심을 가져야 될 것으로 생각한다. 국내에서는 Hibernate 프레임워크에 대한 관심도 가 낮은데 Grails의 성장으로 인해 자연스럽게 Hibernate ORM 프레임워크에 대한 관심도도 높아질 것으로 생각한다. ORM 프레임워크에 대한 학습 비용이 높지만 Grails를 좀 더 잘 사용하고자하는 개발자들을 중심으로 Hibernate가 보급될 것으로 생각한다. 또한 Groovy에 대한 관심도가 높아지면서 Script Language와 DSL에 대한 관심도도 높아질 것으로 예상해본다.

6. 자바진영에서 Spring 프레임워크의 영향력 확대
Spring 프레임워크는 급격하게 성장하고 있으며, 자바 진영에서 그 영향력이 점점 더 커지고 있다. 하지만 Spring 프레임워크에 대한 회의감을 표시하는 개발자들도 등장하고 있다. Spring 프레임워크의 도입에 대한 찬반 논쟁이 지속적으로 발생할 것으로 생각한다. 또한 Spring 프레임워크에서 Spring Security와 Spring Batch와 같은 서브 프로젝트의 국내 적용 사례가 점점 더 증가할 것으로 판단된다. 점점 더 비대해져가는 Spring 프레임워크를 이해하기 위하여 Spring 프레임워크가 가지는 핵심 사상과 방향을 전파하려는 노력도 지속될 것으로 생각한다.

분명 이 외에도 많을 것으로 생각합니다. 어쩌면 제가 관심있어 하는 주제로만 선정했다는 생각이 드네요. 제 개인적으로 2009년에는 테스트와 관련된 글들을 많이 적을까 생각합니다. 외국에 좋은 글도 번역하고(영어 공부를 위해서) 제가 테스트와 관련하여 느끼는 부분들도 적어볼 생각입니다. 여러분들도 관심있는 주제에 대하여 이야기해보셨으면 좋겠네요. 내년에 Grails가 어느 정도까지 활성화될지 기대가 되네요. 그럼 Groovy에 Hibernate에 공부할게 더 많아지겠네요. 자바 개발자들에게는 어쩌면 죽음일지도 모르겠습니다.
Posted by 자바지기