๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์ž๊ฒฉ์ฆ๐Ÿชช/์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ ๐Ÿ“š

์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ ์‹ค๊ธฐ_ํ†ตํ•ฉ๊ตฌํ˜„4๐Ÿ“š

by @ENFJ 2022. 3. 26.

์˜ˆ์ƒ ๋ฌธ์ œ

 

1. ์—ฐ๊ณ„ ๋ชจ๋“ˆ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ์ค‘ ๊ธฐ์—…์—์„œ ์šด์˜๋˜๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ํ”Œ๋žซํผ ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐ„์˜ ์ •๋ณด ์ „๋‹ฌ, ์—ฐ๊ณ„, ํ†ตํ•ฉ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด ์ฃผ๋Š” ์†”๋ฃจ์…˜์œผ๋กœ ๋Œ€์ƒ ์‹œ์Šคํ…œ์— ๋น„ํ‘œ์ค€ ์–ด๋Œ‘ํ„ฐ(Adaptor)๋ฅผ ๋ฐฐํฌํ•˜์—ฌ ํ†ตํ•ฉํ•˜๋Š” ๋ฐฉ์‹์„ ๋ฌด์—‡์ด๋ผ๊ณ  ํ•˜๋Š”๊ฐ€?

=> EAI (enterprise application integration)

 

2. EAI ๊ตฌ์„ฑ์š”์†Œ์— ๋Œ€ํ•œ ์„ค๋ช…์œผ๋กœ ๊ด„ํ˜ธ ์•ˆ์— ๋“ค์–ด๊ฐˆ ๊ตฌ์„ฑ์š”์†Œ๋Š”?

 

( ์–ด๋Œ‘ํ„ฐ  ): ๋‹ค์–‘ํ•œ ํŒจํ‚ค์ง€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ ๊ธฐ์—…์—์„œ ์ž์ฒด์ ์œผ๋กœ ๊ฐœ๋ฐœํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์—ฐ๊ฒฐํ•˜๋Š” EAI์˜ ํ•ต์‹ฌ ์žฅ์น˜๋กœ ๋ฐ์ดํ„ฐ ์ž…์ถœ๋ ฅ ๋„๊ตฌ.

 

( ๋ธŒ๋กœ์ปค ): ์‹œ์Šคํ…œ ์ƒํ˜ธ ๊ฐ„ ๋ฐ์ดํ„ฐ๊ฐ€ ์ „์†ก๋  ๋•Œ, ๋ฐ์ดํ„ฐ ํฌ๋งท๊ณผ ์ฝ”๋“œ๋ฅผ ๋ณ€ํ™˜ํ•˜๋Š” ์†”๋ฃจ์…˜.

 

+ ๋ฉ”์‹œ์ง€ ํ : ๋น„๋™๊ธฐ ๋ฉ”์‹œ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋‹ค๋ฅธ ์‘์šฉํ”„๋กœ๊ทธ๋žจ ์‚ฌ์ด์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์†ก์ˆ˜์‹ ํ•˜๋Š” ๊ธฐ์ˆ 

+ ๋น„์ฆˆ๋‹ˆ์Šค ์›Œํฌ ํ”Œ๋กœ์šฐ : ๋ฏธ๋ฆฌ ์ •์˜๋œ ๊ธฐ์—…์˜ ๋น„์ฆˆ๋‹ˆ์Šค workflow์— ๋”ฐ๋ผ ์—…๋ฌด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ธฐ๋Šฅ.

 

3. ๋‹จ์ผํ•œ ์ ‘์ ์˜ ํ—ˆ๋ธŒ ์‹œ์Šคํ…œ์„ ํ†ตํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ์ค‘์•™ ์ง‘์ค‘์‹ ๋ฐฉ์‹์œผ๋กœ ํ—ˆ๋ธŒ ์žฅ์• ์‹œ ์ „์ฒด ์žฅ์•  ๋ฐœ์ƒ์„ ์ผ์œผํ‚ค๋Š” EAI ๊ตฌ์ถ• ์œ ํ˜•์„ ๋ฌด์—‡์ด๋ผ๊ณ  ํ•˜๋Š”๊ฐ€?

=> ํ—ˆ๋ธŒ์—” ์Šคํฌํฌ(hub&spoke)

 

4. EAI(enterprise application integration) ๊ตฌ์ถ• ์œ ํ˜• ์ค‘ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ(hybrid) ๋ฐฉ์‹์˜ ๊ฐœ๋…์— ๋Œ€ํ•ด์„œ ์•ฝ์ˆ ํ•˜์‹œ์˜ค.

: ๊ทธ๋ฃน๋‚ด๋Š” ํ—ˆ๋ธŒ์—” ์Šคํฌํฌ ๋ฐฉ์‹, ๊ทธ๋ฃน ๊ฐ„์€ ๋ฉ”์‹œ์ง€ ๋ฒ„์Šค๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค.

 

5. ์—ฐ๊ณ„ ๋ฐฉ์‹ ์ค‘ ESB(Enterprise Service Bus) ๊ฐœ๋…์€ ๋ฌด์—‡์ธ์ง€ ์„œ์ˆ ํ•˜์‹œ์˜ค.

ESB ๋Š” ๋ฏธ๋“ค์›จ์–ด๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ๊ฐ๊ฐ ํ”„๋กœํ† ์ฝœ์ด ํ˜ธํ™˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ†ตํ•ฉ์„ ๋Š์Šจํ•œ ๊ฒฐํ•ฉ ๋ฐฉ์‹์œผ๋กœ ์ง€์›ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. 

 

6. ์›น ์„œ๋น„์Šค ๋ฐฉ์‹์˜ ์—ฐ๊ณ„ ๋ชจ๋“ˆ ๊ตฌํ˜„์‹œ ์‚ฌ์šฉ๋˜๋Š” ์–ธ์–ด๋กœ ์›น ์„œ๋น„์Šค๋ช…, ์ œ๊ณต์œ„์น˜, ๋ฉ”์‹œ์ง€ ํฌ๋งท, ํ”„๋กœํ† ์ฝœ ์ •๋ณด๋“ฑ ์›น ์„œ๋น„์Šค์— ๋Œ€ํ•œ ์ƒ์„ธ ์ •๋ณด๊ฐ€ ๊ธฐ์ˆ ๋œ XML ํ˜•์‹์˜ ์–ธ์–ด๋ฅผ ๋ฌด์—‡์ด๋ผ๊ณ  ํ•˜๋Š”๊ฐ€?

WSDL ( soap ์™€ xml ์Šคํ‚ค๋งˆ์™€ ๊ฒฐํ•ฉํ•˜์—ฌ ์ธํ„ฐ๋„ท์ƒ์— ์›น์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค.)

 


์ข…ํ•ฉ ๋ฌธ์ œ

 

1.(ํ…Œ์ด๋ธ” ์ •์˜์„œ)๋Š” ๋…ผ๋ฆฌ ๋ฐ ๋ฌผ๋ฆฌ ๋ชจ๋ธ๋ง ๊ณผ์ •์—์„œ ์ž‘์„ฑํ•˜๋Š” ์„ค๊ณ„ ์‚ฐ์ถœ๋ฌผ๋กœ ํ…Œ์ด๋ธ”์„ ๊ตฌ์„ฑํ•˜๋Š” ์นผ๋Ÿผ๋“ค์˜ ํŠน์„ฑ, ์ธ๋ฑ์Šค, ์—…๋ฌด ๊ทœ์น™์„ ๋ฌธ์„œํ™”ํ•œ ๊ฒƒ์ด๋‹ค.

 

2. (์ฒดํฌ ๋ฆฌ์ŠคํŠธ)์€ ์‹œ์Šคํ…œ ์šด์˜ํ™˜๊ฒฝ, ์„ฑ๋Šฅ , ๋ณด์•ˆ, ๋ฐ์ดํ„ฐ ๋ฐœ์ƒ์ฃผ๊ธฐ ๋“ฑ์˜ ๊ธฐ์ค€์— ๋Œ€ํ•œ ์ ๊ฒ€์„ ํ†ตํ•œ ๋ถ„์„ ๊ธฐ๋ฒ•์ด๋‹ค.

(๋ธŒ๋ ˆ์ธ ์Šคํ† ๋ฐ)์€ ์†Œ์†๋œ ์ธ์›๋“ค์ด ์ž๋ฐœ์ ์œผ๋กœ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ œ์‹œ๋œ ์•„์ด๋””์–ด ๋ชฉ๋ก์„ ํ†ตํ•ด ๋ถ„์„ํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋‹ค.

 

3. ์ธํ„ฐํŽ˜์ด์Šค ๋ฐ์ดํ„ฐ ๊ณตํ†ต๋ถ€ : ์ธํ„ฐํŽ˜์ด์Šค ํ‘œ์ค€ ํ•ญ๋ชฉ์„ ํฌํ•จ

์ธํ„ฐํŽ˜์ด์Šค ๋ฐ์ดํ„ฐ ๊ฐœ๋ณ„๋ถ€: ์†ก์ˆ˜์‹  ์‹œ์Šคํ…œ์—์„œ ์—…๋ฌด ์ฒ˜๋ฆฌ์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ํฌํ•จ

์ธํ„ฐํŽ˜์ด์Šค ์ข…๋ฃŒ๋ถ€: ์ „์†ก ๋ฐ์ดํ„ฐ์˜ ๋์„ ํ‘œ์‹œํ•˜๋Š” ๋ฌธ์ž๋ฅผ ํฌํ•จํ•˜์—ฌ ์ข…๋ฃŒ ํ‘œ์‹œ

 

4. ์‹œ์Šคํ…œ ๊ฐ„ ์—ฐ๊ณ„๋ฅผ ์œ„ํ•ด์„œ ์‚ฌ์šฉ๋˜๋Š” API์˜ ๊ฐœ๋…์— ๋Œ€ํ•˜์—ฌ ์„œ์ˆ ํ•˜์‹œ์˜ค.

API๋Š” ์–ด๋– ํ•œ ์‘์šฉํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์„ ์˜๋ฏธํ•œ๋‹ค.

 

5. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ž๋ฃŒ๋ฅผ ์กฐํšŒํ•˜๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ์œ„ํ•ด์„œ ์ž๋ฐ”์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘์†ํ•  ์ˆ˜ ๋„ ์žˆ๋„๋ก ํ•˜๋Š” ์ž๋ฐ” API ์ธ JDBC์ด ๊ตฌ์„ฑ์š”์†Œ์— ๋Œ€ํ•œ ์„ค๋ช…์ด๋‹ค. ๊ด„ํ˜ธ(_)์•ˆ์— ๋“ค์–ด๊ฐˆ ์ •ํ™•ํ•œ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์“ฐ์‹œ์˜ค.

 

-( JDBC Driver Manager ) : ์ž๋ฐ” ์‘์šฉํ”„๋กœ๊ทธ๋žจ์ด ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์— ๋งž๋Š” ๋“œ๋ผ์ด๋ฒ„ ๊ฒ€์ƒ‰, ์—ฐ๊ฒฐ ๋ฐ ์ดˆ๊ธฐํ™” ์‹คํ–‰

 

-( JDBC Driver) : ๊ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ œ์ž‘ ์—…์ฒด(์˜ค๋ผํด,mysql๋“ฑ)์— ๋ณ„๋กœ ์ œ์ž‘ํ•ด์„œ ์ž๋ฐ”ํ”„๋กœ๊ทธ๋žจ์˜ ์š”์ฒญ์„ DBMS๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœํ† ์ฝœ๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ ์–ด๋Œ‘ํ„ฐ.

 

7. ๋„คํŠธ์›Œํฌ๋ฅผ ๊ฒฝ์œ ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค ๊ฐ„ ํ†ต์‹ ์˜ ์ ‘์†์ ์ด๊ณ , IP Address์™€ port ๋„˜๋ฒ„๊ฐ€ ํ•ฉ์ณ์ง„ ํ˜•ํƒœ๋กœ ๋„คํŠธ์›Œํฌ์ƒ์—์„œ ์„œ๋ฒ„ ํ”„๋กœ๊ทธ๋žจ๊ณผ ํด๋ผ์ด์–ธํŠธ ํ”„๋กœ๊ทธ๋žจ์ด ํ†ต์‹ ์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ๊ตํ™˜ ๊ธฐ์ˆ ์„ ๋ฌด์—‡์ด๋ผ ํ•˜๋Š”๊ฐ€?

: ์†Œ์ผ“(Socket)

 

8. ์•„๋ž˜๋Š” EAI ๊ตฌ์„ฑ์š”์†Œ์— ๋Œ€ํ•œ ์„ค๋ช…

- (๋ฉ”์‹œ์ง€ ํ): ๋น„๋™๊ธฐ ๋ฉ”์‹œ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋‹ค๋ฅธ ์‘์šฉํ”„๋กœ๊ทธ๋žจ ์‚ฌ์ด์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์†ก์ˆ˜์‹ ํ•˜๋Š” ๊ธฐ์ˆ .

 

9. ๊ฐ€์žฅ ๊ธฐ์ดˆ์ ์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ†ตํ•ฉ๋ฐฉ๋ฒ•์œผ๋กœ 1:1 ๋‹จ์ˆœ ํ†ตํ•ฉ๋ฐฉ๋ฒ•์„ ์ง€ํ–ฅํ•˜๊ณ , ์†”๋ฃจ์…˜์„ ๊ตฌ๋งคํ•˜์ง€ ์•Š๊ณ  ๊ฐœ๋ฐœ์ž ๊ฐ„์˜ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์„ ํ†ตํ•ด์„œ๋„ ํ†ตํ•ฉ์ด ๊ฐ€๋Šฅํ•œ EAI ๊ตฌ์ถ• ์œ ํ˜•์€?

-> point to point

 

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

-> ESB 

 

11. ๋‹ค์Œ ์ค‘ ์›น์„œ๋น„์Šค ๋ฐฉ์‹ ์—ฐ๊ณ„ ๊ธฐ์ˆ  ์ค‘ UDDI๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์„œ์ˆ ํ•˜์‹œ์˜ค.

: UDDI ๋Š” ์›น์„œ๋น„์Šค์— ๋Œ€ํ•œ ์ •๋ณด์ธ WSDL ์„ ๋“ฑ๋กํ•˜๊ณ  ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์œ„ํ•œ ์ €์žฅ์†Œ๋กœ ๊ณต๊ฐœ์ ์œผ๋กœ ์ ‘๊ทผ,๊ฒ€์ƒ‰์ด ๊ฐ€๋Šฅํ•œ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์ด์ž ํ‘œ์ค€์ด๋‹ค.

 

12. ๋‹ค์Œ ์—ฐ๊ณ„ ๋ฐฉ์‹์— ๋Œ€ํ•œ ์„ค๋ช….

- (์ง์ ‘ ์—ฐ๊ณ„) : ์—ฐ๊ณ„ ๋ฐ ํ†ตํ•ฉ ๊ตฌํ˜„์ด ๋‹จ์ˆœํ•˜๋ฉฐ ์šฉ์ดํ•˜๋ฉฐ ๊ฐœ๋ฐœ์†Œ์š” ๋น„์šฉ ๋ฐ ๊ธฐ๊ฐ„์ด ์งง๊ณ  ์ค‘๊ฐ„ ๋งค๊ฐœ์ฒด๊ฐ€ ์—†์œผ๋ฏ€๋กœ ๋ฐ์ดํ„ฐ ์—ฐ๊ณ„์ฒ˜๋ฆฌ ์„ฑ๋Šฅ์ด ๋Œ€์ฒด๋กœ ์ข‹๋‹ค. ํ•˜์ง€๋งŒ ์‹œ์Šคํ…œ ๊ฐ„์˜ ๊ฒฐํ•ฉ๋„๊ฐ€ ๋†’์•„ ์‹œ์Šคํ…œ ๋ณ€๊ฒฝ์— ๋ฏผ๊ฐํ•œ ๋‹จ์ ์ด ์žˆ๋‹ค.

 

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

 

13. REST(Representational state Transfer) ์ด๋ž€ ?

: HTTP URL๋ฅผ ํ†ตํ•ด ์ž์›์„ ๋ช…์‹œํ•˜๊ณ , HTTP ๋ฉ”์„œ๋“œ (POST,GET, PUT,DELETE) ๋ฅผ ํ†ตํ•ด ํ•ด๋‹น ์ž์›์— ๋Œ€ํ•œ ์ƒ์„ฑ,์กฐํšŒ,๊ฐฑ์‹ ,์‚ญ์ œ ๋“ฑ์˜ ๋ช…๋ น์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ„์‚ฐ ํ•˜์ดํผ๋ฏธ๋””์–ด ์‹œ์Šคํ…œ์„ ์œ„ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…์ฒ˜์ด๋‹ค.

 

15. ์š”๊ตฌ์‚ฌํ•ญ ๋ถ„์„๊ธฐ๋ฒ• ์ค‘ ๋ธํŒŒ์ด ๊ธฐ๋ฒ•์˜ ๊ฐœ๋…์— ๋Œ€ํ•ด ์„œ์ˆ ํ•˜์‹œ์˜ค.

: ์ „๋ฌธ๊ฐ€๋“ค์˜ ์˜๊ฒฌ์ˆ˜๋ฆฝ,์ค‘์žฌ ํƒ€ํ˜‘์˜ ๋ฐฉ์‹์œผ๋กœ ๋ฐ˜๋ณต์ ์ธ ํ”ผ๋“œ๋ฐฑ์„ ํ†ตํ•œ ํ•˜ํ–ฅ์‹ ์˜๊ฒฌ ๋„์ถœ๋ฐฉ๋ฒ•์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ธฐ๋ฒ•.

์ฆ‰, ์ „๋ฌธ๊ฐ€์˜ ๊ฒฝํ—˜์  ์ง€์‹์„ ํ†ตํ•œ ๋ถ„์„ ๊ธฐ๋ฒ•์ด๋‹ค.