๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Web

Java EE์™€ Servlet/JSP์˜ ๊ด€๊ณ„์™€ WAS ๊ฐœ๋… ์ •๋ฆฌ

by Leica 2020. 2. 3.
๋ฐ˜์‘ํ˜•

Java EE์™€ Servlet/JSP์˜ ๊ด€๊ณ„์™€ WAS ๊ฐœ๋… ์ •๋ฆฌ

Java EE์™€ Servelet/JSP

Java EE๋Š” Java Enterprise Edition์„ ์˜๋ฏธํ•˜๋ฉฐ Servlet, JSP(Java Server Page)๋Š” Java EE์— ํฌํ•จ๋œ ํ•˜์œ„ ๊ธฐ์ˆ ๋“ค์ด๋‹ค. ์ด ์™ธ์—๋„ Java EE์—๋Š” ๊ธฐ์—…์šฉ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ํด๋ผ์šฐ๋“œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ณตํ•ฉ์ ์ธ ๊ธฐ์ˆ ๋“ค์ด ์ •์˜๋˜๊ณ  ๋ชจ์•„์ ธ์žˆ๋‹ค. www.oracle.com์—์„œ Java EE ๋ฒ„์ „ ๋ณ„ ๊ธฐ์ˆ  ์‚ฌ์–‘ ๋ฒ„์ „์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

Java EE 7 Technologies

์œ„ ๊ทธ๋ฆผ์€ Oracle์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” Java EE 7์˜ ๊ธฐ์ˆ  ์‚ฌ์–‘ ๋ฒ„์ „์ด๋‹ค. Java EE 7์˜ Servlet ๋ฒ„์ „์€ 3.1, JSP ๋ฒ„์ „์€ 2.3์ด๋‹ค.

 

Java EE๊ฐ€ ์—…๊ทธ๋ ˆ์ด๋“œ ๋  ๋•Œ ๋งˆ๋‹ค ํ•˜์œ„ ๊ธฐ์ˆ ๋“ค๋„ ํ•จ๊ป˜ ์—…๊ทธ๋ ˆ์ด๋“œ๋˜๋ฉฐ ๋ฒ„์ „์ด ์˜ฌ๋ผ๊ฐ„๋‹ค.

 

Java EE ๊ธฐ์ˆ  ์ค‘์—์„œ ์„œ๋ธ”๋ฆฟ, JSP๋Š” ์›น์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ํด๋ผ์ด์–ธํŠธ/์„œ๋ฒ„ ๊ธฐ์ˆ ์„ ์ •์˜ํ•œ๋‹ค. ์ž๋ฐ”๋กœ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•œ๋‹ค๋Š” ๊ฒƒ์€ ์„œ๋ธ”๋ฆฟ, JSP ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

 

์ฐธ๊ณ  - Java EE ๋ฒ„์ „ ๋ณ„ Technologies ๋งํฌ

Java EE 8 - https://www.oracle.com/java/technologies/java-ee-glance.html

Java EE 7 - https://www.oracle.com/technetwork/java/javaee/tech/index-jsp-142185.html

Java EE 6 - https://www.oracle.com/technetwork/java/javaee/tech/javaee6technologies-1955512.html

Java EE 5 - https://www.oracle.com/technetwork/java/javaee/tech/javaee5-jsp-135162.html

 

Servlet

์„œ๋ธ”๋ฆฟ์€ ์ž๋ฐ” ๊ธฐ๋ฐ˜์˜ CGI ํ”„๋กœ๊ทธ๋žจ์ด๋ฉฐ CGI ๊ทœ์น™์— ๋”ฐ๋ผ ์›น ์„œ๋ฒ„์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š”๋‹ค.

๋จผ์ € ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์‹คํ–‰ ๊ณผ์ •์„ ์‚ดํŽด๋ณด์ž. (1) ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์›น ์„œ๋ฒ„์—๊ฒŒ ์š”์ฒญ์„ ์ „์†กํ•œ๋‹ค. (2) ์›น ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญํ•œ ํ”„๋กœ๊ทธ๋žจ์„ ์ฐพ์•„์„œ ์‹คํ–‰ํ•œ๋‹ค. (3) ํ•ด๋‹น ํ”„๋กœ๊ทธ๋žจ์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ ํ›„ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์›น ์„œ๋ฒ„์—๊ฒŒ ๋Œ๋ ค์ค€๋‹ค. (4) ์›น ์„œ๋ฒ„๋Š” ๊ทธ ๊ฒฐ๊ณผ๋ฅผ HTTP ํ˜•์‹์— ๋งž์ถฐ ์›น ๋ธŒ๋ผ์šฐ์ €์—๊ฒŒ ๋ณด๋‚ธ๋‹ค.

 

์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์‹คํ–‰ ๊ณผ์ •

์ด๋•Œ ์›น ์„œ๋ฒ„์™€ ํ”„๋กœ๊ทธ๋žจ ์‚ฌ์ด์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ๊ทœ์น™์„ CGI(Common Gateway Interface)๋ผ๊ณ  ํ•œ๋‹ค. ์›น ์„œ๋ฒ„์— ์˜ํ•ด ์‹คํ–‰๋˜๋ฉฐ CGI ๊ทœ์น™์— ๋”ฐ๋ผ ์›น ์„œ๋ฒ„์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋„๋ก ์ž‘์„ฑ๋œ ํ”„๋กœ๊ทธ๋žจ์„ CGI ํ”„๋กœ๊ทธ๋žจ์ด๋ผ ํ•œ๋‹ค. ์„œ๋ธ”๋ฆฟ์€ ์ž๋ฐ” ๊ธฐ๋ฐ˜์˜ CGI ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค.

 

์ž๋ฐ” ์„œ๋ธ”๋ฆฟ์ด ๋‹ค๋ฅธ CGI ํ”„๋กœ๊ทธ๋žจ๊ณผ ๋‹ค๋ฅธ ์ ์€ ์›น ์„œ๋ฒ„์™€ ์ง์ ‘ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์ง€ ์•Š์œผ๋ฉฐ ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ์— ์˜ํ•ด ๊ด€๋ฆฌ๋œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

 

์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ

์„œ๋ธ”๋ฆฟ์˜ ์ƒ์„ฑ, ์‹คํ–‰, ์†Œ๋ฉธ์„ ๊ด€๋ฆฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ '์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ(Servlet Container)๋ผ ํ•œ๋‹ค. ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์„œ๋ธ”๋ฆฟ ๋Œ€์‹  ์›น ์„œ๋ฒ„์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š”๋‹ค.

 

 

WAS์™€ ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ

- WAS๋ž€ ์›น ๊ธฐ๋ฐ˜ ์„œ๋ฒ„ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ƒ์„ฑ, ์‹คํ–‰, ์†Œ๋ฉธ์„ ๊ด€๋ฆฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค.
- Java EE ๊ธฐ์ˆ  ์‚ฌ์–‘์„ ์ค€์ˆ˜ํ•ด์„œ ๋งŒ๋“  ์„œ๋ฒ„์ด๋‹ค.
- Java EE ๊ตฌํ˜„์ฒด๋ผ๊ณ ๋„ ํ•œ๋‹ค.

์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์„œ๋ธ”๋ฆฟ์˜ ์ƒ์„ฑ, ์‹คํ–‰, ์†Œ๋ฉธ์„ ๊ด€๋ฆฌํ•˜๋“ฏ์ด, ํด๋ผ์ด์–ธํŠธ/์„œ๋ฒ„ ์‹œ์Šคํ…œ ๊ตฌ์กฐ์—์„œ ์„œ๋ฒ„ ์ชฝ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ƒ์„ฑ, ์‹คํ–‰, ์†Œ๋ฉธ์„ ๊ด€๋ฆฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ '์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„(Application Server)'๋ผ๊ณ  ํ•œ๋‹ค. ๊ทธ ์ค‘ ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ์™€ ๊ฐ™์ด ์›น ๊ธฐ์ˆ ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘๋˜๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„๋ฅผ 'WAS(Web Application Server)'๋ผ ํ•œ๋‹ค.

 

ํŠนํžˆ Java์—์„œ๋Š” WAS๋Š” Java EE ๊ธฐ์ˆ  ์‚ฌ์–‘์„ ์ค€์ˆ˜ํ•ด์„œ ๋งŒ๋“  ์„œ๋ฒ„๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค. ๋‹ค๋ฅธ ๋ง๋กœ 'Java EE ๊ตฌํ˜„์ฒด(Implementation)'๋ผ๊ณ ๋„ ํ•œ๋‹ค.

 

์ƒ์šฉ WAS๋กœ๋Š” ํ‹ฐ๋งฅ์Šค์†Œํ”„ํŠธ์˜ ์ œ์šฐ์Šค(JEUS), ์˜ค๋ผํด์˜ ์›น๋กœ์ง(WebLogic), IBM์˜ ์›น์Šคํ”ผ์–ด(WebSphere), ๋ ˆ๋“œํ–‡์˜ JBoss Enterprise ๋“ฑ์ด ์žˆ๋‹ค. ๋ฌด๋ฃŒ ๋˜๋Š” ์˜คํ”ˆ์†Œ์Šค๋กœ๋Š” ๋ ˆ๋“œํ–‡์˜ JBoss AS, ์˜ค๋ผํด์˜ GlassFish, ์•„ํŒŒ์น˜ ์žฌ๋‹จ์˜ Geronimo ๋“ฑ์ด ์žˆ๋‹ค.

 

Java EE ๊ธฐ์ˆ  ์ค‘ ์„œ๋ธ”๋ฆฟ, JSP ๋“ฑ ์›น ๊ด€๋ จ ๋ถ€๋ถ„๋งŒ ๊ตฌํ˜„ํ•œ ์„œ๋ฒ„๊ฐ€ '์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ'์ด๋‹ค. ์•„ํŒŒ์น˜ ์žฌ๋‹จ์˜ Tomcat, ์˜คํ”ˆ ํ”„๋กœ์ ํŠธ Jetty ๋“ฑ์ด ์žˆ๋‹ค.

 

Java EE Servlet/JSP Tomcat JBoss WebLogic JEUS
Java EE 8 4.0 / 2.3 9.0.x      
Java EE 6 3.0 / 2.2 7.0.x 7.x(all)
6.x(almost)
12.x 7.x
Java EE 5 2.5 / 2.1 6.0.x 5.x 10.x 6.x

ํ‘œ - Java EE, ๊ตฌํ˜„์ฒด, Servlet/JSP ๋ฒ„์ „

 

์„œ๋ธ”๋ฆฟ, JSP ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ• ๋•Œ๋Š” ์‚ฌ์šฉํ•˜๋Š” WAS ํ˜น์€ ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์–ด๋–ค ๋ฒ„์ „์˜ Java EE ๊ตฌํ˜„์ฒด์ธ์ง€ ํ™•์ธํ•˜๊ณ  ๊ทธ์— ๋งž๋Š” ์„œ๋ธ”๋ฆฟ, JSP ๋ฒ„์ „์˜ API๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Tomcat 7.0์€ Java EE 6์„ ๊ตฌํ˜„ํ–ˆ์œผ๋ฏ€๋กœ Servlet์€ 3.0, JSP๋Š” 2.2 ๋ฒ„์ „์˜ API๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ฐœ๋ฐœํ•œ๋‹ค.

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€