달력

4

« 2024/4 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

'공부하는 것/Spring Framework'에 해당되는 글 22

  1. 2009.05.04 Spring의 Roo Alpha 2에 대하여...
  2. 2009.02.16 Spring Dynamic Modules 1.1.3 Released
  3. 2008.09.20 [Tutorial] Spring-DM Getting Started
  4. 2008.09.10 Spring Dynamic Modules 1.2.0 M1 Released
Spring Source에서 새로운 툴을 하나 발표하려는 것 같다.
미국 시간으로 어제 "Roo Alpha 2 is now available for download" 라는 제목으로 글이 하나 올라왔는데, 생소한 이름의 툴이 하나 올라왔는데, 기존에 진행되었던 프로젝트와는 많이 생소한 내용이었다.

"Roo Alpha 2" 라는 이름으로 이미 Relesed 된 상태로, 이미 국내에서도 여러 개발자들이 관심을 갖고 살펴보고 있는 듯하다. 이는 SpringSource의 Tool Suite(STS)에 Roo Plugin으로 포함되어져 있고, 이들은 "introduction to Roo" 라는 블로그의 글을 통해서 "Roo"에 대해서 간략하게 소개하고 있다.
간단하게 Roo는  SpringSouce 오픈 소스 프로젝트이고, TDD를 위한 툴이고 이를 위해서 Shell을 개발자에게 제공한다. 그리고 Roo는 개발자가가 새로운 언어를 배우지 않고 쉽고 빠르게 그들의 Application을 개발 할 수 있도록 설계되었다고 한다.

Roo는 무료로 사용할 수 있는 툴인데, 이번주, 즉 5월 7일자(미국시간)로 무료로 다운받아 사용할 수 있다는 것이다. 이에 대해서 시간 제약과 같은 규제는 따로 없다.
우리 시간으로 5월 8일에 다운 받아 쓸수 있다는 말이다. (참조: http://www.springsource.com/products/sts)

Roo는 나에게는 아주 생소한 주제이다. 그래서 잠깐 구글링을 해보 았는데, 국내의 여러개발자들이 벌써 이를 테스트하고 분석하고 있는 중이었는데, 그중 특이한 것은 이 Roo가 갑자기 하늘에서 떨어진 것은 아니라는 것이다.
이미 일민(Toby)이가 이를 대한 소개를 한 글이 있었다. 2006년도에 TES2006에 참석해서 배운 내용을 정리했던 것인데 "TSE2006 넷째날 두번째 세션 - ROO"를 보면 이해에 도움이 될거라 생각된다.
그가 2006년에 Roo에 대해 알았다면, 이는 참 오래된 감춰진 프로젝트의 하나일 것이다.

그리고, "Introducing Spring ROO: Part 1" 의 글을 보면, 현재의 Roo에 대한 간략한 소개와 설치에 대한 설명들이 있다. 이름 참조하면 설치에 무리가 없을 거라 생각되고, 참고로 여기서는 A1 버전을 사용하였다.

그리고 지난주에 유럽에서 열렸던 SpringOne에서 발료되었던 세션중에 "Presentation: "Extreme Productivity in Application Development"을 보면 좀더 새로운 Roo에 대한 정보를 얻을 수 있을 것이다.

최근에 Roo에 대한 새로운 이름에 대해서 투표를 진행했는데, Roo도 괜찮은 이름인것 같다. 어떤 이름으로 다시 공개될지 모르지만 현재는 Roo이고, 이는 당분간은 유지 될거라 생각된다.
(투표에 관심있는 사람은 http://cloud.springsource.com/vote 를 한번 찾아가 보시길... )
Roo 1.0 Release는 6월 중순에 발표될거고, 1.0 GA버전은 올해말에 공개될 예정이다.

Roo를 사용하게 되면 어떤식으로 프로그램 방법이 바뀔지는 아직 감은 없지만, 많은 사람들이 관시을 가지고 있었던 프로젝트 였던만큼, 큰 반향을 일으킬 소지는 충분히 있다. 간단하게 작성된 소스들을 보더라도, AspectJ와 많은 Anotaion들이 사용이 된다. 중요한 것은 새로운 것을 익히고 쓰기 위해서는 기본에 충실해야 한다는 것이다. 이를 쓰기 위해서도 역시 기본적인 개념과 사용법에 대해서 익숙해질 필요가 있다.

아무리 좋은 도구라도 사용하는 사람이 익숙하지 않다면, 좋은 인상을 주기 어렵다. 새로운 것을 배우는데 익숙하거나 즐기는 사람이라면 다르겠지만, 자기가 하고 있는 분야만이 전부라고 생각하는 소아적인 개발자와 관리자를 깨우치기는 정말로 어렵기 때문이다. 그래서 "돼지목에 진주"라는 말이 있나 보다.

:
Posted by 행복상자
내가 현재 진행하고 있는 프로젝트는 Spring Dynamic Modules 1.1.2를 기반으로 개발하고 있다. 그리고 이를 기반으로 다른 솔루션 또는 Web Application들이 개발되고 있다.

지금은 지난 말까지 개발된 Framework의 일부 Architecture와 모듈을 Refactory중에 있다. 이의 필요성은 아마도 Spring DM Server가 나온다면, 사라질지도 모른다. 개발하고 있는 Core가 Spring DM Server와 거의 유사한 Architecture를 하고 있기 때문이다. 아마도 Spring DM Kernel만 있다고 누군가가 같다고 할지도 모르지만, Spring의 많은 기능을 얻어다 사용하기 때문에 이를 갈 수는 없고 많은 혜텍을 입었다고 할 수 있다.

지난 주에 Spring Dynamic Module 1.1.3이 발표되었다.
몇가지 변경된 사항을 살펴보았는데, 크게 바뀐 부분들은 눈에 들어오지 않는다.

아래는 Spring Dynamic Module의 Change Log이다.


Changes in version 1.1.3 (2009-02-13)
-------------------------------------

General
* various documentation improvements and fixes

Package org.springframework.osgi.context
* improved proxying of classes that are boot delegated outside the OSGi environment

Package org.springframework.osgi.io
* fixed manifest headers parsing problem when dealing with nested whitespaces
* fixed handling of optional required bundles
* improved OsgiBundlePatternMatchingResolver to return ContextResources
* changed OsgiBundlePatternMatchingResolver#findResources(String) visibility to protected

Package org.springframework.osgi.service
* fixed visibility issue when invoking non-public proxied methods
* improved waiting code to deal with spurious or accidental wakeups
* fixed issue with OsgiServiceProxyFactoryBean that caused autowiring to fail in some cases

:
Posted by 행복상자
간만에 Spring-DM 사이트(www.springframework.org)에 들어갔더니 사이트가 여러모로 개편이 많이 되어 있었다.

현재 안정화 버전은 Spring-DM ver. 1.1.1로 제공되고 있고, Spring-DM을 이용하여 개발에 참조할수 있는 어러가지 관련 글들의 링크들이 올라와 있었다.

아래는 http://springosgi.googlepages.com/ 에 올라와 있는 글인데 Spring-DM을 시작하는 방법들을 소개하고 있어서 가져왔다.
화면 스크린 샷도 같이 있어서 이해하는데 도움이 많이 될수 있을 것 같다.

Table of Contents
I. Spring-DM Getting Started
    1. Prepare Eclipse/Spring-DM environment

    1.1 Prerequisite

    1.2 Create Spring-DM Target Platform project structure

    1.3 Configure Maven using Eclipse External Tools

    1.4 Test Spring-DM Target Platform

    1.5 Creta Spring-DM User Library (class path)

2. Logging and Tracing with Eclipse PDE and Log4J

    2.1 Configure Logging and Tracing with Log4J

    2.2 Configure Eclipse PDE Tracing

3. Implement Simple Spring-DM service

    3.1 Create Spring-DM service project

    3.2 Implement Spring-DM service

    3.3 Configure Spring-DM service

    3.4 Deploy Spring-DM service

    3.5 Package Spring-DM service

4. Integration Testing with Spring-DM

    4.1 Develop Integration Test

5. Develop and deploy Spring-MVC (OSGi-fied) project

    5.1 Create web project as Eclipse plug-in project

    5.2 Define OSGi specific deployment configuration

    5.3 Deploy Spring-MVC project into Spring-DM Target Platform.

6. Develop and deploy JSF based application

         6.1 Create and deploy JSF project as Eclipse plug-in project
:
Posted by 행복상자
Spring Dynamic Module 1.1.1 이 정식으로 Release 되고, 약 1달이 지났다.
며칠전에 새롭게 1.2.0 M1 버전이 릴리즈 되었다. 빠르게 업그레이드 된다는 점도 있지만, 이는 아직 안정화가 안되어 있다는 반증도 된다.

현재 내가 진행하고 있는 프로젝트는 1.1.1을 사용하고 있다. 아마도 정식으로 1.1.2가 나오기 전까지는 이 상태로 유지해야 할 것 같다.

아래는 이번에 추가되거나 수정된 항목이다.
DM을 위한 MVC예제가 수정된 부분이 눈에 띈다.

Changes in version 1.2.0 M1 (2008-09-05)
----------------------------------------

General
* added new annotation-based, Spring-MVC sample
* removed petclinic sample (superseeded by simple-web-app and web-console samples)
* improved sample wars packaging
* improved framework behaviour when running in environments with Java 2 security enabled

Package org.springframework.osgi.context
* added reporting of Errors raised during delegated refresh in AbstractDelegatedExecutionApplicationContext

Package org.springframework.osgi.extender
* fixed bug related to enabling Spring-DM annotation depedency processing
* improved annotation injection processing
* improved extender configuration thread-safety
* fixed potential race condition in asynchronous waiting for service dependencies

Package org.springframework.osgi.io
* improved existence check for bundle resources
* improved jar space pattern matching when the root is not specified
* fixed classpath pattern matching on certain resources when the default Bundle-ClassPath entry (.) is not specified

Package org.springframework.osgi.service
* changed the proxying classloader strategy to address package dependency visibility
* fixed usage of incorrect class loader for imported services with client thread context class loader management
* fixed intermittent deadlock that appeared in some cases betweem importers and exporters during shutdown

Package org.springframework.osgi.web
* improved web extender configuration thread-safety
* improved web extender initialization by using an asynch model for cases with out-of-order dependencies

그리고 레퍼런스 가이드는 여기를 참조하면 된다.
http://static.springframework.org/osgi/docs/1.2.0-m1/reference/html/


:
Posted by 행복상자