Spring Web Flow(SWF) เป็นส่วนหนึ่งของ Spring Framework's web stack เน้นไปที่การกำหนด และควบคุมการทำงานของ UI flow ใน web
application SWF เป็น controller framework ทำหน้าที่ควบคุม flow การทำงานของ web app หรือ business process
และเก็บค่า state ต่างๆที่เกิดขึ้น นักพัฒนายังสามารถ reuse flow ที่สร้างขึ้นไปใช้ project อื่นได้ด้วย
มี feature สำคัญ คือ
1.สร้าง stateful business components ได้ โดยใช้ instance variable และ SWF จะจัดการ scope ของ variable นั้นให้
2. ใช้ flow variable เพื่อควบคุมการทำงานได้
3. มี exception handling
4. ผู้ใช้สามารถส่ง parameter ให้ flow และ return ผลลัพธ์กลับมาได้
5. ใช้งานร่วมกับ Struts,Spring,JSF ได้
สรุป SWF คล้าย BPEL ฉบับ web application นั่นคือแทนที่จะเป็น flow ควบคุม web service แต่ SWF เป็น flow ที่ควบคุมการเรียก page
ใน web app แทน (คนที่ไม่รู้ว่า BPEL คืออะไร สามารถดูบทความเก่าใน blog ได้ เคยเขียนไว้) โดย SWF เป็น controller technology ที่เป็นตัว C ใน
MVC pattern นั่นเอง