본문 바로가기

Scrap

자바 웹 애플리케이션 프레임웍의 구분


자바 웹 애플리케이션 개발에 사용하는 프레임웍을 중심으로 말씀드리겠습니다.

자바 웹 애플리케이션 프레임웍은 몇가지의 카테고리로 나뉘어집니다.

MVC (Model-View-Controller)
MVC는 가장 대중적인 웹 애플리케이션 프레임웍이라 할 수 있습니다. 애플리케이션의 화면, 데이터, 제어를 분리하는 것이라 할 수 있습니다.
가장 대중적인 것으로 Struts가 있는데 이 것은 나온지 오래되었고 기능이 떨어져 한 물 갔다고 할 수 있습니다.
요즘은 2세대 MVC로 인터셉터 기능을 가진 프레임웍들이 대세입니다.  WebWork, Struts2, Spring  MVC등이 있습니다.

IoC (Inversion of Control)
제어 역행이라고 하는데 완전히 같은 뜻은 아니지만 대체로 같은 의미로 Dependency Injection(의존성 주입)이라고 부르기도 합니다. IoC는 프레임웍이라고 부르기보다는 컨테이너라는 말을 많이 씁니다.
현 재 가장 많이 사용하는 IoC 컨테이너는 Spring 입니다. Spring은 EJB 없이 Java EE 애플리케이션 개발이라는 사상을 갖고 있습니다. Spring은 많이 유행하는 프레임웍이고 그 사상이 발상의 전환을 가져왔기 때문에 반드시 배워두셔야 합니다.

AOP (Aspect Oriented Programming)
객체지향의 개념을 보완하는 개념으로 관점 지향 프로그래밍이라고 합니다. 여러 클래스나 컴포넌트에 걸쳐서 동작하는 것을 분리하는 개념으로 대표적인 것이 인터셉터입니다.
AOP는 @AspectJ 라는 프레임웍에서 큰 발전을 가져왔는데 Spring에 AOP가 들어가면서 AOP 프레임웍도 Spring으로 많이 사용하는 추세입니다.

ORM (Object-Relational Mapping)
객체 관계 매핑이라고 합니다. 자바와 같은 객체 지향에서 사용하는 오브젝트와 아직도 가장 많이 사용하고 있는 관계형 데이터베이스와의 매핑을 목적으로 합니다.
EJB 의 Entity Bean에서 하는 것이 이 객체 관계 매핑입니다. EJB 3.0으로 넘어오면서 Entity Bean이 없어지고 Persistence라는 것으로 바뀌었습니다. EJB 없이 사용하는 ORM으로는 Hibernate와 iBATIS가 많이 쓰인다고 하겠습니다. iBATIS는 ORM보다는 데이터 매퍼라고 하는 것이 더 적절하겠습니다. 기능적으로 더 우수한 Hibernate가 대세로 간다고 하겠습니다.

'Scrap' 카테고리의 다른 글

애자일 개발? Agile 위키사전이 설명한 애자일...  (0) 2008.02.15
C 그리고 indent  (0) 2008.02.09
가지못할 길. 프로그래머.  (2) 2008.02.09
면티 깨끗하게 접는 법  (0) 2008.01.11
구글 챠트 API  (0) 2007.12.29