관리 메뉴

버리야 날자

5회 스프링 프레임웍 사용자 모임에 다녀왔습니다. 본문

나만의 작업

5회 스프링 프레임웍 사용자 모임에 다녀왔습니다.

버리야 2007.10.28 22:34

스프링 프레임웍에 대한 세미나를 1회때인가, 스프링 소개와 IoC할때 가고, 정말
오랫만에 참여한지라 알아들을 수 있을 것인가, 염려와 함께 도곡역으로 향하였습니다.

장소는 도곡역 IBM 온디맨드 홀에서 열렸는데, 입구부터 백기선 님이 안내를 해주시더군요.국민대에서 할때 보다 훨씬 찾기 쉽고 더 집중이 잘 된 장소더군요^^

1. 이일민님의 Spring Web Flow의 발표내용과 검색내용을 정리한 것


(차분하고, 듬직(?)하신 목소리로 너무 어렵지 않게 머릿속에 잘 들어왔습니다. )

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.

Spring Web Flow aims to be the best solution for the management of web application page flow.

왜 ? 필요한가,?

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.
Web Flow 적용방법 :
 http://www.theserverside.com/tt/articles/article.tss?l=SpringWebFlow

* XML파일을 Spring IDE를 이용하여 state Diagram으로 그려주면
자동으로 XML파일로 만들어준다. 이 부분이 가장 Happy하다. +_+


2. 안영회님의 Acegi security 발표내용과 검색내용을 정리한 것


안영회님은 주로 개념과 흐름을 설명해주시고, 백기선님이 코드설명과
라이브코딩을(하지만, 정말 라이브코딩은 아니었다는, ^^ 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

신고
10 Comments
댓글쓰기 폼