스프링 프레임웍에 대한 세미나를 1회때인가, 스프링 소개와 IoC할때 가고, 정말
오랫만에 참여한지라 알아들을 수 있을 것인가, 염려와 함께 도곡역으로 향하였습니다.
장소는 도곡역 IBM 온디맨드 홀에서 열렸는데, 입구부터 백기선 님이 안내를 해주시더군요.국민대에서 할때 보다 훨씬 찾기 쉽고 더 집중이 잘 된 장소더군요^^
(차분하고, 듬직(?)하신 목소리로 너무 어렵지 않게 머릿속에 잘 들어왔습니다. )
Spring Web Flow (SWF) is an emerging module of The Spring Framework. The module is part of Spring’s web application development stack, which includes Spring MVC.
왜 ? 필요한가,?
servlet에서 scope단위는 request, session, application이 있는데,
request는 하나의 action요청에 관해서 scope가 너무 좋고,
session은 너무 넓다. 이것을 하나의 작은 묶음으로 처리하고 싶은데,
그럴만한 scope가 없다.
=> 상태정보유지와 관리(Flow : 하나의 task등을 재활용하기를 원한다.)
개개의 action은 여러 view를 통해 함께 chain되는데 action URL은
"back"이나 "submit'등과 같은 다른 처리를 하는 이벤트에 관해 각 view에
하드코딩이 된다.
Spring MVC는 두개의 controller인 SimpleFormController와
AbstractWizardFormController를 제공하는데 controller에 여전히 하드코딩을
해야한다.
Spring Web Flow의 Advantage
- Flow와 navigation을 완벽하게 control
Controller를 사용하지 않고 XML 파일로 정의하여 사용하고 Free navigation (페이지가 독립적인 단위라서, blog나 wikipedia에서처럼 simple URL로 접근해도 해당 정보를 보는데
전혀 지장이 없을경우, http://en.wikipedia.org/wiki/Spring 식으로 접근가능) 을
쓰려고 할때는 Web Flow가 필요없지만 어떤 제약을 많이 주고 싶은 경우(쇼핑몰 홈페이지에서 반드시 상품을 선택하고, 결제페이지를 넘어간다거나 할때) 사용하면 좋다.
- Server의 메모리 릭 해결(자동화된 상태관리)
- 모듈화된 Flow와 상태관리를 하고 싶을 때
XML로 정의된 Flow만 정의하면 되고,
컨트롤의 흐름,상태, 어디에서 시작해서 어디까지 끝날 것인지(scope)등
Flow의 상태를 유지할 수 있다.
- The page flow in a web application is clearly visible by looking at the corresponding web flow definition (in an XML file or Java class).
- Web flows are designed to be self contained. This allows you to see a part of your application as a module you can reuse in multiple situations.
- Web flows capture any reasonable page flow in a web application always using the same consistent technique. You're not forced into using specialized controllers for very particular situations.
- Finally, a web flow is a first-class citizen with a well-defined contract for use. It has a clear, observable lifecycle that is managed for you automatically. Simply put, the system manages the complexity for you and as a result is very easy to use.
http://www.theserverside.com/tt/articles/article.tss?l=SpringWebFlow
* XML파일을 Spring IDE를 이용하여 state Diagram으로 그려주면
자동으로 XML파일로 만들어준다. 이 부분이 가장 Happy하다. +_+
안영회님은 주로 개념과 흐름을 설명해주시고, 백기선님이 코드설명과
라이브코딩을(하지만, 정말 라이브코딩은 아니었다는, ^^ eclipse의 template기능 +_+) 오고가는 대화속의 훈훈함이 느껴졌습니다. 머릿속에도 쏙쏙 들어왔다는,,
Acegi Security is a powerful, flexible security solution for enterprise software, with a particular emphasis on applications that use Spring. Using Acegi Security provides your applications with comprehensive authentication, authorization, instance-based access control, channel security and human user detection capabilities.
Spring Acegi Tutorial :
http://www.tfo-eservices.eu/wb_tutorials/media/SpringAcegiTutorial/HTML/SpringAcegiTutorial-1_1-html.html
발표시나리오 :
http://younghoe.info/663
일이 있어서 끝까지 듣지는 못하여, 정리를 하지 못했습니다.
안영회님 블로그에 올라와 있는, 그림만 보아도 Filter들이 무슨일을 벌이고 처리하는지
대략알수 있다는 무책임한 말로 후기를 끝냅니다. +_+
다음번엔 무슨 주제가 기다릴까요.. 또 가고싶습니다!ㅋㅋ
--------------------------------------------------------------------------------------------------------------------
이 글에 대한 Resource :
http://www.theserverside.com/tt/articles/article.tss?l=SpringWebFlow
http://younghoe.info/663
'backend' 카테고리의 다른 글
Thinkfree Office Live 한국어 서비스 시작 (2) | 2009.04.01 |
---|---|
자바스크립트 로깅 라이브러리 Blackbird (2) | 2008.11.03 |
XML to JSON (6) | 2007.11.24 |
구글꺼야? SearchMash (16) | 2007.10.30 |
Google Developer Night에 다녀와서,, (14) | 2007.10.17 |
Derby에서 paging구현.. (7) | 2007.09.03 |
firefox가 느릴때.. (10) | 2007.08.04 |
Java 성능개선을 위한 Programming 기법 (7) | 2007.06.27 |