- Framework의 종류와 구분
- 자주 사용되는 Framework
스프링(Spring)
J2EE기반의 웹 어플리케이션을 쉽게 하는 것을 목적으로 하고 있으면서 J2EE서비스에 종속되지 않으며, 계층화, 모듈화가 잘 되어 있는 유연한 프레임워크 이다.
스프링의 주요목적중 하나인 "기존의 잘 만들어진 솔루션들과 경쟁하지 않고, 이들과의 통합을 추진한다."는 점이 다른 프레임워크들과 유기적으로 잘 연동할 수 있을 것인가를 알 수 있게 한다.
스프링 프레임워크는 다른 프로젝트에서 개발된 컴포넌트를 어떻게 잘 조합하여 사용할 것인가에 대한 고민의 해답으로 제시된 IoC(제어역행화; Inversion of Control) 또는 연관성 삽입(Dependency Injection) 패턴이 스프링의 중심된 개념이다.
※ 참고사이트
- IoC, 연광성 삽입 패턴 관련 문서 http://martinfowler.com/articles/injection.html
- 스프링 프레임워크 http://www.springframework.org
- 메뉴얼 http://www.springframework.org/docs/reference/index.html
벨로시티(Velocity) 자카르타 프로젝트에서 진행 중인 자바 기반의 템플릿 엔진.
템플릿으로부터 SQL, HTML, 자바 소스를 생성하는 등 사용할수 있는 용도가 다양하지만, JSP의 대안으로 웹 어플리케이션 개발에서 많이 사용된다.
스트럿츠는 JSP를 통해 구현된 뷰를 프리젠테이션의 기본으로 하고 있지만, 일부 개발자들은 벨로시티를 선호하고 있다.
JSP가 표준스펙을 제정한 표준 기술인데 비해 벨로시티는 독자적인 표준을 제성한 것이므로, 표준 기술의 적용을 선호하는 기업환경에서는 벨로시티가 JSP를 대치하기는 어려울 것이다.
※ 참고사이트
익스프레소(Expresso) 익스프레소 프레임워크는 보안 기능, OR Mapping, 백그라운드 작업, 자체 테스트 기능, 로깅 등의 기능을 제공하는 데이터베이스 드리븐(Database-Driven) 어플리케이션 개발을 위한 프레임워크이다. 익스프레소는 스트럿츠의 컨트롤러의 지원을 활용하면서 스트럿츠에서는 지원하지 않는 모델 영역을 지원하도록 설꼐 되어 있다.
※ 참고사이트
- 익스프레소 http://www.jcorporate.com
웹워크(WebWork) 웹워크는 XWork라고 부르는 커맨드 패턴 프레임워크 API를 활용한 웹 어플리케이션 프레임워크다. 스트럿츠보다 인터셉터(Interceptor), IoC(Inversion of Control) 등의 특징은 스트럿츠보다 강력하다고 할수 있다.
※ 참고사이트
JSF(Java Server Faces) JSF는 자바 개발자에게 웹 기반의 사용자 인터페이스를 작성하기 위한 API와 태그 라이브러리를 제공한다. 스트럿츠 프레임워크와 같이 JSF는 자바빈즈 속성에 연결된 HTML폼 요소를 생성하는 JSP태그 집합을 가지고 있어, 두 프레임워크가 비슷해 보이지만 JSF는 자바 표준이기 때문에 보다 많은 개발 도구의 지원을 받게 될 것이며, 이미 많은 벤더들이 JSF를 지우너하겠다고 나서고 있다.
JSF가 그동안 정무했던 웹 애플리케이션의 프리젠테이션 로직을 위한 프레임워크라는 점에서 관심을 모으고 있으며 다른 프레임워크들도 JSF와 연동을 위한 방안을 내놓고 있다.