Integration module implementation Jan 9, 2025 ์ฐ๊ณ๋ชจ๋๊ตฌํ ์ ๋ฆฌ (์ถ์ ๋น๋: ์ค) ์ฃผ์ ๋น์ถ ํค์๋ EAI ESB ์ธํฐํ์ด์ค ๊ตฌํ ๊ฒ์ฆ ๋๊ตฌ ์ฐ๊ณ๊ธฐ์ ํ์ค EAI (Enterprise Application Integration) ์ ์ฌ์ ์ ํ๋ฆฌ์ผ์ด์ ํตํฉ ํ๊ฒฝ์ผ๋ก, ์๋ก ๋ค๋ฅธ ๊ธฐ์ข ์ ์์คํ ๊ฐ ์ฐ๋์ ๊ฐ๋ฅํ๊ฒ ํจ ์๋ก ๋ค๋ฅธ ์ฝ๋๋ ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ ์์คํ ๊ฐ ํต์ ์ด ๊ฐ๋ฅ ์ฐ๊ณ ๋ฐฉ์์ ์ข ๋ฅ Point-to-Point ๋ฏธ๋ค์จ์ด ์์ด ์ง์ ์ฐ๊ฒฐํ๋ ๋ฐฉ์ ์์คํ ๋ณ๊ฒฝ์ด๋ ์ฌ์ฌ์ฉ์ด ์ด๋ ค์ Hub & Spoke (EAI) ๋จ์ผ ์ ์ ์์คํ (ํ๋ธ)๋ฅผ ํตํ ์ค์ ์ง์คํ ์ฐ๊ณ๋ฐฉ์ ํ์ฅ ์ ์ง๋ณด์๊ฐ ์ฉ์ดํ์ง๋ง ํ๋ธ ์ฅ์ ์ ์ ์ฒด ์์คํ ์ ๋ฌธ์ ๋ฐ์ Message Bus (ESB: Enterprise Service Bus) ๋ฏธ๋ค์จ์ด(Bus)๋ฅผ ๋๊ณ ํ์ฅ์ฑ๊ณผ ์ฒ๋ฆฌ๋์ด ํฅ์๋๋ ๋ฐฉ์ ๋ณ๋์ ์ด๋ํฐ(์์ ๋ชจ๋, ์ก์ ๋ชจ๋)๊ฐ ํ์์์ ๊ด๋ฆฌ ๋ฐ ๋ณด์์ด ์ฉ์ดํ๋ฉฐ ์๋น์ค ์ค์ฌ์ ํตํฉ์ ์งํฅ ์น์๋น์ค ๊ธฐ๋ฐ ํต์ ์ผ๋ก ํ์คํ๊ฐ ์ด๋ ค์ ์ง์ ์ฐ๊ณ์ ๋นํด ์ฑ๋ฅ์ด ๋ฎ์ ํธ EAI/ESB (Hybrid) ํ๋ธ&์คํฌํฌ ๋ฐฉ์์ ์ฌ์ฉํ๋ ๊ทธ๋ฃน(EAI)๊ณผ ESB๋ฅผ ์ฐ๊ฒฐ ์ค์ ํ๋ธ ๊ณ ์ฅ ์์๋ ์ํฅ์ด ์ต์ํ๋จ ์ฐ๊ณ ๋ชจ๋ ๊ตฌํ ํ๊ฒฝ ๊ตฌ์ถ ์ ์ฐจ EAI/ESB ์๋ฃจ์ ๋์ ์ DB ์ค์น ๋ฐ ์ฌ์ฉ์ ๊ณ์ ์์ฑ ์ฌ์ฉ์ ๊ณ์ ์ผ๋ก ์ฐ๊ณ ํ ์ด๋ธ, ๋ก๊ทธ, ์ค๋ฅ ๋ก๊ทธ, ๋งคํ ํ ์ด๋ธ ์์ฑ ์ฐ๊ณ ์์ฉ ํ๋ก๊ทธ๋จ ๊ตฌํ ์ก์ ์ธก: DB ๋ฐ์ดํฐ ์ถ์ถ, ์์ ์ธก ์ฝ๋๋ก ๋ณํ ์์ ์ธก: ๋ฐ์ดํฐ ์ ํจ์ฑ ๊ฒ์ฆ, DB ๋ฐ์ดํฐ ๋ฐ์ DBMS์ ํธ๋ฆฌ๊ฑฐ ๊ฐ์ฒด ํ์ฉ ํธ๋ฆฌ๊ฑฐ ๊ฐ์ฒด๋ ์ํธํ ์๊ณ ๋ฆฌ์ฆ ํธ์ถ์ ์ ํ์ ์ฐ๊ณ ๋ฐ์ดํฐ ๋ณด์ ์ ์ฉ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์ด์ฉ ๊ตฌํ ์ก์์ ๋ด๋ถ ์์คํ : ํธ๋ฆฌ๊ฑฐ ํ์ฉ ์น ์๋น์ค ๋ฐฉ์ ๋์ ์ ์ ์ก ์ด๋ ฅ ๊ธฐ๋ก ๋ฐ ๋ชจ๋ํฐ๋ง ๊ธฐ๋ฅ์ ๋ณ๋ ๊ตฌํ ํ์ XML ํ์์ ์ฐ๊ณ ๋ฐ์ดํฐ ์์ฑ ํ๋ก๊ทธ๋จ ๊ตฌํ SOAP, RESTful ๋ฑ์ ์ฌ์ฉํ ๋ฐ์ดํฐ ์ก์์ WSDL ๋ช ์ธ์ ์์ฑ ๋ฐ ์์คํ ๊ฐ ๊ณต์ DB ์ฐ๊ณ ๋ฐ์ดํฐ ๋ฐ์ ์๋น์ค ๊ตฌํ ์ฐ๊ณ ํ ์คํธ ํ ์คํธ ๋จ๊ณ ๋จ์ํ ์คํธ(์ ๋ฌด๋จ์) ์ฐ๊ณํ ์คํธ ํตํฉํ ์คํธ(์์คํ ํตํฉ ์) ์ฐ๊ณ ๋ชจ๋ ํ ์คํธ ์ผ์ด์ค ์์ฑ ๋ฐ ๋ช ์ธํ ํ ์คํธ ๋ฌธํญ ์์ฑ ๋ฐ ์ ์ ์ฌ๋ถ ํ์ธ ๊ฐ๋ณ ๋ฐ์ดํฐ ์ ํจ๊ฐ ์ฒดํฌ ์ผ์ด์ค ์์ฑ ์ฐ๊ด ๊ด๊ณ ์ฒดํฌ ์ผ์ด์ค ์์ฑ ๋ฏธ๋ฑ๋ก ๋ฐ์ดํฐ ์์ ๋ณ๊ฒฝ ๋ถ์ฌ ์ํฉ ๋ฑ ํ ์คํธ ๊ฒฐ๊ณผ ๊ฒ์ฆ ๋ฐฉ๋ฒ ํ ์คํธ ๊ฒฐ๊ณผ์ ๊ธฐ๋ ๊ฒฐ๊ณผ์ ์ผ์น ์ฌ๋ถ ํ์ธ DB ํ ์ด๋ธ ๊ฑด์ ์นด์ดํธ ํ์ผ ๋ด์ฉ ํ์ธ ํ์ผ ์์ฑ ์ฌ๋ถ์ ํฌ๊ธฐ ํ์ธ ๋ชจ๋ํฐ๋ง ํ๋ฉด ๋ด์ฉ ํ์ธ ๋ก๊ทธ ํ์ธ ์ง์๋๊ตฌ xUnit: Junit, CppUnit ๋ฑ ๋ค์ํ ์ธ์ด ์ง์ STAF: ๋ค์ํ ํ๊ฒฝ ์ง์ FitNesse: ์น ๊ธฐ๋ฐ ํ ์คํธ NTAF: STAF์ FitNesse ํตํฉ Selenium: ๋ค์ํ ๋ธ๋ผ์ฐ์ ์ง์ watir: Ruby ์ธ์ด ๊ธฐ๋ฐ ์ธํฐํ์ด์ค ์์ธ ์ฒ๋ฆฌ ์ฃผ์ ๊ฐ๋ ์ค๋ฅ: ์์คํ ์์ ๋ฌธ์ ์์ธ: ์๊ธฐ์น ๋ชปํ ์ํฉ (์: ๋ก๊ทธ์ธ ์ ์๋ชป๋ ์ธ์ฆ์ ๋ณด ์ ๋ ฅ) HTTP status code 401: ์ธ์ฆ์คํจ 403: ์ ๊ทผ ๊ฑฐ๋ถ ๋ฌธ์ ์์ฒญ 404: ํ์ด์ง ์์ 503: ์๋ฒ ๊ณผ๋ถํ ์์ ์์คํ ์ ์์ธ ์ฒ๋ฆฌ ๋ฐฉ์ ์ก์ ๋ฐ์ดํฐ ์์ธ: ํน์๋ฌธ์ ๋์น, ์ ํฉ์ฑ ์ฒดํฌ ํ๋ก๊ทธ๋จ ์์ฒด ์์ธ: ๋ ผ๋ฆฌ์ ๊ฒฐํจ ์์ , ํ ์คํธ, ์ก์ ์ธก ํ๋ก๊ทธ๋จ ์์ ์๋ฒ ์์ธ: ์๋ฒ ์์ ํ (๋๊ธฐ ํ ํ์ฉ) ์ฐ๊ณ ์์คํ ๊ตฌํ ๋ชจ๋ํฐ๋ง ์ธํฐํ์ด์ค ์ค๋ฅ ํ์ธ ๋ฐฉ๋ฒ ์ค๋ฅ ์๋ ๋ฉ์์ง: ์ฌ์ฉ์๊ฐ ๊ฐ์ฅ ๋จผ์ ์ธ์ง Email ์ ์ก: ์ฌ์ฉ์ ์ธ์ง ํ๋ฅ ๋ฎ์ SMS: ์ฌ์ฉ์/๊ด๋ฆฌ์ ์ฆ์ ์ธ์ง ๊ฐ๋ฅ (๋น์ฉ๋ฐ์) ์ค๋ฅ ๋ก๊ทธ: ๊ตฌ์ฒด์ ํ์ธ ๊ฐ๋ฅ (์ ๋ฌธ์ฑ ํ์) ์ค๋ฅ ํ ์ด๋ธ: ์ค๋ฅ ๋ด์ญ ๊ด๋ฆฌ ์ฉ์ด ์ค๋ฅ ๋ชจ๋ํฐ๋ง ๋๊ตฌ APM (Application Performance Management) ๊ธฐ๋ฅ ๋ฐ ์ฑ๋ฅ ๊ด๋ฆฌ ๊ฐ๋ฅ ์ฃผ์ ๊ด๋ฆฌ ์งํ ์ฑ๋ฅ ์ฒ๋ฆฌ๋ ๊ฐ์ฉ์ฑ ๋ฌด๊ฒฐ์ฑ ์ ๋ขฐ์ฑ