springwebflow - kr

10
SpringWebFlow 2007.10.26 스프링사용자 모임 5세미나 [email protected]

Upload: myoung-su-shin

Post on 23-Jun-2015

1.208 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: SpringWebFlow - kr

SpringWebFlow2007.10.26

스프링사용자 모임 5회 세미나[email protected]

Page 2: SpringWebFlow - kr

Problem

전형적인 웹 애플케이션에서 대개 두가지 형태의 네브케이션이 생긴다.

Free Navigation

Controller Flow

Page 3: SpringWebFlow - kr

Free Navigation

사용자 User의 작업 흐름이 대개 웹의 Request Scope안에서 해결이 된다.

일반적인 Navigation

User Task = Web Request (almost)

Page 4: SpringWebFlow - kr

Controlled Flow

사용자 User의 작업 Task가 하나 이상의 Request Scope으로 이루어지는 경우

하나의 의미있는 Task가 되기 위해서 여러 요청을 다루는 페이지가 필요하다.

하나의 작업 Task안에서 여러 요청에 대한 처리에 의한 여러가지 흐름(Flow)가 생겨나게 된다.

Page 5: SpringWebFlow - kr

Controlled Flow가 왜 복잡한가?

일반적인 웹 프로그래밍 모델에서는 Request와 Session 이라는 Scope만 제공한다.

하나의 Flow을 담기에는 너무 작거나 너무 광범위 하다.

웹은 기본적으로 Stateless이다.

Stateless한 웹에서 여러 Request으로 User와 Interactive하게 되면 여러 예외적은 상황(흐름)이 생겨나게 된다(관리해야 된다.)

Page 6: SpringWebFlow - kr

Flow Framework이 필요한 이유?

웹이라는 기본적으로 Stateless 한 환경에서 Flow이라는 Scope을 구성하기 위핸 공통적인 문제가 (많이) 존재한다.

State Management

웹 브라우저의 동작 관리 (Back Button..)

모듈화된 Flow 기반 지원

사용자의 입력에 대한 흐름 제어

Page 7: SpringWebFlow - kr

Flow Framework이 필요한 이유?

일반적인 WebMVC으로도 구현가능하다.

여러가지 복잡한 일을 해야 한다.

SpringWebFlow가 대신 해준댄다. (...)

Page 8: SpringWebFlow - kr

SpringWebFlow의 특징Spring WebMVC에서 특정 Flow가 존재하는 모듈만 적용가능하다. (WebMVC안에서 충분히 사용가능하다)

이러한 여러 Flow을 중첩하여 사용할수 있다.

Parent Flow에 대하여 직접적인 관리가 필요없다?

하나의 Controller이 하나의 Task을 해결?한다?

Page 9: SpringWebFlow - kr

SpringWebFlow의 State

View State

Action State

Decision State

End State

Page 10: SpringWebFlow - kr

흠...

웹 애플리케이션안의 모든 부분을 WebFlow화 할 필요는 없다.

간단한 Flow는 SpringWebMVC의 SimpleFormController,WizController을 사용할수 있다.

복잡한 Flow을 Controll할 필요가 있다면 적용할 매력이 있다.