Java2EE Framework/Spring 2.0

스프링2.0 - Light Weight 컨테이너 아키텍처

본클라쓰 2010. 6. 1. 20:46

 스프링의 장점인 light-weight 컨테이너 아키텍처에 대해 알아보자. 

 

 

 스프링의 가장 큰 장점은 모듈화이다. 스프링을 구성하고 있는 각각의 패키지들은 모듈화 되어 있어, 서로의 작용의 최소화시켜서 동작한다. 따라서, 스프링을 구성하는 요소를 사용할 때 어떤 부분을 사용할지는 전적으로 개발자에게 달려있다.

 

 또한, 스프링은 light-weight 컨테이너 아키텍로 구성되어 있다. light-weight 컨테이너 아키텍처는 EJB가 지원하는 트랜잭션 처리, Security, 빈의 생명 주기 관리 등 컨테이너를 통해 지원할 수 있는 기능을 지원하는 아키텍처이다.

 기존의 Non EJB 아키텍처와 EJB 아키텍처에 대한 한계를 느끼고, 각 회사마다 자신들만의 프레임워크를 만들어 사용하는 경우가 많았다. 국내의 수 많은 회사들이 이미 자신들만의 프레임워크를 가지고 있으며, 이 프레임 워크를 기반으로 어플리케이션 프로젝트를 진행하고 있지만, light-weight 컨테이너 아키텍처가 제안하는 것처럼 프레임워크 내부에 컨테이너 개념을 가지는 프레임워크는 많지 않다. 단지 계층을 지원하는 프레임워크를 조합하여 사용하는 것이 일반적이다.

 

 

■ Light Weight 컨테이너 아키텍처의 장점

 

 EJB에 비해 배우기 쉬우며 빈을 설정하는 방법도 쉽다. 서블릿 컨테이너에서 실행되는 것이 가능하므로 이식성이 뛰어나며, 특정 인터페이스에 종속되지 않는 POJOs 기반을 사용하기 때문에 테스트가 용이하다. 또한, AOP 의 지원으로 EJB 컨테이너에서 지원 가능했던 컨테이너 기능들을 지원한다. 따라서 OOP(Object Oriented Programming) 형태로 개발하는데 제약사항이 없다.

 

 

■ Light Weight 컨테이너 아키텍처의 단점

 

 대부분이 개발자들이 Non EJB 아키텍처와 EJB 아키텍처에 친숙한 상태이다. 이에 Light Weight 컨테이너 아키텍처를 새로 배워야 한다는 부담이 있다.