์•ˆ๋…•ํ•˜์„ธ์š”? ์ด๋ฒˆ ๊ธ€์€ Bluemix๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•œ ํด๋ผ์šฐ๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋””์ž์ธํ•˜๊ณ  ๋งŒ๋“ค์–ด ๊ฐ€๋Š” ๊ณผ์ •์„ ๋‚ด์šฉ์œผ๋กœ ์—ฐ์žฌ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜์™€ ๊ฐ™์€ ์ˆœ์„œ๋กœ ์ง„ํ–‰๋˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ ์ฐธ๊ณ  ๋ถ€ํƒ ๋“œ๋ฆฝ๋‹ˆ๋‹ค.


  1. ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ ์ดํ•ด
  2. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์ƒ ๋ฐ ์š”๊ฑด ์ •์˜
  3. ์š”๊ฑด์— ๋Œ€ํ•œ Usecase ๋ฐ Wireframe ์ž‘์„ฑ
  4. ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ์•„ํ‚คํ…์ณ ์„ค๊ณ„
  5. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„ ํ™˜๊ฒฝ ์ค€๋น„
  6. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ์ปฌ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์ค€๋น„
  7. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœํ† ํƒ€์ž… ์ž‘์„ฑ Part1
  8. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœํ† ํƒ€์ž… ์ž‘์„ฑ Part2
  9. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœํ† ํƒ€์ž… ์ž‘์„ฑ Part3
  10. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ DevOps ํ™˜๊ฒฝ ๊ตฌ์„ฑ

๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ์•„ํ‚คํ…์ณ ์„ค๊ณ„

์ง€๋‚œ ๊ธ€์—์„œ๋Š” ์š”๊ฑด์— ๋Œ€ํ•œ Usecase์™€ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋‚˜๋งˆ Wireframe์„ ์ž‘์„ฑํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์„ฑํ•  ์„œ๋น„์Šค ์•„ํ‚คํ…์ณ ์„ค๊ณ„์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐ ํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์•„ํ‚คํ…์ณ๋ž€?

์•„ํ‚คํ…ํŠธ(Architect)๋ผ๋Š” ๋ง์€ ํ”ํžˆ ์„ค๊ณ„์ž, ๊ฑด์ถ•๊ฐ€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋‹จ์–ด์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๊ฑด์ถ•๊ฐ€๋“ค์€ ๊ฑด๋ฌผ์„ ์„ค๊ณ„ํ•˜๋ฉด์„œ ๊ทธ ๊ฑด๋ฌผ์˜ ์šฉ๋„์™€ ๊ฑด์ถ•์ฃผ์˜ ์š”๊ฑด์— ๋งž์ถฐ ๊ฑด๋ฌผ์˜ ๋ชจ์–‘์ด๋‚˜ ์žฅ์‹ ๊ทธ๋ฆฌ๊ณ  ๋‚ด๋ถ€ ๊ตฌ์กฐ๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ ๊ทธ๋ƒฅ ๋จธ๋ฆฟ์†์— ๋– ์˜ค๋ฅด๋Š”๋ฐ๋กœ ์•„๋ฌด๋ ‡๊ฒŒ๋‚˜ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๊ฑด๋ฌผ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ „์ฒด์ ์ธ ๋ถ„์œ„๊ธฐ๋‚˜ ํŠน์ง•์„ ๊ฒฐ์ •ํ•œ ํ›„ ๊ทธ์— ๋งž์ถฐ ์„ค๊ณ„๋ฅผ ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ์ด์™€ ๊ฐ™์€ ์–‘์‹์„ ์•„ํ‚คํ…์ณ(Architecture)๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋กœ๋งˆ๋„ค์Šคํฌ ์–‘์‹, ๊ณ ๋”• ์–‘์‹, ๋น„์ž”ํ‹ด ์–‘์‹ ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ์ด์™€ ๊ฐ™์ด ๊ฑด์ถ•์— ๋น„์œ ๋˜๊ณค ํ•ฉ๋‹ˆ๋‹ค. ์ „์ฒด์ ์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค๊ณ„๋ฅผ ๋‹ด๋‹นํ•˜๋Š” ์‚ฌ๋žŒ์„ ์•„ํ‚คํ…ํŠธ๋ผ๊ณ  ๋ถ€๋ฅด๊ณ , ์•„ํ‚คํ…ํŠธ๋Š” ์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์–ด๋–ค ํ˜•์‹์œผ๋กœ ์„ค๊ณ„ํ• ์ง€๋ฅผ ๊ณ ๋ฏผํ•˜๊ณ  ์ ์ ˆํ•œ ์•„ํ‚คํ…์ณ๋ฅผ ๊ฒฐ์ •ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ดˆ์ฐฝ๊ธฐ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ƒ๊ฒจ๋‚  ๋•Œ๋ฅผ ์ƒ๊ฐํ•ด ๋ด…์‹œ๋‹ค. ๊ทธ ๋•Œ๋Š” ๋‹จ์ง€ HTML๋กœ ์ž‘์„ฑ๋œ ๋ฌธ์„œ๋ฅผ ์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด ๋‹จ์ˆœํžˆ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ์ด ๋ชฉ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค. Aํƒœ๊ทธ์— ์—ฐ๊ฒฐ๋œ ๋ฌธ์„œ์˜ ๋งํฌ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ชจ์Šต์œผ๋กœ ๊ตฌ์„ฑํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ถ‚์ด ์ด๋ฆ„์„ ๋ถ™์ด์ž๋ฉด Hyper Linked Documents Service ์ •๋„๊ฐ€ ๋ ๋“ฏ ํ•ฉ๋‹ˆ๋‹ค.

์‹œ๊ฐ„์ด ์•ฝ๊ฐ„ ์ง€๋‚˜ ์‚ฌ๋žŒ๋“ค์€ ์„œ๋ฒ„์—์„œ ์ œ๊ณตํ•˜๋Š” ๋งŽ์€ ๋ฌธ์„œ ์ค‘ ์ž์‹ ์ด ์›ํ•˜๋Š” ๊ฒƒ๋งŒ์„ ์–ป๊ณ  ์‹ถ์–ดํ–ˆ๊ณ , ๊ทธ์— ๋”ฐ๋ผ ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์ด ๋‹จ์ˆœํžˆ ๋งํฌ ํด๋ฆญ์ด ์•„๋‹Œ ํผ(Form)์„ ๊ตฌ์„ฑํ•˜์—ฌ ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๊ทธ์— ๋งž๋Š” ๋‚ด์šฉ์„ ๋™์ ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค๊ฐ€ ๋‚˜ํƒ€๋‚˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ข€ ๋” ์‹œ๊ฐ„์ด ์ง€๋‚˜ ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค๊ฐ€ ๋งŽ์•„์ง€๊ณ  ์‚ฌ์šฉ์ž์˜ ์š”๊ฑด ๋˜ํ•œ ๋ณต์žกํ•ด์ง€๊ฒŒ ๋˜์–ด ์ด๋ฅผ ๊ตฌํ˜„ํ•˜๋Š”๋ฐ๋Š” ๋งŽ์€ ์ƒ๊ฐ๊ณผ ๋…ธ๋ ฅ์ด ํ•„์š”ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋‹น์—ฐํ•˜๊ฒŒ๋„ ์ด์™€ ๊ฐ™์€ ์ƒํ™ฉ์ด ๋ฐ˜๋ณต๋˜๋Š” ๊ฐ€์šด๋ฐ ๋“ฑ์žฅํ•œ ๊ฒƒ์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋ ˆ์ž„์›Œํฌ(Application Framework)์ด๋ฉฐ ์ด๋Ÿฌํ•œ ํ”„๋ ˆ์ž„์›ค ๊ธฐ๋ฐ˜์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋‹ค์–‘ํ•œ ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก ์œผ๋กœ ๋งŒ๋“ค์–ด์ง€๊ณ  ์šด์˜๋˜๊ณ , ์ผ๋ฐ˜ํ™”๋˜๋ฉด์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์•„ํ‚คํ…์ณ(Application Architeuture)์œผ๋กœ ์ž๋ฆฌ์žก๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ์•„ํ‚คํ…์ณ๋ž€?

์ด์ œ ์š”์ฆ˜๊ณผ ๊ฐ™์€ ํด๋ผ์šฐ๋“œ ์‹œ๋Œ€์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐ ํ•ด ๋ณผ ์ฐจ๋ก€์ž…๋‹ˆ๋‹ค.

๊ณผ๊ฑฐ ๋ฌผ๋ฆฌ ์„œ๋ฒ„ ํ™˜๊ฒฝ์—์„œ๋Š” ์„ค๊ณ„ ๋‹จ๊ณ„๋ถ€ํ„ฐ ์ „๋ฐ˜์ ์ธ ์„œ๋น„์Šค์— ๋Œ€ํ•œ ์ˆ˜์š” ์˜ˆ์ธก ๋ฐ ์ด์— ๋Œ€์‘๋˜๋Š” ์šด์˜ ํ™˜๊ฒฝ์„ ๊ตฌ์„ฑํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋น„์Šค ์‚ฌ์šฉ์ž๋‚˜ ์‚ฌ์šฉ ์š”์ฒญ ์ฆ๊ฐ€์— ๋”ฐ๋ฅธ ์„œ๋ฒ„ ์„ฑ๋Šฅ ๋ฐ ์šฉ๋Ÿ‰ ์ฆ๊ฐ€๊ฐ€ ์‰ฝ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ํ™•์žฅ์„ ํ•œ๋‹ค๊ณ  ํ•ด๋„ ๋น ๋ฅธ ์‹œ๊ฐ„์•ˆ์— ๋ฌผ๋ฆฌ ์„œ๋ฒ„๋ฅผ ๋Š˜์ด๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ฐฐํฌํ•˜๋Š” ๊ฒƒ์ด ์‚ฌ์‹ค์ƒ ๋ถˆ๊ฐ€๋Šฅ ํ–ˆ์Šต๋‹ˆ๋‹ค.

ํด๋ผ์šฐ๋“œ ์ธํ”„๋ผ๋ฅผ ์ ์šฉํ•˜๋ฉด ์ด๋Ÿฌํ•œ ๊ฐ€์ƒํ™” ๊ธฐ์ˆ ์„ ์ด์šฉํ•˜์—ฌ ๋น ๋ฅธ ๋ฐฐํฌ์™€ ๊ด€๋ฆฌ๋ฅผ ํ†ตํ•ด ์•ž์„œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด, ๊ธฐ์กด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํด๋ผ์šฐ๋“œ ์ธํ”„๋ผ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰ํ•˜๋„๋ก๋งŒ ํ•˜๋ฉด ๋ชจ๋“  ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜๋Š” ๊ฒƒ์ผ๊นŒ์š”? ์ ˆ๋ฐ˜์€ ๋งž์ง€๋งŒ ์ ˆ๋ฐ˜์€ ์•„๋‹ˆ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ํด๋ผ์šฐ๋“œ๊ฐ€ ๊ฐ€์ง„ ํ™•์žฅ์„ฑ์„ ์ด์šฉํ•˜๋ฉด ๋ฌผ๋ฆฌ ์„œ๋ฒ„ ํ™˜๊ฒฝ์—์„œ ๋ฐœ์ƒํ•˜๋˜ ๋ฌธ์ œ๋Š” ํ•ด๊ฒฐ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค๋งŒ, ๊ทธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ฌด์ž‘์ • ํ™•์žฅ ํ•  ๊ฒฝ์šฐ๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ๋ชจ๋…ธ๋ฆฌ์Šค ์•„ํ‚คํ…์ณ(Monolithic Architecture) ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํด๋ผ์šฐ๋“œ ์„œ๋ฒ„ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ด…์‹œ๋‹ค. ์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๊ฐ€์ง„ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ ์ค‘์— ํŠน์ • ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์š”์ฒญ์ด ์ง‘์ค‘๋˜์–ด ์‹œ์Šคํ…œ์— ๋ถ€ํ•˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ ๊ณ ์ •๋œ ๋ฆฌ์†Œ์Šค์˜ ๋ฌผ๋ฆฌ ์„œ๋ฒ„๋Š” ์ˆœ๊ฐ„์ ์ธ ๋Œ€์‘์ด ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ํด๋ผ์šฐ๋“œ ์ธํ”„๋ผ์˜ ๊ฒฝ์šฐ๋Š” ์Šค์ผ€์ผ๋ง ๊ธฐ๋Šฅ์„ ์ด์šฉํ•˜์—ฌ ์†์‰ฝ๊ฒŒ ๋Œ€์‘์ด ๊ฐ€๋Šฅํ•œ๋ฐ ๊ทธ ์Šค์ผ€์ผ๋ง์ด ์ ์šฉ๋˜๋Š” ๋‹จ์œ„๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ „์ฒด๋ผ๋Š” ์ ์ด ๋ฌธ์ œ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๋ถ€๋ถ„์€ ์ผ๋ถ€๋ถ„์ธ๋ฐ ๋Š˜์–ด๋‚˜๋Š” ๊ฒƒ์€ ์ „์ฒด๊ฐ€ ๋˜๋‹ค๋ณด๋‹ˆ ํšจ์œจ์ด ๋–จ์–ด์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ํŠน์ • ๊ธฐ๋Šฅ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜๋กœ ์ธํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰์ด ์•ˆ๋˜๋Š” ๊ฒฝ์šฐ๋Š” ์Šค์ผ€์ผ๋ง์œผ๋กœ๋„ ๋Œ€์‘์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋˜์–ด ๋ฒ„๋ฆฝ๋‹ˆ๋‹ค.

๊ธฐ์กด์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์•„ํ‚คํ…์ณ์—์„œ๋Š” ํด๋ผ์šฐ๋“œ๊ฐ€ ๊ฐ€์ง„ ์žฅ์ ์ด ํฌ์„๋˜๊ณ  ๊ทผ๋ณธ์ ์€ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์ง€ ์•Š๊ธฐ์— ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋„ ๋ณ€ํ™”๋œ ํ™˜๊ฒฝ์— ๋ฐœ๋งž์ถ”๋Š” ๊ฒƒ์€ ๋‹น์—ฐํ•œ ํ˜„์ƒ์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ์ ์œผ๋กœ ๋ฌผ๋ฆฌ์„œ๋ฒ„ ๋Œ€๋น„ ์ €๋ ดํ•œ ์‚ฌ์šฉ๋ฃŒ, ๋น ๋ฅธ ๋™์  ์ž์› ํ• ๋‹น, ์†์‰ฌ์šด ๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ ๋ฐ ์ž๋™ ์Šค์ผ€์ผ๋ง๊ณผ ๊ฐ™์€ ํด๋ผ์šฐ๋“œ ์ธํ”„๋ผ ํ™˜๊ฒฝ์˜ ํŠน์ง•๊ณผ ์žฅ์ ์„ ๋” ์ ๊ทน์ ์œผ๋กœ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ œ์•ˆ๋œ ์•„ํ‚คํ…์ณ๊ฐ€ ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ์•„ํ‚คํ…์ณ๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋งˆ์ดํฌ๋กœ ์•„ํ‚คํ…์ณ ๋ฐ ์ธํ”„๋ผ์— ๋Œ€ํ•œ ์กฐ๊ธˆ ๋” ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋ฅผ ์œ„ํ•œ ์ธํ”„๋ผ์ŠคํŠธ๋Ÿญ์ฒ˜๋ฅผ ์ฐธ๊ณ ํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ์•„ํ‚คํ…์ณ ์„ค๊ณ„

๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ์•„ํ‚คํ…์ณ๋ฅผ ์„ค๊ณ„ํ•ด์•ผ๊ฒ ๋‹ค๊ณ  ๋งˆ์Œ์„ ๋จน๊ณ  ๊ฐ€์žฅ ๋จผ์ € ๊ณ ๋ฏผํ•˜๋Š” ๋ถ€๋ถ„์€ ์„œ๋น„์Šค๋ฅผ ์–ด๋–ป๊ฒŒ ๋‚˜๋ˆ„์–ด์•ผ ํ•˜๋Š”์ง€์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ์„œ๋น„์Šค๋ฅผ ๊ตฌ์„ฑํ•ด์•ผ ์ž˜ ๋งŒ๋“ค์–ด์ง„ ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ์•„ํ‚คํ…์ณ๊ฐ€ ๋˜๋Š” ๊ฒƒ์ผ๊นŒ์š”?

๋‹ค์Œ์€ ์„œ๋น„์Šค๋ฅผ ๋ถ„๋ฆฌํ•˜๊ณ  ๊ตฌ์„ฑํ•˜๋Š” ๋‹จ๊ณ„๋ฅผ ์•Œ์•„ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

  • ๊ธฐ๋Šฅ์œผ๋กœ ๊ตฌ๋ถ„

๋ชจ๋“  ๊ฒฝ์šฐ์— ํ•ด๋‹นํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ ์ผ๋ฐ˜์ ์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ œ๊ณต ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ธฐ์ค€์œผ๋กœ ์„œ๋น„์Šค๋ฅผ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์š”๊ฑด์— ๋งž์ถฐ ๊ตฌ๋ถ„๋œ ๊ธฐ๋Šฅ์„ ์„œ๋น„์Šค๋กœ ๋‚˜๋ˆ„์–ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋…ธ๋ฆฌ์Šค์˜ ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ๊ธฐ๋Šฅ์ด ๊ตฌ์„ฑ๋˜๋ฏ€๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ œ๊ณต๊ฐ€๋Šฅํ•œ ๊ธฐ๋Šฅ์œผ๋กœ ๊ตฌ๋ถ„ํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฐ์ดํ„ฐ์˜ ๋ถ„์‚ฐ

๋ณดํ†ต์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์„ค๊ณ„ํ•˜๋Š” ๊ฒฝ์šฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ†ตํ•ด ์ฒ˜๋ฆฌํ•  ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์„ ํ•œ ์„ค๊ณ„๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ํ•„์š”ํ•œ ์—…๋ฌด์— ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ Database ํ…Œ์ด๋ธ”๋กœ ์„ค๊ณ„ํ•˜๊ณ  ์ด๋ฅผ ์„œ๋น„์Šค๋‚˜ ์—…๋ฌด ํ™”๋ฉด์œผ๋กœ ๋…ธ์ถœํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ž‘์„ฑ๋ฉ๋‹ˆ๋‹ค. RDB์™€ ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ์„œ๋กœ ๊ด€๊ณ„๋ฅผ ์ค‘์š”์‹œํ•œ ํ˜•ํƒœ์ด๋ฉฐ ๋”ฐ๋ผ์„œ ํ•˜๋‚˜์˜ ๋ฉ์–ด๋ฆฌ๋กœ ๊ตฌ์„ฑ ๋  ์ˆ˜ ๋ฐ–์— ์—†๋Š” ๊ตฌ์กฐ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ์•„ํ‚คํ…์ณ์˜ ๊ฒฝ์šฐ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋น„์Šค๋ณ„๋กœ ๋ถ„์‚ฐํ•˜๋Š” ํ˜•ํƒœ๋กœ ๋ฐ”๋ผ๋ณด์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํฐ ๋ฉ์–ด๋ฆฌ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์•„๋‹ˆ๋ผ ์ž‘์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์„œ๋กœ์˜ ๊ด€๊ณ„๋ฅผ ๋Š์Šจํ•œ ํ˜•ํƒœ๋กœ ์ •์˜ํ•˜๋Š” ๋ฐฉ์‹์„ ์„ ํƒ ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋‹ค๋งŒ, ๋ฌด์กฐ๊ฑด RDB๋ฅผ ์ง€์–‘ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์„œ๋น„์Šค์˜ ํŠน์„ฑ๊ณผ ๋ชฉ์ ์— ๋งž์ถฐ์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์‚ฐํ•˜๋Š” ํ˜•ํƒœ๊ฐ€ ๋˜์–ด์•ผ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

  • ๋…๋ฆฝ UI ์‚ฌ์šฉ ์—ฌ๋ถ€ ๊ฒฐ์ •

์•ž์„œ ๊ธฐ๋Šฅ์ด๋‚˜ ๋ฐ์ดํ„ฐ๋กœ ๊ตฌ๋ถ„๋œ ์„œ๋น„์Šค ์ค‘ ๋…๋ฆฝ์ ์ธ UI๊ฐ€ ํ•„์š”ํ•œ ๊ฒƒ๊ณผ ์•„๋‹Œ ๊ฒƒ์œผ๋กœ ๋‹ค์‹œ ๊ตฌ๋ถ„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์„œ๋น„์Šค๋„ ์ผ์ข…์˜ ๋‹จ์ˆœํ•œ ๊ธฐ๋Šฅ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋ฏ€๋กœ ์ด๋ฅผ ์œ„ํ•œ UI๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์„œ๋น„์Šค์˜ ๊ฒฐ๊ณผ๋งŒ ๊ณต์œ ํ•˜๊ฒŒ ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ• ์ง€ ์•„๋‹ˆ๋ฉด API์™€ ๊ฐ™์ด ๊ธฐ๋Šฅ ์ˆ˜ํ–‰์„ ์ค‘์‹ฌ์œผ๋กœ ํ• ์ง€๋ฅผ ๊ฒฐ์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ์„œ๋น„์Šค ๊ธฐ๋Šฅ ๋…ธ์ถœ ๋ฐ ์—ฐ๋™ ๋ฐฉ๋ฒ• ๊ตฌ์„ฑ

์ด ๋ถ€๋ถ„์ด ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ์•„ํ‚คํ…์ณ์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

์„œ๋น„์Šค ๊ธฐ๋Šฅ ๋…ธ์ถœ์€ ์ด ์„œ๋น„์Šค๊ฐ€ ์–ด๋–ค ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋ฉฐ ๊ทธ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ •์˜ํ•˜์—ฌ ๋…ธ์ถœํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ณดํ†ต์€ REST ๋ฐฉ์‹์˜ API๋ฅผ ๋…ธ์ถœํ•˜๋Š” ๋ฐฉ์‹์„ ์ด์šฉํ•˜๋ฉฐ, ๋น„๋™๊ธฐ ๋ฐฉ์‹์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ Message๋‚˜ Event Broker๋ฅผ ๊ตฌ์„ฑํ•˜์—ฌ ์„œ๋น„์Šค๋ณ„ ํ†ต์‹ ์„ ํ•˜๋Š” ํ˜•ํƒœ๋กœ ๊ตฌ์„ฑํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์•ž์„œ ์ด์•ผ๊ธฐํ•œ ๊ฒƒ๊ณผ ๊ฐ™์ด UI๋ฅผ ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค์˜ ๊ฒฝ์šฐ๋Š” Callback URL์„ ์ด์šฉํ•˜๋Š” ๋ฐฉ์‹์„ ์ด์šฉํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋น„์Šค ์„ค๊ณ„

์ด์ œ ์šฐ๋ฆฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ๋‹ค์‹œ ๋Œ์•„ ๋ด…๋‹ˆ๋‹ค. ๋ฐฉ๋ฌธ์ž ์ถœ์ž… ๊ด€๋ฆฌ ์š”๊ฑด์„ ์œ„ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์–ด๋–ค ํ˜•ํƒœ์˜ ์„œ๋น„์Šค ์•„ํ‚คํ…์ณ๋ฅผ ์„ค๊ณ„ํ•ด์•ผ ํ• ๊นŒ์š”?

์‚ฌ์‹ค ์š”๊ฑด์œผ๋กœ ์ œ์‹œํ•œ ๊ธฐ๋Šฅ์ด ํฌ์ง€ ์•Š๊ณ  ๋‹จ์ˆœํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ถ‚์ด ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ์•„ํ‚คํ…์ณ๊ฐ€ ์•„๋‹Œ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ ์ดํ•ด์—์„œ ์–ธ๊ธ‰ํ–ˆ๋˜ ํด๋ผ์šฐ๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ 12๊ฐ€์ง€ ์š”์†Œ๋ฅผ ์–ด๋Š ์ •๋„ ๋งŒ์กฑํ•˜๋Š” ํ˜•ํƒœ๋กœ ์„ค๊ณ„ํ•˜๋Š” ๊ฒƒ์ด ์ข€ ๋” ์ ํ•ฉํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๊ถ‚์ด ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค๋กœ ๊ตฌ์„ฑ์„ ํ•˜๋ ค๋Š” ๊ฒƒ์€, ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ์•„ํ‚คํ…์ณ๋กœ ์„ค๊ณ„ ๊ตฌํ˜„์‹œ ์–ด๋–ค ๋ถ€๋ถ„์„ ๋” ์ƒ๊ฐํ•ด์•ผ ํ•˜๋Š”์ง€ ๊ณ ๋ฏผ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์•„์ฃผ ์ž‘์€ ๋ชจ์Šต์—์„œ ์‹œ์ž‘ํ•˜์ง€๋งŒ ํ–ฅํ›„ ํ™•์žฅ๋„ ๊ฐ€๋Šฅํ•œ ํ˜•ํƒœ๋กœ ๋  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๊ฒƒ์— ์˜๋ฏธ๋ฅผ ๋‘๊ณ ์ž ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋ฐฉ๋ฌธ์ž ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์„œ๋น„์Šค๋กœ ๊ตฌ๋ถ„ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ๋ฐฉ๋ฌธ ์ •๋ณด ์„œ๋น„์Šค
  • ์ž„์‹œ ์ถœ์ž… ์นด๋“œ ์„œ๋น„์Šค
  • ์‚ฌ์šฉ์ž ์ •๋ณด ์„œ๋น„์Šค
  • ์‚ฌ์šฉ์ž ์ธ์ฆ ์„œ๋น„์Šค

๊ทธ๋ฆฌ๊ณ  UI๊ฐ€ ์•„๋‹Œ ์„œ๋น„์Šค๋กœ, API๋กœ ๋…ธ์ถœํ•˜๋Š” ํ˜•ํƒœ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. Backing ์„œ๋น„์Šค๊ฐ€ ๋…๋ฆฝ์ ์ธ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ธด ํ•˜์ง€๋งŒ ์—…๋ฌด ํ๋ฆ„์ƒ ๋ณ„๋„์˜ UI๋ฅผ ๊ฐ€์ง„ ํ˜•ํƒœ๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋ฏ€๋กœ ๋ถ„๋ฆฌํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ์„œ๋น„์Šค ์•„ํ‚คํ…์ณ๋ฅผ ๊ทธ๋ฆผ์œผ๋กœ ๊ทธ๋ ค๋ณธ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.

์„œ๋น„์Šค ์•„ํ‚คํ…์ณ

์„œ๋น„์Šค๋Š” REST ๋ฐฉ์‹์œผ๋กœ ๋…ธ์ถœํ•˜๊ณ  UI ์„œ๋น„์Šค์—์„œ AJAX ๋ฐฉ์‹์œผ๋กœ ํ˜ธ์ถœํ•˜๋Š” ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ๋‹ค๋งŒ, ์‚ฌ์šฉ์ž ์ธ์ฆ ์„œ๋น„์Šค์˜ ๊ฒฝ์šฐ๋Š” ๋ณด์•ˆ ๊ด€๊ณ„๋กœ UI ์„œ๋น„์Šค ๋‚ด๋ถ€์˜ ์ธ์ฆ ๋ชจ๋“ˆ์„ ํ†ตํ•ด ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

๊ฐ๊ฐ์˜ ์„œ๋น„์Šค๋Š” ์ž์‹ ์„ ํ†ตํ•ด ์ œ๊ณตํ•˜๋Š” ์ •๋ณด๋ฅผ ๋ณ„๋„๋กœ ๊ด€๋ฆฌํ•˜๋ฉฐ, ์ด๋ฅผ ์œ„ํ•ด ๋ฐฉ๋ฌธ์ •๋ณด, ์ถœ์ž…์นด๋“œ์ •๋ณด, ๋ณด์•ˆ๊ธฐ๋ก์ •๋ณด๋Š” NoSQL DB๋กœ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ง์›์ •๋ณด์˜ ๊ฒฝ์šฐ๋Š” ๋ณดํ†ต LDAP์ด๋‚˜ ๋ณ„๋„๋กœ ๊ตฌ์„ฑ๋œ ์‹œ์Šคํ…œ์ด ์žˆ๊ธฐ ๋งˆ๋ จ์ด๋ผ DB ๋Œ€์‹  ๊ตฌ์„ฑํ•˜๊ธฐ ๋ณด๋‹ค๋Š” Dummy ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•˜๋Š” ํ˜•ํƒœ๋กœ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์—ฌ๊ธฐ ์ธ์ฆ์ •๋ณด ์ €์žฅ์†Œ๋ผ๋Š” ์ค‘์š”ํ•œ ์ •๋ณด๊ฐ€ ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์„œ๋ฒ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์‚ฌ์šฉ์ž ์ธ์ฆ์ด ํ†ต๊ณผํ•˜๋ฉด ์ •๋ณด๋ฅผ session์— ์ €์žฅํ•˜์—ฌ ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ๊บผ๋‚ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์„ ์ด์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  session ์ •๋ณด ์—ฌ๋ถ€๋ฅผ ๋‘๊ณ  ์‚ฌ์šฉ์ž ์ธ์ฆ์ด ํ†ต๊ณผํ–ˆ๋Š”์ง€๋ฅผ ํŒ๋‹จํ•˜๊ณ  ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋…ธ๋ฆฌ์Šค์˜ ๊ฒฝ์šฐ ๊ณ ๋ฏผํ•  ๊ฒƒ๋„ ์—†๋Š” ๋‚ด์šฉ์ด์ง€๋งŒ, ๊ฐ๊ฐ ์„œ๋น„์Šค๋ฅผ ๋ถ„๋ฆฌํ•œ ํ˜•ํƒœ์ธ ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค์—์„œ๋Š” ์–ด๋–ป๊ฒŒ ๊ด€๋ฆฌํ•ด์•ผ ํ• ๊นŒ์š”?

๊ฒฐ๊ตญ ํŠน์ • ์„œ๋น„์Šค์˜ ์„ธ์…˜์ด ์•„๋‹Œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๊ณตํ†ต์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ณ„๋„ ์„œ๋น„์Šค๋ฅผ ์ด์šฉ ํ•  ์ˆ˜ ๋ฐ–์— ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋  ์ˆ˜ ์žˆ์œผ๋ฉด session ์ฒ˜๋Ÿผ ์•„๋ฌด ๊ณณ์—์„œ๋‚˜ ์†์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•˜๊ณ  ๋น ๋ฅด๊ฒŒ ์ ‘๊ทผ ํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ๋ฅผ ์„ ํƒํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์ธ์ฆ์ด ์„ฑ๊ณตํ•˜๋ฉด ์ด๋ฅผ ์ธ์ฆ ์ •๋ณด๋ฅผ ์ €์žฅ์†Œ์— ๋„ฃ์–ด ๋†“๊ณ  ์ด์— ๋Œ€์‘๋˜๋Š” Key๋ฅผ ์ƒ์„ฑํ•˜๊ฒŒ๋ฉ๋‹ˆ๋‹ค. ์ด key๋ฅผ ์ด์šฉํ•˜์—ฌ ๋‹ค๋ฅธ ์„œ๋น„์Šค์—์„œ๋„ ์ •์ƒ ์ธ์ฆ์ƒํƒœ ๋ฐ ์ธ์ฆ ์ •๋ณด๋ฅผ ์•Œ ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

์‹ค์ œ ๊ตฌํ˜„์— ๋Œ€ํ•œ ๋ถ€๋ถ„์€ ๋‹ค์Œ ๊ธ€์—์„œ ์ข€ ๋” ์ž์„ธํ•˜๊ฒŒ ๋‹ค๋ฃจ๋„๋ก ํ•˜๊ณ , ๋‹ค์Œ์€ ์„œ๋น„์Šค๋ณ„๋กœ ์ œ๊ณตํ•˜๋Š” API๋ฅผ ์ •์˜ํ•ด ๋ณผ ์ฐจ๋ก€์ž…๋‹ˆ๋‹ค.

์„œ๋น„์Šค API ์ž‘์„ฑ

์„œ๋น„์Šค API ์„ค๊ณ„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ชฉํ‘œ๋ฅผ ๋‘๊ณ  ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ์„œ๋น„์Šค๋Š” API๋ฅผ ๊ตฌ์„ฑํ•˜์—ฌ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค.
  • API๋Š” Spec ๋ฐ Version ๊ด€๋ฆฌ๋ฅผ ํ†ตํ•ด ๊ด€๋ฆฌํ•ด์•ผ ํ•œ๋‹ค.
  • API๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋ฐ˜๋“œ์‹œ ํ˜ธ์ถœ ์˜ค๋ฅ˜ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์˜ˆ์ƒํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ์— ๋Œ€ํ•ด ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์•ผ ํ•œ๋‹ค.
  • Data Access๋Š” ์„œ๋น„์Šค API๋ฅผ ํ†ตํ•ด์„œ๋งŒ ์ œ๊ณตํ•œ๋‹ค.

์œ„์™€ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ ๊ด€๋ฆฌ๋˜๋ ค๋ฉด ์ผ์ •ํ•œ ํ˜•ํƒœ๋กœ API๋ฅผ ํ‘œํ˜„ํ•ด์•ผ ํ•˜๋Š”๋ฐ swagger.io์—์„œ contributeํ•˜๋Š” OpenAPI Specification์„ ์ด์šฉํ•˜๋ฉด API Spec ์ •๋ณด๋ฅผ JSON ์ด๋‚˜ YAML ํŽธ์ง‘๊ธฐ์ธ Swagger Editor์˜ ๊ฒฝ์šฐ YAML๋กœ ํŽธ์ง‘ํ•˜๋„๋ก ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. Open API Specification์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ swagger.io ํ™ˆํŽ˜์ด์ง€๋ฅผ ์ฐธ๊ณ  ํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

Swagger Editor๋กœ ๊ฐ ์„œ๋น„์Šค๋ณ„๋กœ ์ž‘์„ฑํ•œ API๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์‚ฌ์šฉ์ž ์„œ๋น„์Šค
    SMV API

  • ์ธ์ฆ ์„œ๋น„์Šค
    SMV API

  • ๋ฐฉ๋ฌธ ์ •๋ณด ์„œ๋น„์Šค
    SMV API

  • ์ž„์‹œ ์ถœ์ž…์ฆ ์„œ๋น„์Šค
    SMV API

์ž‘์„ฑ๋œ API Spec ํŒŒ์ผ์€ https://github.com/mc500/smv/tree/master/api์—์„œ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ง€๊ธˆ๊นŒ์ง€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•œ ์„œ๋น„์Šค ์•„ํ‚คํ…์ณ์™€ API์— ๋Œ€ํ•ด ์„ค๊ณ„ํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ๊ธ€์—์„œ๋Š” ์‹ค์ œ ์„œ๋น„์Šค๋ฅผ ํด๋ผ์šฐ๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ๊ตฌ์„ฑํ•˜๋Š” ์„œ๋ฒ„ ํ™˜๊ฒฝ์„ IBM PaaS ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ์ธ ๋ธ”๋ฃจ๋ฏน์Šค(Bluemix)๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ตฌ์„ฑํ•˜๋Š” ๋‚ด์šฉ์„ ๋‹ค๋ฃจ์–ด ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.


  1. ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ ์ดํ•ด
  2. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์ƒ ๋ฐ ์š”๊ฑด ์ •์˜
  3. ์š”๊ฑด์— ๋Œ€ํ•œ Usecase ๋ฐ Wireframe ์ž‘์„ฑ
  4. ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ์•„ํ‚คํ…์ณ ์„ค๊ณ„
  5. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„ ํ™˜๊ฒฝ ์ค€๋น„
  6. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ์ปฌ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์ค€๋น„
  7. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœํ† ํƒ€์ž… ์ž‘์„ฑ Part1
  8. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœํ† ํƒ€์ž… ์ž‘์„ฑ Part2
  9. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœํ† ํƒ€์ž… ์ž‘์„ฑ Part3
  10. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ DevOps ํ™˜๊ฒฝ ๊ตฌ์„ฑ

์ฐธ๊ณ 

ํ† ๋ก  ์ฐธ๊ฐ€

์ด๋ฉ”์ผ์€ ๊ณต๊ฐœ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•„์ˆ˜ ์ž…๋ ฅ์ฐฝ์€ * ๋กœ ํ‘œ์‹œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.