영회랑 함께 IBM DeveloperWorks CoD(무슨 약자인지?)에 공개하고 있는 OSGi/SpringDM 시리즈가 이제 내 차례가 돌아왔다. 영회가 3회에 걸쳐서 Java Enterprise에서의 OSGi라는 주제로 스크린캐스트를 올렸다. 첫회에서는 OSGi의 개념과 현황과 전망에 대해서 그리고 다음에는 OSGi의 번들제작과 서비스에 관한 간단한 데모를 보여준다. 분량도 15분정도로 짧으니 OSGi에 관심있는 개발자라면 꼭 보면 좋을듯 하다.

 

나는 영회의 내용에 이어서 SpringDM for OSGi(tm)에 대한 얘기를 3회에 걸쳐서 할 예정이다. 일단 1회분량을 주말에 레코딩 했다. 준비하면서 최신SpringDM을 상세히 살펴보았다. 올초 JCO컨퍼런스에서 발표할 때만해도 아직 엔터프라이즈의 전영역과 Spring의 최신버전을 모두 충족하기에는 부족한 부분이 많이 있었다. 하지만 SpringSource의 SDM/OSGi에 대한 전면적인 투자와 솔루션, 리포지토리 제공을 힘입어 짧은 기간 동안 매우 빠르게 많은 부분이 발전한듯 하다. 가장 염려스러웠던 3rd party 라이브러리의 OSGified 거의 완벽하게 이루어졌고 여러가지로 불편했던 로깅, 어노테이션, 웹 등도 최신 버전에서 완벽에 가깝게 지원해주고 있다.

 

이번 스크린캐스트 작성에는 SpringDM1.2M1을 사용했다. M1이라 아무래도 조금 이른 감이 있긴 하지만, 가장 최신 버전이고 SpringMVC/OSGi에 대한 예제가 잘 나와있기에 적극적으로 사용하려고 한다.

 

스프링이나 다른 기술을 통한 개발도 마찬가지이지만 새로운 기술을 접할 때 개발자들이 가장 먼저 고민하는 것은 개발환경과 툴이다. SDM은 그 자체로 Maven을 기반으로 해서 프로젝트가 구성되어있다. 예제와 테스트를 포함해서 60여개의 작은 서브모듈로 상세하게 나누어진 매우 방대한 프로젝트이다. 번들 단위로 프로젝트가 구성되니만큼 모듈 숫자가 많은 것은 당연한 현상일 것이다. 하지만 이런 Maven의 복잡한 멀티프로젝트 구조는 기존 IDE나 개발환경에 그다지 친밀하게 연동되지 않았기 때문에 불편한 점이 많이 있었다.

하지만 최근에 떠오르는 이클립스용 Maven 플러그인인 m2e 덕분에 이클립스 환경에서 Maven 멀티프로젝트를 임포트하고 개발하는 것은 아무런 문제가 없다. 기존에 Maven개발에 가장 궁합이 잘 맞는다는 IDEA와 비교해도 손색이 없다. 멀티프로젝트의 계층구조를 임포트 할때말고 한눈에 보여주지 못한다는 것만 빼고는 말이다. IDEA처럼 계층형 멀티 프로젝트 뷰(익스플로러)가 하나 있으면 좋을 듯하다.

 

Maven을 적극 사용하고 빌드에 bnd같은 Maven과 잘 연동이 되는 툴을 사용하는 것을 선호한다면 일단 SDM을 사용하는 환경은 OK다. 더불어 SDM이 지원하는 In-container Integration Test기능까지 적극활용해서 TDD스타일로 개발한다면 더할나위없을 것이다.

 

하지만 OSGi의 매력인 다이나믹 라이프사이클 관리를 플랫폼 콘솔을 기반으로 적용하고 살펴보고 싶다면 조금 얘기가 다르다. 주요 OSGi플랫폼들이 다 콘솔을 지원하고, 웹기반의 콘솔도 등장했다. 하지만 이클립스 환경이라면 이클립스 PDE환경이 매력적일 것이고, 당연히 그 안에서 구동되는 에퀴녹스(equinox) 콘솔을 이용하게 될 것이다.

 

PDE에서 에퀴녹스를 사용하려면 target platform을 구성해야 한다. 직접 수동으로 구성하는 방법도 있겠지만 SpringIDE의 osgi target platform 플러그인에 있는 것을 직접 이용하면 가장 편리하겠다. 문제는 바로 이 SpringIDE의 target platform인데, 최신의 SpringIDE2.2나 Nightly 버전인 SpringIDE2.2.1 적용해도 그 OSGi platform은 여전히 1.0.2 release모드에 snapshot은 텅 비어있다. 이런! SDM 1.0.2도 간단한 SDM/OSGi를 써보는데 일단 무리는 없겠지만, 본격적인 EE 애플리케이션을 시도할 때는 많이 부족하다. 결국 1.1이나 1.2M1을 사용해야 하는데, SpringIDE에는 아직도 1.0.2밖에 없으니 답답하기만 하다. SpringIDE는 SpringSource의 전용IDE에도 포함되는 것인데 왜 아직 최신 OSGi지원이 없을까.

 

추측하기는 SDM개발자들이 Maven기반의 빌드와 개발을 선호하고 그것에 주력하기 때문에 IDE의 연동을 빠르게 요청하지 못하고 있고, IDE팀도 마찬가지로 대응이 안되는 것이 아닌가 싶다. 본격적인 개발에는 Maven기반이 더 나을지 모르겠지만, 초보자들이 일단 OSGi 개념을 익혀가며 SDM을 써보는데는 이클립스 환경이 무척 편리한데 지원이 늦다는 것이 아쉽다. 조만간 SpringIDE에 이슈나 하나 올려야 겠다.

 

그래서 결국 Target platform을 직접 구성을 하게 되었는데, 뭐 기본적인 구성방법은 문서에 간략히 나와있으니 그것을 참조하면 된다. 또 각각의 번들의 기능에 대한 설명은 소스내에 txt파일에 역시 간략히 설명되어있다. 1.0.2와 1.1, 1.2M1의 구성은 기본 SDM과 Spring번들에서는 유사하지만 3rd party library쪽은 좀 다르다. SpringSource이름으로된 번들들은 그 사이 좀 변한 듯 하다. 특히 slf4j와 로깅쪽이 그렇고, 이전에 보지 못했던 번들들도 눈에 띈다. 한가지 아쉬운 것은 log4j용 설정을 위한 fragment bundle이 1.1부터 빠진 것인데, 초보자들이 바로 가져다 쓰기에는 좀 불편하지 않을까 싶다. 1.0.2에 있는 것을 참조해서 만들던가 아니면 복사해서 쓰는 것이 좋을 듯.

 

에퀴녹스 환경이 이클립스PDE에 손쉽게 연동이되고 편리하게 사용할 수 있다는 장점이 있는 반면에 불편한 점도 있다. 이클립스에서 equinox run 설정을 바꿔가면서 실행을 하다보면, 최신 프로젝트 번들이 적용이 안되거나 런타임 설정이 적용안되는 문제가 종종 발생한다. 프로젝트 빌드와 관련된 문제인데, 이게 윈도우의 꾸진 파일시스템의 문제인지 이클립스 자체의 버그인지는 잘 모르겠다. 그래서 매번 번들 구성이 바뀔때마다 run configuration을 삭제하고 새로 만들어 쓰는 불편이 있다. 또 프로젝트를 수정해도 그 빌드된 번들을 바로 콘솔에서 install하는 방법을 모르겠다. 자동 빌드된 것은 추가할 방법이 없는 듯하고, 나는 필요하면 export해서 명시적으로 re-install하는 방법을 쓰는데 그부분이 좀 편리하게 바꼈으면 좋을 듯 하다. 매번 플랫폼을 새로 시작하는 것도 그렇고…

 

지금 낑낑대면서 쓰고 있는 스프링책이 얼릉 마무리 되면 좀 홀가분한 마음으로 SDM에 다시 푹 빠져봐야겠다. 올해말에 영회,기선이와 함께 가기로 한 SpringOneAmerica2008에서 SDM과 관련된 신나는 세션들에 많이 참석해야겠다.

 

영회의 OSGi 시리즈가 궁금하다면…

 

 

Related posts:

  1. IBM DeveloperWorks Screencast 마지막회 – SpringDM 테스트전략
  2. IBM DeveloperWorks – SpringDM for OSGi 스크린캐스트 첫번째 공개
  3. IBM DW SpringDM 스크린캐스트 제작 완료
  4. SpringOne 2008 (1) – OSGi
  5. 스프링소스와 VMWare의 전략적 관계
  6. Spring-OSGi 시작하기 – OSGi
  7. 뒤늦게 쓰는 SpringOne 2007 셋째날 후기
  8. 9회 JCO 자바컨퍼런스를 다녀와서
  9. Spring 3.0 (32) R-778 돌아온 Reference Doucment와 잠자는 레퍼런스 한글화 프로젝트
  10. Maven과 OSGi(Spring)의 버전포맷 비호환 문제
  11. SpringDM과 차세대 OSGi
  12. 2008년 스프링의 아쉬웠던 것들, 2009년의 기대 top 5
  13. 뭐.. OSG뭐라고?
  14. 스프링프레임워크 관련 글/스크린캐스트 주제 선정
  15. OSGi에 관심이 가장 많은 나라는 South Korea?

Facebook comments:

to “오랜만에 SpringDM 감상”

  1. thanks for share!

  2. thank you for share!

  3. You Can Try Here
    [url=http://www.zhenqianyulewang.com/member/ajaxifeedback.php?/nfl-shorts-would-go-with-nearly-every-outfit-and-looks-nice-2013.html]nfl shorts-Would go with nearly every outfit and looks nice 2013[/url]
    nfl shorts-Would go with nearly every outfit and looks nice 2013

  4. Browse Around This Site
    [url=http://baileybuttontriplett.com]ugg 1873[/url]
    ugg 1873

  5. You could try here
    [url=http://mensbootsoutlet.com]ugg slippers for men[/url]
    ugg slippers for men

  6. mbt schuhe 오랜만에 SpringDM 감상 » Toby’s Epril

  7. mountain biking shoes 오랜만에 SpringDM 감상 » Toby’s Epril

  8. Thanks for these guidelines. One thing I also believe is credit cards supplying a 0% rate of interest often entice consumers together with zero rate, instant authorization and easy on the web balance transfers, nevertheless beware of the top factor that is going to void the 0% easy neighborhood annual percentage rate as well as throw one out into the poor house rapidly.

  9. Many thanks very valuable. Will share site with my good friends
    cheap nfl 17 coins

  10. Pretty educational… look frontward to coming back
    buy nfl 17 coins

Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

© 2017 Toby's Epril Suffusion theme by Sayontan Sinha