๐Ÿ“š[Web] ์›น ์„œ๋น„์Šค ๊ตฌ์กฐ(Web Service Architecture)

ํ…ํ…ยท2025๋…„ 4์›” 24์ผ

์›น ์„œ๋น„์Šค ๊ตฌ์กฐ(Web Service Architecture)


์›น ์„œ๋น„์Šค(Web Service)๋ž€?

์›น์„œ๋น„์Šค(Web Service)๋Š” ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ์„œ๋กœ ๋‹ค๋ฅธ ์‹œ์Šคํ…œ(์ปดํ“จํ„ฐ) ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ์œ„ํ•ด ํ‘œ์ค€ํ™”๋œ ์†Œํ”„ํŠธ์›จ์–ด ํ†ต์‹  ์ฒด๊ณ„์ด๋‹ค.
์›น ์„œ๋น„์Šค๊ฐ€ ์ œ๋Œ€๋กœ ๋™์ž‘ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ช‡ ๊ฐ€์ง€ ํ‘œ์ค€ ๊ธฐ์ˆ ๋“ค์ด ํ•„์š”ํ•˜๋ฉฐ ๊ทธ ์ค‘ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์„ธ ๊ฐ€์ง€ ์š”์†Œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  1. SOAP(Simple Object Access Protocol)
    ์›น ์„œ๋น„์Šค์—์„œ ๋ฉ”์‹œ์ง€๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœํ† ์ฝœ๋กœ XML ํ˜•์‹์˜ ๋ฉ”์‹œ์ง€๋ฅผ ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ๊ตํ™˜ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.
  2. WSDL(Web Services Description Language)
    ๋„คํŠธ์›Œํฌ ์ƒ์— ์กด์žฌํ•˜๋Š” ์›๊ฒฉ ์„œ๋น„์Šค๋ฅผ ์„ค๋ช…ํ•˜๋Š” XML ํ˜•์‹์˜ ๋ฌธ์„œ์ด๋‹ค.
    ์„œ๋น„์Šค์˜ ์ž‘๋™ ๋ฐฉ์‹๊ณผ ์ข…์ (endpoint) ์ •๋ณด๋ฅผ ํฌํ•จํ•œ๋‹ค. ์„œ๋น„์Šค์— ๋Œ€ํ•œ ์ƒ์„ธํ•œ ์ •๋ณด ์ œ๊ณต๊ณผ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋น„์Šค๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ชจ๋“  ์ •๋ณด๋ฅผ ์ •์˜ํ•œ๋‹ค.
  3. UDDI(Universal Description, Discovery, and Integration)
    ๊ธฐ์—…์ด๋‚˜ ๋‹จ์ฒด, ๊ฐœ์ธ์ด ์ž์‹ ์˜ ์„œ๋น„์Šค ์ •๋ณด๋ฅผ ๋“ฑ๋กํ•˜๊ธฐ ์œ„ํ•œ XML ๊ธฐ๋ฐ˜์˜ ๋“ฑ๋ก์ฒ˜์ด๋‹ค. ์ด ์‹œ์Šคํ…œ์„ ํ†ตํ•ด ๊ธฐ์—…์€ ์ž์‹ ์˜ ์›น ์„œ๋น„์Šค๋ฅผ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋“ฑ๋กํ•˜๊ณ  ๋‹ค๋ฅธ ๊ธฐ์—…์€ ์ด๋ฅผ ๊ฒ€์ƒ‰ํ•˜์—ฌ ํ•„์š”ํ•œ ์„œ๋น„์Šค๋ฅผ ์ฐพ์•„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์ •์  ํŽ˜์ด์ง€ ์™€ ๋™์  ํŽ˜์ด์ง€

์ •์  ํŽ˜์ด์ง€(Static Web Page)

  • ์›น ์„œ๋ฒ„์— ๋ฏธ๋ฆฌ ์ €์žฅ๋œ HTML ํŒŒ์ผ์„ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๊ทธ๋Œ€๋กœ ์ „์†กํ•˜๋Š” ์›น ํŽ˜์ด์ง€
  • ์„œ๋ฒ„์˜ ํŒŒ์ผ์ด ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์œผ๋ฉด ํ•ญ์ƒ ๊ฐ™์€ ๋‚ด์šฉ์˜ ํŽ˜์ด์ง€๊ฐ€ ์ „๋‹ฌ๋œ๋‹ค.
  • ๋ชจ๋“  ์‚ฌ์šฉ์ž์—๊ฒŒ ๋™์ผํ•œ ๊ฒฐ๊ณผ๊ฐ€ ์‘๋‹ต๋œ๋‹ค.

๋™์  ํŽ˜์ด์ง€(Dynamic Web Page)

  • ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์— ๋”ฐ๋ผ ์„œ๋ฒ„์—์„œ ์‹ค์‹œ๊ฐ„์œผ๋กœ HTML์„ ์ƒ์„ฑํ•ด ์ „๋‹ฌํ•˜๋Š” ์›น ํŽ˜์ด์ง€
  • ์„œ๋ฒ„๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋‚˜ ๋กœ์ง์„ ์ฒ˜๋ฆฌํ•œ ํ›„ ํŽ˜์ด์ง€๋ฅผ ์ƒ์„ฑํ•˜๋ฏ€๋กœ ์ •์  ํŽ˜์ด์ง€๋ณด๋‹ค ์ƒ๋Œ€์ ์œผ๋กœ ๋А๋ฆด ์ˆ˜ ์žˆ๋‹ค

    ์˜ˆ: ์‡ผํ•‘๋ชฐ์˜ ์žฅ๋ฐ”๊ตฌ๋‹ˆ, ๊ฐœ์ธํ™”๋œ ์ถ”์ฒœ ์ƒํ’ˆ ๋“ฑ ์‚ฌ์šฉ์ž์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ํ™”๋ฉด ์ œ๊ณต


Web Server

Web Server๋Š” ํด๋ผ์ด์–ธํŠธ(๋ธŒ๋ผ์šฐ์ €)๋กœ๋ถ€ํ„ฐ HTTP ์š”์ฒญ์„ ๋ฐ›์•„
์ •์ ์ธ ์ž์›(HTML, CSS, JS ๋“ฑ)์„ ์ง์ ‘ ์ฒ˜๋ฆฌํ•˜๊ฑฐ๋‚˜ ๋™์ ์ธ ์š”์ฒญ์„ WAS์— ์ „๋‹ฌํ•œ ํ›„
๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์‹œ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์‘๋‹ตํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

๋™์ž‘ ํ๋ฆ„

  1. ํด๋ผ์ด์–ธํŠธ(๋ธŒ๋ผ์šฐ์ €)๊ฐ€ HTTP ์š”์ฒญ์„ ๋ณด๋‚ธ๋‹ค.
  2. Web Server๋Š” ์š”์ฒญ์„ ๋ถ„์„ํ•œ๋‹ค.
    • ์ •์  ์š”์ฒญ์ด๋ฉด ์ง์ ‘ ํŒŒ์ผ ์‘๋‹ต
    • ๋™์  ์š”์ฒญ์ด๋ฉด WAS์— ์ „๋‹ฌ
  3. WAS๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
  4. Web Server๋Š” ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์‘๋‹ต(response)ํ•œ๋‹ค.

WAS(Web Application Server)

WAS(Web Application Server)๋Š” ์‚ฌ์šฉ์ž ์š”์ฒญ์— ๋”ฐ๋ผ Servlet์ด๋‚˜ JSP๋กœ ์ž‘์„ฑ๋œ
์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๊ณ  ๊ทธ์— ๋งž๋Š” ๋™์  ์ฝ˜ํ…์ธ ๋ฅผ ๋งŒ๋“ค์–ด ์‘๋‹ตํ•˜๋Š” ์„œ๋ฒ„ ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค.
WAS์˜ ๋Œ€ํ‘œ์ ์ธ ์˜ˆ๋กœ๋Š” Apache์—์„œ ๊ฐœ๋ฐœํ•œ Tomcat๊ณผ Eclipse์—์„œ ๊ด€๋ฆฌํ•˜๋Š” Jetty๊ฐ€ ์žˆ๋‹ค.

์›น ์ปจํ…Œ์ด๋„ˆ(Web Container)

WAS์˜ ๊ตฌ์„ฑ ์š”์†Œ ์ค‘ ํ•˜๋‚˜๋กœ ์‹ค์ œ๋กœ Servlet๊ณผ JSP๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ถ€๋ถ„์„ ๋‹ด๋‹นํ•œ๋‹ค.
์›น ์ปจํ…Œ์ด๋„ˆ๋Š” ์š”์ฒญ์„ ๋ฐ›์•„ ํ•ด๋‹นํ•˜๋Š” ์„œ๋ธ”๋ฆฟ(Servlet)์„ ํ˜ธ์ถœํ•˜์—ฌ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์‹คํ–‰ํ•˜๊ณ 
์ฒ˜๋ฆฌ๋œ ๊ฒฐ๊ณผ๋ฅผ ๋™์  ์›น ํŽ˜์ด์ง€๋กœ ์ƒ์„ฑํ•˜์—ฌ ์‘๋‹ตํ•œ๋‹ค.

์›น ์ปจํ…Œ์ด๋„ˆ์˜ ์ฃผ์š” ๊ธฐ๋Šฅ:
  • ์„œ๋ธ”๋ฆฟ ๋ฐ JSP ์ฒ˜๋ฆฌ
  • HTTP ์š”์ฒญ/์‘๋‹ต ์ฒ˜๋ฆฌ
  • ์„œ๋ธ”๋ฆฟ ์ƒ๋ช…์ฃผ๊ธฐ ๊ด€๋ฆฌ (์ดˆ๊ธฐํ™”, ์‹คํ–‰, ์ข…๋ฃŒ ๋“ฑ)
  • ์„ธ์…˜ ๊ด€๋ฆฌ

์›น ์„œ๋ฒ„์™€ WAS ์—ญํ•  ๊ตฌ๋ถ„์˜ ํ•„์š”์„ฑ

์›น ์„œ๋น„์Šค์—์„œ ์›น ์„œ๋ฒ„์™€ WAS๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์—ญํ• ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
์›น ์„œ๋ฒ„๋Š” ์ฃผ๋กœ ์ •์ ์ธ ๋ถ€๋ถ„์„ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•˜๊ณ  ๋™์ ์ธ ์š”์ฒญ์€ WAS ๋กœ ๋„˜๊ฒจ ์ฒ˜๋ฆฌํ•œ๋‹ค.
์ด๋ ‡๊ฒŒ ๋ถ„๋ฆฌ๋œ ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„ ๋ถ€ํ•˜๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๋ถ„๋‹ดํ•˜์—ฌ ์ตœ์ ํ™”์— ๊ธฐ์—ฌํ•œ๋‹ค.


์ถ”๊ฐ€ ํ•™์Šต ํ‚ค์›Œ๋“œ

  • HTTP ํ”„๋กœํ† ์ฝœ: HTTP ์š”์ฒญ๊ณผ ์‘๋‹ต ๊ตฌ์กฐ์— ๋Œ€ํ•œ ์ดํ•ด
  • Servlet, Servlet Container
  • Tomcat: Spring Boot์— ๋‚ด์žฅ๋˜์–ด ์žˆ๋Š” WAS๋กœ ์—ญํ• ๊ณผ ํ™œ์šฉ๋ฒ• ํ•™์Šต ํ•„์š”

References

profile
์ฐจ๊ทผ์ฐจ๊ทผ

0๊ฐœ์˜ ๋Œ“๊ธ€