스트럿츠2 탄생 배경

1. 아파치 스트럿츠는 2000년에 등장하여 많은 자바 기반의 웹 애플리케이션들을 개발하는데 많은 도움을 주며 성장했다.


2. 더욱 다양하고 복잡한 기능 필요.

    - 스트럿츠가 마이너 수준의 개선을 거듭하는 것만으로 이러한 요구 사항을 명쾌하게 해결하기에 부족함을 느끼게 되었다. 


3. 더 쉽고 간결하게 웹 애플리케이션을 만들며 더욱 풍부한 사용자 인터페이스를 구축하기 위한 웹 프레임워크들이 등장

    - 스트럿츠의 뒤를 이어 웹워크(WebWork), 태피스트리(Tapestry), 스프링 MVC(Spring MVC), 비하이브(Beehive) 등


4. 2005년 자바원(JavaOne)에서 스트럿츠 프로젝트의 개발자와 비하이브의 개발자가 미팅을 통해 스트럿츠 Ti(Titanium) 제안 초안을 구성.

    - 여러 웹 프레임워크의 좋은 아이디어를 하나로 통합하는 것에 흥미를 가진 개발자들 간의 모임이 만들어지면서, 본격적으로 스트럿츠2의 개발이 시작되었다.


5. 스트럿츠2는 루비 온 레일즈(Ruby on Rails)나 나노웹(NanoWeb)의 단순함, 웹워크2의 세련미, 비하이브의 툴친화성과 페이지 플로우와 같은 장점과 스트럿츠1를 결합.

    - 현재는 기존 스트럿츠와 웹워크2를 결합하는 모습으로 스트럿츠2의 개발이 진행되고 있다.


6. 스트럿츠2 로고

   


7. 웹워크2와 결합하며 MVC 패턴을 구현한 내부 아키텍처가 완전히 달라졌다.

    - 스트럿츠2의 아키텍처는 웹워크2의 아키텍처를 그대로 적용하고 있다.

    - 스트럿츠1의 서블릿과 리퀘스트 프로세서 기반으로 액션 요청을 처리하던 구조 대신 필터와 인터셉터 기반의 웹워크2 아키텍처를 적용함으로써 매우 유연한 아키텍처를 구축하게 되었다.


8. 다른 뛰어난 오픈 소스의 좋은 기능들을 쉽게 접목하여 활용할 수 있는 방법을 계속해서 구축.

    - Dojo를 활용한 Ajax 기능을 태그와 테마 기반으로 쉽게 구현.

    - 빈 팩토리 패턴의 구현을 위해 구글 주스(Guice)나 스프링 프레임워크를 통합.

    - 무엇보다 개발자들에게 가장 반가운 점은 스트럿츠2에서는 설정작업이 줄어들면서 매우 명확해졌다는 점일 것이다.

이 글과 관련있는 글을 자동검색한 결과입니다 [?]

by nockarm | 2007/12/12 13:12 | 스트럿츠2 | 트랙백 | 덧글(5)

트랙백 주소 : http://nockarm.egloos.com/tb/1125359
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by 박성철 at 2007/12/12 14:05
잘 읽었습니다. 제 생각과는 좀 다른 부분이 있네요. 무엇보다 웹워크와 결합했다거나 적용했다고 되어 있는데 오히려 기존 코드 베이스를 다 버리고 웹워크를 기반으로 다시 구축했다고 해야하지 않을까 합니다. 그리고 제 기준에서 스트럿츠2는 전혀 ROR에 비해 단순하지 않더군요. ^^
Commented by nockarm at 2007/12/12 16:20
기존 체계를 버리고 웹워크를 기반으로 완전히 달라졌다는 점은 정확한 시각으로 보셨습니다.
스트럿츠2는 스트럿츠1의 업그레이드가 아니고, 웹워크2를 기반으로 하고 있습니다.
스트럿츠와 결합했다고 하는 부분은 여러가지 의미가 있다고 봅니다. 제 생각에 그 중 하나는 기존 스트럿츠의 방대한 커뮤니티와 웹워크의 아키텍처와의 결합이라는 관점에서 볼 수있습니다. 아마 제가 말씀드린 결합이라는 부분은 기술적 관점에서만 얘기드린 점은 아니었습니다. 또한 7번 항목에

"7. 웹워크2와 결합하며 MVC 패턴을 구현한 내부 아키텍처가 완전히 달라졌다.
- 스트럿츠2의 아키텍처는 웹워크2의 아키텍처를 그대로 적용하고 있다."

라 언급을 했습니다만 아마도 바쁘게 보시느라 이 부분을 놓치셨나봅니다.
또한 ROR과 단순함의 우위를 비교하기 위해서 했던 얘기도 아니었습니다. 위에서 언급한 내용들은 프레임워크간의 비교를 위한 것이 아니라 스트럿츠2의 달라진 점을 얘기한 것입니다. 스트럿츠2로 개발을 해보면 정말 개발 작업과 설정 작업이 많이 직관적이고, 단순해진 것을 느낄 수 있습니다.
Commented by 박성철 at 2007/12/13 14:02
스트럿츠2가 많이 직관적이 되었다는게 흥미롭네요. 사실 몇달전에 프로젝트를 시작하면서 스트럿츠2를 검토하다가 너무 번거롭고 무겁다고 생각되어 스프링 MVC를 썼었습니다. 너무 수박 겉핥기로 봤었나 보네요. 결정적으로 spring mvc로 갔던 이유는 좀 유치하지만 action을 struts2와 spring 양쪽에 다 넣어줘야 한다는게 너무 귀찮아서... ^^;;;
spring 2.5의 자동 bean 인식기능을 쓰면 양쪽에 다 등록해줘야 할 필요가 없으니 다시 한번 봐야겠네요.
Commented by nockarm at 2007/12/13 17:58
스트럿츠2에서 스프링 연동할 때 액션을 스프링에 등록할 필요가 없습니다... 스트럿츠2의 ObjectBeanFactory로 스프링을 사용할 것으로 설정해놓으면 액션은 자동으로 스프링이 관리합니다...
Commented by Aki2024 at 2008/06/16 09:43
현철주님의 스트럿츠2프로그래밍이란 책을 정리하신거군요... 저도 그책 열심히 일긍면서 정리하구 있답니다..

:         :

:

비공개 덧글

◀ 이전 페이지다음 페이지 ▶