Component

Spring Integration ์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ชจ๋ธ์„ ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ ๋„๋ฉ”์ธ์œผ๋กœ ํ™•์žฅํ•˜์—ฌ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ํ†ตํ•ฉ ํŒจํ„ด์„ ๊ตฌํ˜„ํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค.

๋ฉ”์‹œ์ง€ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ง€์›ํ•˜์—ฌ, ํŠน์ • ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์˜ ์‹คํ–‰, ๋ผ์šฐํŒ…, ๋ณ€ํ™˜์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

Spring Integration ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋ฉ”์‹œ์ง€ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜

  • ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ํ†ตํ•ฉ ํŒจํ„ด

  • ๋น„๋™๊ธฐ ๋ฉ”์‹œ์ง•

  • ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

Main Components

์ „ํ˜•์ ์ธ ์Šคํ”„๋ง ๊ธฐ๋ฐ˜์€ ๊ณ„์ธต๊ตฌ์กฐ๋กœ ์„ค๊ณ„ํ•˜๊ณ , ๋ฉ”์‹œ์ง• ๊ธฐ๋ฐ˜์€ ์กฐ๊ธˆ๋” ์ˆ˜ํ‰์ ์ธ ๊ด€์ ์„ ๋”ํ•˜๊ธด ํ•˜์ง€๋งŒ ์ˆ˜์ง์ ์ธ ๊ด€์ ์—์„œ ๊ด€์‹ฌ์‚ฌ๋ฅผ ๋ถ„๋ฆฌํ• ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค.

Message

์Šคํ”„๋ง์—์„œ ๋ฉ”์‹œ์ง€๋ž€ ๊ฐ์ฒด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋™์•ˆ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ์‹ผ Wrapper ์ด๋‹ค

ํŽ˜์ด๋กœ๋“œ์™€ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํ—ค๋”๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

Message Channel

Pipe and Filter ํŒจํ„ด์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋กœ, ๋ฉ”์‹œ์ง€๋ฅผ ์ „๋‹ฌํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

Producer๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ์ƒ์„ฑํ•˜๊ณ , Consumer๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ์†Œ๋น„ํ•œ๋‹ค. point-to-point, publish-subscribe๋“ฑ ๋‹ค์–‘ํ•œ ํŒจํ„ด์„ ์ง€์›ํ•œ๋‹ค.

Message Endpoint

Spring Integration์˜ ์ฃผ์š” ๋ชฉํ‘œ๋Š” ์ œ์–ด์˜ ์—ญ์ „์„ ํ†ตํ•ด ํ†ตํ•ฉ ์†”๋ฃจ์…˜์„ ๋งŒ๋“ค์–ด ์ฃผ๋Š” ์ผ์ด๋‹ค. ์‚ฌ์šฉ์ž๋Š” ์ปจ์Šˆ๋จธ์™€ ํ”„๋กœ๋“€์„œ๋ฅผ ์ง์ ‘ ๊ตฌํ˜„ํ•  ํ•„์š”๊ฐ€ ์—†์œผ๋ฉฐ, ๋ฉ”์‹œ์ง€๋ฅผ ๋งŒ๋“ค๊ฑฐ๋‚˜ ์—ฐ์‚ฐ์„ ํ˜ธ์ถœํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

์ˆœ์ˆ˜ ๊ฐ์ฒด ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌํ˜„์„ ์ด์–ด๊ฐ€๊ณ  ๋„๋ฉ”์ธ ๋ชจ๋ธ์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

๋ฉ”์‹œ์ง€ ์—”๋“œ ํฌ์ธํŠธ๋Š” pipe and filter ์—์„œ filter๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์—”๋“œ ํฌ์ธํŠธ๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ๋ฅผ ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ ํ”„๋ ˆ์ž„์›Œํฌ์— ๋น„์นจํˆฌ์ ์œผ๋กœ ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค

Last updated