๋ ˆ์ธ ์‹œ๊ฐ„ ๊ตฌ๋ถ„ ๊ฐ•์‚ฌ ์ œ๋ชฉ 19:00  ~ 21:00 UI ๊น€์ •๋ฒ” ๋Œ€๋ฆฌ ์›นํ‘œ์ค€์ด๋ƒ ์†๋„๋ƒ (UI ๊ฐœ๋ฐœ์ž์˜ ๊ณ ๋‡Œ ) RIA ์˜ค์ฐฝํ›ˆ ๋Œ€๋ฆฌ GS ์ด์ˆ๋งŒ์˜  RIA  ๊ฐœ๋ฐœํ™œ์šฉํŒ๊ณผ ๋…ธํ•˜์šฐ ํ”„๋กœ์ ํŠธ ๊น€ํ˜„ ๊ณผ์žฅ ํšจ์œจ์ ์ธ ์œ ์ง€๋ณด์ˆ˜๋ฅผ ์œ„ํ•œ ๊ฐœ๋ฐœ ๋ฐ ๊ด€๋ฆฌ ํ”„๋ ˆ์ž„์›Œํฌ ์ถ”๊ฒฝ๋ˆ ๋Œ€๋ฆฌ Spring Framework  ๋„์ž… ์‚ฌ๋ก€ SE ๊น€ํ’์ฃผ ๋Œ€๋ฆฌ ์›น ํ‘œ์ค€์ŠคํŽ™ ์‚ดํŽด๋ณด๊ธฐ  ( ๋ช…์„ธ์„œ์— ์‚ด๊ณ  ๋ช…์„ธ์„œ์— ์ฃฝ๋‹ค ) ์‡ผํ•‘๋ชฐ ํŠธ๋ Œ๋“œ ์ดˆ์ฒญ ๊น€ํƒœ์ง„ ์‡ผํ•‘๋ชฐ ์ปจ์„คํ„ดํŠธ๊ฐ€ ๋ฐ”๋ผ๋ณธ ์‡ผํ•‘๋ชฐ ํŠธ๋ Œ๋“œ ์ฝ”๋“œ๊ด€๋ฆฌ ํ—ˆ๊ด‘๋‚จ ๊ณผ์žฅ ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ ๊ด€๋ฆฌ ์ „๋žต  ( ๋‚จ์ด ์ง  ์ฝ”๋“œ ๋นจ๋ฆฌ ์•Œ์•„๋ณด๊ธฐ ) SQL ํŠœ๋‹ ๋ฐ•๊ด‘์ผ ๋Œ€๋ฆฌ ์›น๊ฐœ๋ฐœ์ž์˜ ์•ฝํ•œ๊ณ ๋ฆฌ  SQL  ๋›ฐ์–ด๋„˜๊ธฐ
Applying Spring Framework in GSeShop EC ์ •๋ณดํŒ€ ์ถ”๊ฒฝ๋ˆ
CONDITIONS INTRODUCTION REQUIREMENT ANALYSIS SPRING FRAMEWORK ARCHITECTURE GSESHOP ARCHITECTURE ARCHITECTURE FEATURE PROS & CONS CONCLUSION
1. CONDITIONS ์ด์ˆ์˜ ์ƒํ™ฉ OSDK, LAF J, Spear,  ์™ธ๋ถ€์—…์ฒด ํ”„๋ ˆ์ž„์›Œํฌ ๋“ฑ ์ „๋ฐ˜์ ์œผ๋กœ  ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ž๋ฐ”ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ํ˜ผ์žฌ๋˜์–ด ํ‘œ์ค€ํ™”๊ฐ€ ์•ˆ๋จ ์ž๋ฐ” ๊ฐœ๋ฐœ์ž๋Š” ๊ฐ์ž์˜ ์Šคํƒ€์ผ์— ๋งž๊ฒŒ ์†Œ์‹ ๊ป ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ์Œ ๋ถˆํ•„์š”ํ•œ ์ž๋ฐ”์†Œ์Šค ์ƒ์„ฑ์ด ๋งŒ์—ฐ (  ์‹ ๊ทœ ์„œ๋น„์Šค ๊ฐœ๋ฐœ  /  ๊ธฐ์กด ์„œ๋น„์Šค ์ˆ˜์ •  ) ์‹ ๊ทœ์ธ๋ ฅ์ด๋‚˜ ์—…๋ฌด ์ธ์ˆ˜์ธ๊ณ„ ์‹œ ์ˆ˜๋งŽ์€ ์ฝ”๋“œ๋ฅผ ๋‹ค ์ดํ•ดํ•˜๊ธฐ  ํž˜๋“  ์ƒํ™ฉ 2006 ๋…„  Mall  ๊ฐœํŽธ ํ”„๋กœ์ ํŠธ ์ตœ์‹ ๊ธฐ์ˆ ์„ ์ ์šฉํ•œ  Web 2.0  ์Šคํƒ€์ผ์˜ ์‚ฌ์ดํŠธ๋กœ ์ „ํ™˜ ์ƒˆ๋กœ์šด ๊ฐœ๋ฐœ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๋„์ž… ๊ฒ€ํ†   ( ํŠธ๋ Œ๋“œ์— ๋งž๋Š”โ€ฆ ) ๊ฐœ๋ฐœ์ผ์ • ๋‹จ์ถ•์„ ์œ„ํ•œ ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ์˜ ํ–ฅ์ƒ์ด ํ•„์š”  ํ‘œ์ค€ํ™” ,  ์ƒ์‚ฐ์„ฑ ,  ์œ ์ง€๋ณด์ˆ˜์„ฑ ,  ํ’ˆ์งˆ๋ณด์ฆ ๋“ฑ์„ ๊ณ ๋ คํ•ด์•ผ ํ•จ
2. INTRODUCTION ์™œ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๋„์ž…ํ•˜๋Š”๊ฐ€ ? ๊ฐœ๋ฐœ์ƒ์‚ฐ์„ฑ ์ฆ๊ฐ€ ์ผ๊ด€๋œ ํ”Œ๋žซํผ ๋„์ž…์œผ๋กœ ์†Œ์Šค์— ๋Œ€ํ•œ ํ’ˆ์งˆ์„ ๋ณด์ฆ ์œ ์ง€๋ณด์ˆ˜ ์‹œ ๋น„์šฉ์˜ ๊ฐ์†Œ ๋„์ž… ์‹œ๊ธฐ์— ๋Œ€ํ•œ ๋ฌธ์ œ ๊ธฐ์กด ์„œ๋น„์Šค๊ฐ€ ์•„๋‹Œ ์ƒˆ๋กœ์šด ์„œ๋น„์Šค๋ฅผ ๊ณ ๋ คํ•  ๋•Œ ๋Œ€๋Œ€์ ์ธ ๊ฐœํŽธ ๋งค๋‹ˆ์ €์˜ ์••๋ ฅ ?  ๋„์ž… ๋ฒ”์œ„ ํ”„๋ ˆ์ž„์›Œํฌ ์ข…๋ฅ˜ Layer โ€“ Core, MVC, ORM, Security, Cache, Template  ๋“ฑ ์•„ํ‚คํ…์ฒ˜ ๊ธฐ์กด ์•„ํ‚คํ…์ฒ˜  -  ์ „์ฒด ๋„์ž…  vs  ๋ถ€๋ถ„ ๋„์ž…
2. INTRODUCTION (CONTINUED) ํ”„๋ ˆ์ž„์›Œํฌ  VS  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ”„๋ ˆ์ž„์›Œํฌ  = f ( ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ,  ๋””์ž์ธํŒจํ„ด ,  ์•„ํ‚คํ…์ฒ˜ ,  ์‹œ๊ฐ„  ) ์•„ํ‚คํ…ํŠธ๊ฐ€ ์–ด๋–ค ์„ ํƒ์„ ํ•˜๋А๋ƒ์— ๋”ฐ๋ผ ์ตœ์ข…์ ์ธ ๋„์ž…๋ฒ”์œ„์™€ ๊ฒฐ๊ณผ๋ฌผ์ด ์„ ํƒ๋œ๋‹ค . ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์žฌ๋ฐœ๊ฒฌ ( ์ด์ผ๋ฏผ ) ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์›จ์–ด + Communication ํŠน์ง• ํ”„๋ ˆ์ž„์›Œํฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์œ ์ €์ฝ”๋“œ์˜ ์ž‘์„ฑ ํ”„๋ ˆ์ž„์›Œํฌ ํด๋ž˜์Šค๋ฅผ ์„œ๋ธŒ ํด๋ž˜์‹ฑํ•ด์„œ ์ž‘์„ฑ ๋…๋ฆฝ์ ์œผ๋กœ ์ž‘์„ฑ ํ˜ธ์ถœํ๋ฆ„ ํ”„๋ ˆ์ž„์›Œํฌ ์ฝ”๋“œ๊ฐ€ ์œ ์ €์ฝ”๋“œ๋ฅผ ํ˜ธ์ถœ ์œ ์ €์ฝ”๋“œ๊ฐ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ˜ธ์ถœ ์‹คํ–‰ํ๋ฆ„ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์ œ์–ด ์œ ์ €์ฝ”๋“œ๊ฐ€ ์ œ์–ด ๊ฐ์ฒด์—ฐ๋™ ๊ตฌ์กฐํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์ •์˜ ๋…์ž์ ์œผ๋กœ ์ •์˜
3. APPLYING PROCESS step1.  ์š”๊ตฌ์‚ฌํ•ญ ๋ถ„์„ step2.  ์ตœ์ ์˜  Framework  ์„ ํƒ step3.  ์ด์ˆ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜  Framework  ๊ฐœ๋ฐœ step4.  ํ…Œ์ŠคํŠธ step5.  ์ƒ˜ํ”Œ ๋ฐ ๊ฐ€์ด๋“œ ๋ฌธ์„œ ์ œ์ž‘ step6.  ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ๊ธฐ๊ฐ„ ๋™์•ˆ ์ง€์†์ ์ธ ๊ฐœ๋ฐœ ๋ฐ ์ง€์›
4. REQUIREMENT ANALYSIS ํ•„์ˆ˜ ์š”๊ตฌ ์‚ฌํ•ญ ๋น„์ฆˆ๋‹ˆ์Šค๋ฅผ ๋ชจ๋ธ๋งํ•  ๋•Œ ๋ถˆํ•„์š”ํ•œ ๊ฐ์ฒด ์ƒ์„ฑ์€ ํ•˜์ง€ ๋ง์ž .  ์žฌ์‚ฌ์šฉ์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํŒจํ„ด์œผ๋กœ ๊ฐœ๋ฐœ MVC  ํŒจํ„ด์€ ๊ผญ ๋„์ž…ํ•˜์ž . ์ ์–ด๋„ ํ™”๋ฉด๊ณผ ๋น„์ฆˆ๋‹ˆ์Šค๋Š” ๋ถ„๋ฆฌ ํ•ด๋ณด์ž . Project  ์ผ์ • ๋‚ด์— ๋ชจ๋“  ๊ฐœ๋ฐœ์ž๊ฐ€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ด์•ผ ํ•œ๋‹ค . ๊ฐœ๋ฐœ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚œ ๊ธฐ์กด ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ์— ๋Œ€ํ•ด ๊ณ ๋ คํ•ด์•ผ ํ•œ๋‹ค . ๋ฐ˜๋ณต์ ์ธ ์†Œ์Šค ์ฝ”๋”ฉ์„ ์ตœ๋Œ€ํ•œ ์ค„์ด์ž . ๊ฐœ๋ฐœ์ž๊ฐ€ ์‚ฌ์šฉํ•˜๊ธฐ ํŽธ๋ฆฌํ•œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ JDBC,  ํŠธ๋žœ์žญ์…˜ ,  ๋กœ๊ทธ ,  ํ™”๋ฉด์ปจํŠธ๋กค ,  ์บ์‰ฌ ๋“ฑ ์„ ํƒ :  ์š”๊ตฌ์‚ฌํ•ญ์„ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์ตœ์„ ์˜ ์กฐํ•ฉ์€  ? ๊ฒ€ํ†  ๊ธฐ์ˆ   : Spring, Struts, Hibernate, iBatis, Velocity, FreeMarker, Tiles, SiteMesh ๊ฒฐ๋ก ์ ์œผ๋กœ  Spring   ํ•˜๋‚˜๋กœ ๋ชจ๋“  ๊ฒŒ ๊ฐ€๋Šฅํ–ˆ๋‹ค !!
5. SPRING FRAMEWORK ARCHITECTURE Spring Framework
6. GSESHOP ARCHITECTURE Applying Spring Framework in GSeShop JDK 1.4.2 / Java Virtual Machine J2EE Services Spring Framework GSeShop  Application Framework Domain Object Data Access Tier Component Business Logic Tier Component MVC Tier Component EHCache Open Source Library
7. ARCHITECTURE FEATURE Spring DAO ์„ ์–ธ์  ํŠธ๋žœ์žญ์…˜ ์‚ฌ์šฉ ResultSet  ์— ๋Œ€ํ•œ ์‰ฌ์šด ๋งคํ•‘ ์ˆ˜๋‹จ ์ œ๊ณต ์ฟผ๋ฆฌ์™€ ์†Œ์Šค์˜ ๋ถ„๋ฆฌ Code Generator ์„œ๋น„์Šค์™€ ์—”ํ‹ฐํ‹ฐ์™€์˜ ๊ด€๊ณ„๋ฅผ ์ •ํ•ด์„œ ์ž๋ฐ”์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•จ ๊ด€๋ฆฌ  XML ๋„ ํ•จ๊ป˜ ์ƒ์„ฑํ•ด์„œ ์ตœ๋Œ€ํ•œ ํŽธ์˜์„ฑ ์ œ๊ณต View Resolver ๊ฒฐ๊ตญ์€  Data  ๋ณด์—ฌ์ฃผ๊ฒŒ ๋˜๋Š” ๊ฒƒ  XML, RSS, FLASH, Json  ๋“ฑ  JSP ์ด์™ธ์˜  View ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ์ ์ธ  ํ‹€์„ ์ œ๊ณต Open Source Library  ์ ๊ทน ํ™œ์šฉ Jakarta Project, EHCACHE, XSTREAM, ROME, โ€ฆ
8. PROS & CONS Pros ๊ฐœ๋ฐœ์ž์˜ ์ธ์‹๋ณ€ํ™” ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ  /  ์žฌ์‚ฌ์šฉ์„ฑ์˜ ์ฆ๊ฐ€ Lesson & Learn  ์‹œ๊ฐ„ ๋‹จ์ถ• ๋ฐœ์ „ํ•˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ Pingpong Project CMI Project Test Framework ์˜ ์ž์—ฐ์Šค๋Ÿฐ ๋„์ž… Cons ๊ธฐ์กด๊ฐœ๋ฐœ์ž  or  ์ดˆ๋ณด๊ฐœ๋ฐœ์ž์— ์ ‘๊ทผํ•˜๊ธฐ๊ฐ€ ์‰ฝ์ง€ ์•Š์Œ ๊ด€๋ฆฌํ•  ํฌ์ธํŠธ๊ฐ€ ๋งŽ์•„์ง ํ”„๋ ˆ์ž„์›Œํฌ ๋ฒ„์ „ ๊ด€๋ฆฌ Configuration, Log, Local Development Environment ์ง€์†์ ์ธ ์œ ์ง€๋ณด์ˆ˜ ํ™œ๋™ ๋ฐ ์‹ ๊ทœ ๊ฐœ๋ฐœ  ( ์‹ ๊ธฐ์ˆ  ํฌํ•จ ) Framework  ๋งŒ๋Šฅ์ฃผ์˜ ๋Šช์— ๋น ์งˆ ์ˆ˜ ์žˆ์Œ
9. CONCLUSION ๋‚จ๊ฒจ์ง„ ์ˆ™์ œ Legacy Code ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•  ๊ฒƒ์ธ๊ฐ€ ? Control ๊ณผ  Refactoring UI Component ์— ๋Œ€ํ•œ ๊ณ ๋ฏผ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์•„ํ‚คํ…์ฒ˜์˜ ์ผ๋ถ€ UI ๋„ ์ด์ œ๋Š” ์ง„์ง€ํ•˜๊ฒŒ ๊ณ ๋ คํ•ด์•ผ๋  ๋Œ€์ƒ ์ƒˆ๋กœ์šด ํ”„๋ ˆ์ž„์›Œํฌ ๋ ˆ์ด์–ด ๋„์ž… ? ORM, Template, Security, Flow Control, Batch  ๋“ฑ Spring Upgrade JDK  ๋ฒ„์ „ ์—…๊ทธ๋ ˆ์ด๋“œ Spring  ๋ฒ„์ „ ์—…๊ทธ๋ ˆ์ด๋“œ

ecdevday4

  • 1.
    ๋ ˆ์ธ ์‹œ๊ฐ„ ๊ตฌ๋ถ„๊ฐ•์‚ฌ ์ œ๋ชฉ 19:00 ~ 21:00 UI ๊น€์ •๋ฒ” ๋Œ€๋ฆฌ ์›นํ‘œ์ค€์ด๋ƒ ์†๋„๋ƒ (UI ๊ฐœ๋ฐœ์ž์˜ ๊ณ ๋‡Œ ) RIA ์˜ค์ฐฝํ›ˆ ๋Œ€๋ฆฌ GS ์ด์ˆ๋งŒ์˜ RIA ๊ฐœ๋ฐœํ™œ์šฉํŒ๊ณผ ๋…ธํ•˜์šฐ ํ”„๋กœ์ ํŠธ ๊น€ํ˜„ ๊ณผ์žฅ ํšจ์œจ์ ์ธ ์œ ์ง€๋ณด์ˆ˜๋ฅผ ์œ„ํ•œ ๊ฐœ๋ฐœ ๋ฐ ๊ด€๋ฆฌ ํ”„๋ ˆ์ž„์›Œํฌ ์ถ”๊ฒฝ๋ˆ ๋Œ€๋ฆฌ Spring Framework ๋„์ž… ์‚ฌ๋ก€ SE ๊น€ํ’์ฃผ ๋Œ€๋ฆฌ ์›น ํ‘œ์ค€์ŠคํŽ™ ์‚ดํŽด๋ณด๊ธฐ ( ๋ช…์„ธ์„œ์— ์‚ด๊ณ  ๋ช…์„ธ์„œ์— ์ฃฝ๋‹ค ) ์‡ผํ•‘๋ชฐ ํŠธ๋ Œ๋“œ ์ดˆ์ฒญ ๊น€ํƒœ์ง„ ์‡ผํ•‘๋ชฐ ์ปจ์„คํ„ดํŠธ๊ฐ€ ๋ฐ”๋ผ๋ณธ ์‡ผํ•‘๋ชฐ ํŠธ๋ Œ๋“œ ์ฝ”๋“œ๊ด€๋ฆฌ ํ—ˆ๊ด‘๋‚จ ๊ณผ์žฅ ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ ๊ด€๋ฆฌ ์ „๋žต ( ๋‚จ์ด ์ง  ์ฝ”๋“œ ๋นจ๋ฆฌ ์•Œ์•„๋ณด๊ธฐ ) SQL ํŠœ๋‹ ๋ฐ•๊ด‘์ผ ๋Œ€๋ฆฌ ์›น๊ฐœ๋ฐœ์ž์˜ ์•ฝํ•œ๊ณ ๋ฆฌ SQL ๋›ฐ์–ด๋„˜๊ธฐ
  • 2.
    Applying Spring Frameworkin GSeShop EC ์ •๋ณดํŒ€ ์ถ”๊ฒฝ๋ˆ
  • 3.
    CONDITIONS INTRODUCTION REQUIREMENTANALYSIS SPRING FRAMEWORK ARCHITECTURE GSESHOP ARCHITECTURE ARCHITECTURE FEATURE PROS & CONS CONCLUSION
  • 4.
    1. CONDITIONS ์ด์ˆ์˜์ƒํ™ฉ OSDK, LAF J, Spear, ์™ธ๋ถ€์—…์ฒด ํ”„๋ ˆ์ž„์›Œํฌ ๋“ฑ ์ „๋ฐ˜์ ์œผ๋กœ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ž๋ฐ”ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ํ˜ผ์žฌ๋˜์–ด ํ‘œ์ค€ํ™”๊ฐ€ ์•ˆ๋จ ์ž๋ฐ” ๊ฐœ๋ฐœ์ž๋Š” ๊ฐ์ž์˜ ์Šคํƒ€์ผ์— ๋งž๊ฒŒ ์†Œ์‹ ๊ป ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ์Œ ๋ถˆํ•„์š”ํ•œ ์ž๋ฐ”์†Œ์Šค ์ƒ์„ฑ์ด ๋งŒ์—ฐ ( ์‹ ๊ทœ ์„œ๋น„์Šค ๊ฐœ๋ฐœ / ๊ธฐ์กด ์„œ๋น„์Šค ์ˆ˜์ • ) ์‹ ๊ทœ์ธ๋ ฅ์ด๋‚˜ ์—…๋ฌด ์ธ์ˆ˜์ธ๊ณ„ ์‹œ ์ˆ˜๋งŽ์€ ์ฝ”๋“œ๋ฅผ ๋‹ค ์ดํ•ดํ•˜๊ธฐ ํž˜๋“  ์ƒํ™ฉ 2006 ๋…„ Mall ๊ฐœํŽธ ํ”„๋กœ์ ํŠธ ์ตœ์‹ ๊ธฐ์ˆ ์„ ์ ์šฉํ•œ Web 2.0 ์Šคํƒ€์ผ์˜ ์‚ฌ์ดํŠธ๋กœ ์ „ํ™˜ ์ƒˆ๋กœ์šด ๊ฐœ๋ฐœ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๋„์ž… ๊ฒ€ํ†  ( ํŠธ๋ Œ๋“œ์— ๋งž๋Š”โ€ฆ ) ๊ฐœ๋ฐœ์ผ์ • ๋‹จ์ถ•์„ ์œ„ํ•œ ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ์˜ ํ–ฅ์ƒ์ด ํ•„์š” ํ‘œ์ค€ํ™” , ์ƒ์‚ฐ์„ฑ , ์œ ์ง€๋ณด์ˆ˜์„ฑ , ํ’ˆ์งˆ๋ณด์ฆ ๋“ฑ์„ ๊ณ ๋ คํ•ด์•ผ ํ•จ
  • 5.
    2. INTRODUCTION ์™œํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๋„์ž…ํ•˜๋Š”๊ฐ€ ? ๊ฐœ๋ฐœ์ƒ์‚ฐ์„ฑ ์ฆ๊ฐ€ ์ผ๊ด€๋œ ํ”Œ๋žซํผ ๋„์ž…์œผ๋กœ ์†Œ์Šค์— ๋Œ€ํ•œ ํ’ˆ์งˆ์„ ๋ณด์ฆ ์œ ์ง€๋ณด์ˆ˜ ์‹œ ๋น„์šฉ์˜ ๊ฐ์†Œ ๋„์ž… ์‹œ๊ธฐ์— ๋Œ€ํ•œ ๋ฌธ์ œ ๊ธฐ์กด ์„œ๋น„์Šค๊ฐ€ ์•„๋‹Œ ์ƒˆ๋กœ์šด ์„œ๋น„์Šค๋ฅผ ๊ณ ๋ คํ•  ๋•Œ ๋Œ€๋Œ€์ ์ธ ๊ฐœํŽธ ๋งค๋‹ˆ์ €์˜ ์••๋ ฅ ? ๋„์ž… ๋ฒ”์œ„ ํ”„๋ ˆ์ž„์›Œํฌ ์ข…๋ฅ˜ Layer โ€“ Core, MVC, ORM, Security, Cache, Template ๋“ฑ ์•„ํ‚คํ…์ฒ˜ ๊ธฐ์กด ์•„ํ‚คํ…์ฒ˜ - ์ „์ฒด ๋„์ž… vs ๋ถ€๋ถ„ ๋„์ž…
  • 6.
    2. INTRODUCTION (CONTINUED)ํ”„๋ ˆ์ž„์›Œํฌ VS ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ”„๋ ˆ์ž„์›Œํฌ = f ( ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ , ๋””์ž์ธํŒจํ„ด , ์•„ํ‚คํ…์ฒ˜ , ์‹œ๊ฐ„ ) ์•„ํ‚คํ…ํŠธ๊ฐ€ ์–ด๋–ค ์„ ํƒ์„ ํ•˜๋А๋ƒ์— ๋”ฐ๋ผ ์ตœ์ข…์ ์ธ ๋„์ž…๋ฒ”์œ„์™€ ๊ฒฐ๊ณผ๋ฌผ์ด ์„ ํƒ๋œ๋‹ค . ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์žฌ๋ฐœ๊ฒฌ ( ์ด์ผ๋ฏผ ) ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์›จ์–ด + Communication ํŠน์ง• ํ”„๋ ˆ์ž„์›Œํฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์œ ์ €์ฝ”๋“œ์˜ ์ž‘์„ฑ ํ”„๋ ˆ์ž„์›Œํฌ ํด๋ž˜์Šค๋ฅผ ์„œ๋ธŒ ํด๋ž˜์‹ฑํ•ด์„œ ์ž‘์„ฑ ๋…๋ฆฝ์ ์œผ๋กœ ์ž‘์„ฑ ํ˜ธ์ถœํ๋ฆ„ ํ”„๋ ˆ์ž„์›Œํฌ ์ฝ”๋“œ๊ฐ€ ์œ ์ €์ฝ”๋“œ๋ฅผ ํ˜ธ์ถœ ์œ ์ €์ฝ”๋“œ๊ฐ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ˜ธ์ถœ ์‹คํ–‰ํ๋ฆ„ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์ œ์–ด ์œ ์ €์ฝ”๋“œ๊ฐ€ ์ œ์–ด ๊ฐ์ฒด์—ฐ๋™ ๊ตฌ์กฐํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์ •์˜ ๋…์ž์ ์œผ๋กœ ์ •์˜
  • 7.
    3. APPLYING PROCESSstep1. ์š”๊ตฌ์‚ฌํ•ญ ๋ถ„์„ step2. ์ตœ์ ์˜ Framework ์„ ํƒ step3. ์ด์ˆ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ Framework ๊ฐœ๋ฐœ step4. ํ…Œ์ŠคํŠธ step5. ์ƒ˜ํ”Œ ๋ฐ ๊ฐ€์ด๋“œ ๋ฌธ์„œ ์ œ์ž‘ step6. ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ๊ธฐ๊ฐ„ ๋™์•ˆ ์ง€์†์ ์ธ ๊ฐœ๋ฐœ ๋ฐ ์ง€์›
  • 8.
    4. REQUIREMENT ANALYSISํ•„์ˆ˜ ์š”๊ตฌ ์‚ฌํ•ญ ๋น„์ฆˆ๋‹ˆ์Šค๋ฅผ ๋ชจ๋ธ๋งํ•  ๋•Œ ๋ถˆํ•„์š”ํ•œ ๊ฐ์ฒด ์ƒ์„ฑ์€ ํ•˜์ง€ ๋ง์ž . ์žฌ์‚ฌ์šฉ์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํŒจํ„ด์œผ๋กœ ๊ฐœ๋ฐœ MVC ํŒจํ„ด์€ ๊ผญ ๋„์ž…ํ•˜์ž . ์ ์–ด๋„ ํ™”๋ฉด๊ณผ ๋น„์ฆˆ๋‹ˆ์Šค๋Š” ๋ถ„๋ฆฌ ํ•ด๋ณด์ž . Project ์ผ์ • ๋‚ด์— ๋ชจ๋“  ๊ฐœ๋ฐœ์ž๊ฐ€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ด์•ผ ํ•œ๋‹ค . ๊ฐœ๋ฐœ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚œ ๊ธฐ์กด ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ์— ๋Œ€ํ•ด ๊ณ ๋ คํ•ด์•ผ ํ•œ๋‹ค . ๋ฐ˜๋ณต์ ์ธ ์†Œ์Šค ์ฝ”๋”ฉ์„ ์ตœ๋Œ€ํ•œ ์ค„์ด์ž . ๊ฐœ๋ฐœ์ž๊ฐ€ ์‚ฌ์šฉํ•˜๊ธฐ ํŽธ๋ฆฌํ•œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ JDBC, ํŠธ๋žœ์žญ์…˜ , ๋กœ๊ทธ , ํ™”๋ฉด์ปจํŠธ๋กค , ์บ์‰ฌ ๋“ฑ ์„ ํƒ : ์š”๊ตฌ์‚ฌํ•ญ์„ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์ตœ์„ ์˜ ์กฐํ•ฉ์€ ? ๊ฒ€ํ†  ๊ธฐ์ˆ  : Spring, Struts, Hibernate, iBatis, Velocity, FreeMarker, Tiles, SiteMesh ๊ฒฐ๋ก ์ ์œผ๋กœ Spring ํ•˜๋‚˜๋กœ ๋ชจ๋“  ๊ฒŒ ๊ฐ€๋Šฅํ–ˆ๋‹ค !!
  • 9.
    5. SPRING FRAMEWORKARCHITECTURE Spring Framework
  • 10.
    6. GSESHOP ARCHITECTUREApplying Spring Framework in GSeShop JDK 1.4.2 / Java Virtual Machine J2EE Services Spring Framework GSeShop Application Framework Domain Object Data Access Tier Component Business Logic Tier Component MVC Tier Component EHCache Open Source Library
  • 11.
    7. ARCHITECTURE FEATURESpring DAO ์„ ์–ธ์  ํŠธ๋žœ์žญ์…˜ ์‚ฌ์šฉ ResultSet ์— ๋Œ€ํ•œ ์‰ฌ์šด ๋งคํ•‘ ์ˆ˜๋‹จ ์ œ๊ณต ์ฟผ๋ฆฌ์™€ ์†Œ์Šค์˜ ๋ถ„๋ฆฌ Code Generator ์„œ๋น„์Šค์™€ ์—”ํ‹ฐํ‹ฐ์™€์˜ ๊ด€๊ณ„๋ฅผ ์ •ํ•ด์„œ ์ž๋ฐ”์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•จ ๊ด€๋ฆฌ XML ๋„ ํ•จ๊ป˜ ์ƒ์„ฑํ•ด์„œ ์ตœ๋Œ€ํ•œ ํŽธ์˜์„ฑ ์ œ๊ณต View Resolver ๊ฒฐ๊ตญ์€ Data ๋ณด์—ฌ์ฃผ๊ฒŒ ๋˜๋Š” ๊ฒƒ XML, RSS, FLASH, Json ๋“ฑ JSP ์ด์™ธ์˜ View ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ์ ์ธ ํ‹€์„ ์ œ๊ณต Open Source Library ์ ๊ทน ํ™œ์šฉ Jakarta Project, EHCACHE, XSTREAM, ROME, โ€ฆ
  • 12.
    8. PROS &CONS Pros ๊ฐœ๋ฐœ์ž์˜ ์ธ์‹๋ณ€ํ™” ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ / ์žฌ์‚ฌ์šฉ์„ฑ์˜ ์ฆ๊ฐ€ Lesson & Learn ์‹œ๊ฐ„ ๋‹จ์ถ• ๋ฐœ์ „ํ•˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ Pingpong Project CMI Project Test Framework ์˜ ์ž์—ฐ์Šค๋Ÿฐ ๋„์ž… Cons ๊ธฐ์กด๊ฐœ๋ฐœ์ž or ์ดˆ๋ณด๊ฐœ๋ฐœ์ž์— ์ ‘๊ทผํ•˜๊ธฐ๊ฐ€ ์‰ฝ์ง€ ์•Š์Œ ๊ด€๋ฆฌํ•  ํฌ์ธํŠธ๊ฐ€ ๋งŽ์•„์ง ํ”„๋ ˆ์ž„์›Œํฌ ๋ฒ„์ „ ๊ด€๋ฆฌ Configuration, Log, Local Development Environment ์ง€์†์ ์ธ ์œ ์ง€๋ณด์ˆ˜ ํ™œ๋™ ๋ฐ ์‹ ๊ทœ ๊ฐœ๋ฐœ ( ์‹ ๊ธฐ์ˆ  ํฌํ•จ ) Framework ๋งŒ๋Šฅ์ฃผ์˜ ๋Šช์— ๋น ์งˆ ์ˆ˜ ์žˆ์Œ
  • 13.
    9. CONCLUSION ๋‚จ๊ฒจ์ง„์ˆ™์ œ Legacy Code ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•  ๊ฒƒ์ธ๊ฐ€ ? Control ๊ณผ Refactoring UI Component ์— ๋Œ€ํ•œ ๊ณ ๋ฏผ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์•„ํ‚คํ…์ฒ˜์˜ ์ผ๋ถ€ UI ๋„ ์ด์ œ๋Š” ์ง„์ง€ํ•˜๊ฒŒ ๊ณ ๋ คํ•ด์•ผ๋  ๋Œ€์ƒ ์ƒˆ๋กœ์šด ํ”„๋ ˆ์ž„์›Œํฌ ๋ ˆ์ด์–ด ๋„์ž… ? ORM, Template, Security, Flow Control, Batch ๋“ฑ Spring Upgrade JDK ๋ฒ„์ „ ์—…๊ทธ๋ ˆ์ด๋“œ Spring ๋ฒ„์ „ ์—…๊ทธ๋ ˆ์ด๋“œ