ํํธ์ผ๋ก๋ ๋คํธ์ํฌ๋ฅผ ํตํด ๋ฌธ์๋ฅผ ์ค์บํ๋ ๊ฒ์ด ์กด์ฌํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง, ๋ค๋ฅธ ํํธ์ผ๋ก๋ ๋คํธ์ํฌ ์ธ์์ ๋ฌ๋ฆฌ ์ผ๋ฐ์ ์ผ๋ก ํ์ฉ๋๋ ๊ดํ์ด ๋์ง ์์์ต๋๋ค. ๊ด๋ฆฌ์๋ ์ฌ์ ํ ๋๋ผ์ด๋ฒ๋ฅผ ์ค์นํ๊ณ ์๊ฒฉ ์ค์บ ์ค์ ์ ๊ฐ ์ค์บ๋ ๋ชจ๋ธ๋ง๋ค ๋ค๋ฆ
๋๋ค. ํ์ฌ ์ด๋ค ๊ธฐ์ ์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ ๊ทธ๋ฌํ ์๋๋ฆฌ์ค์ ๋ฏธ๋๊ฐ ์์ต๋๊น?
์ค์น ๊ฐ๋ฅํ ๋๋ผ์ด๋ฒ ๋๋ ์ง์ ์ก์ธ์ค
ํ์ฌ TWAIN, ISIS, SANE ๋ฐ WIA์ ๋ค ๊ฐ์ง ์ผ๋ฐ์ ์ธ ๋๋ผ์ด๋ฒ ์ ํ์ด ์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ด๋ฌํ ๋๋ผ์ด๋ฒ๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ํน์ ๋ชจ๋ธ์ ์ฐ๊ฒฐ๋๋ ์ ์กฐ์ ์ฒด์ ํ์ ์์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ฐ์ ์ธํฐํ์ด์ค ์ญํ ์ ํฉ๋๋ค.
๋จ์ํ๋ ์ค์บ๋ ์ฐ๊ฒฐ ์ํคํ
์ฒ
์ผ๋ฐ์ ์ผ๋ก ์ค์บ๋๊ฐ ์ปดํจํฐ์ ์ง์ ์ฐ๊ฒฐ๋์ด ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ํ์ ์์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฅ์น ๊ฐ์ ํ๋กํ ์ฝ์ ์ ํํ๋ ์ฌ๋์ ์์ต๋๋ค. TCP/IP์ผ ์๋ ์์ต๋๋ค. ํ์ฌ ๋๋ถ๋ถ์ ๋คํธ์ํฌ MFP๊ฐ ์๋ํ๋ ๋ฐฉ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์ค์บ๋๋ ๋ก์ปฌ๋ก ํ์๋์ง๋ง ์ฐ๊ฒฐ์ ๋คํธ์ํฌ๋ฅผ ํตํด ์ด๋ฃจ์ด์ง๋๋ค.
์ด ์๋ฃจ์ ์ ์ฅ์ ์ ์์ฉ ํ๋ก๊ทธ๋จ์ด ์ฐ๊ฒฐ ๋ฐฉ๋ฒ์ ์ ํํ ์ ๊ฒฝ ์ฐ์ง ์๋๋ค๋ ๊ฒ์ ๋๋ค. ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ์น์ํ TWAIN, ISIS ๋๋ ๊ธฐํ ์ธํฐํ์ด์ค๋ฅผ ํ์ธํ๋ ๊ฒ์ ๋๋ค. ํน๋ณํ ์ง์์ ๊ตฌํํ ํ์๋ ์์ต๋๋ค.
ํ์ง๋ง ๋จ์ ๋ ๋ถ๋ช ํฉ๋๋ค. ์ด ์๋ฃจ์ ์ ๋ฐ์คํฌํฑ OS๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. ๋ชจ๋ฐ์ผ ์ฅ์น๋ ๋ ์ด์ ์ง์๋์ง ์์ต๋๋ค. ๋ ๋ฒ์งธ ๋จ์ ์ ์ฌ ํด๋ผ์ด์ธํธ๊ฐ ์๋ ํฐ๋ฏธ๋ ์๋ฒ์ ๊ฐ์ด ๋ณต์กํ ์ธํ๋ผ์์๋ ๋๋ผ์ด๋ฒ๊ฐ ๋ถ์์ ํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค.
ํ์ถ๊ตฌ๋ HTTP/RESTful ํ๋กํ ์ฝ์ ํตํด ์ค์บ๋์ ๋ํ ์ง์ ์ฐ๊ฒฐ์ ์ง์ํ๋ ๊ฒ์ ๋๋ค.
ํธ์จ์ธ ๋ค์ด๋ ํธ
ํธ์จ์ธ ๋ค์ด๋ ํธ
์ฃผ์ ์์ด๋์ด๋ ๋ชจ๋ ๋ ผ๋ฆฌ๊ฐ ์ค์บ๋ ์ธก์ผ๋ก ์ ์ก๋๋ค๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ค์บ๋๋ REST API๋ฅผ ํตํด ์ก์ธ์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋ํ ์ฌ์์๋ ์ฅ์น ๊ฒ์(์๋ ๊ฒ์)์ ๋ํ ์ค๋ช ์ด ํฌํจ๋์ด ์์ต๋๋ค. ์ข์ ๋ณด์ธ๋ค. ๊ด๋ฆฌ์์ ๊ฒฝ์ฐ ์ด๋ ๋๋ผ์ด๋ฒ์ ๋ฐ์ํ ์ ์๋ ๋ฌธ์ ๋ฅผ ์ ๊ฑฐํฉ๋๋ค. ๋ชจ๋ ์ฅ์น๋ฅผ ์ง์ํ๋ฉฐ ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ํธํ๋๋ ์์ฉ ํ๋ก๊ทธ๋จ์ด ์๋ค๋ ๊ฒ์ ๋๋ค. ๋ํ ๊ฐ๋ฐ์์๊ฒ๋ ์ฃผ๋ก ์น์ํ ์ํธ ์์ฉ ์ธํฐํ์ด์ค๋ผ๋ ์ด์ ์ด ์์ต๋๋ค. ์ค์บ๋๋ ์น ์๋น์ค ์ญํ ์ ํฉ๋๋ค.
์ค์ ์ฌ์ฉ ์๋๋ฆฌ์ค๋ฅผ ๊ณ ๋ คํ๋ฉด ๋จ์ ๋ ์์ ๊ฒ์ ๋๋ค. ์ฒซ ๋ฒ์งธ๋ ๊ต์ฐฉ์ํ(Deadlock) ์ํฉ์ด๋ค. ์์ฅ์๋ TWAIN Direct๋ฅผ ์ง์ํ๋ ์ฅ์น๊ฐ ์์ผ๋ฉฐ ๊ฐ๋ฐ์๊ฐ ์ด ๊ธฐ์ ์ ์ง์ํ๋ ๊ฒ์ ์๋ฏธ๊ฐ ์์ผ๋ฉฐ ๊ทธ ๋ฐ๋์ ๊ฒฝ์ฐ๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. ๋ ๋ฒ์งธ๋ ๋ณด์์ ๋๋ค. ์ฌ์์์๋ ๊ฐ๋ฅํ ํ์ ์ ๋ง๊ธฐ ์ํด ์ฌ์ฉ์ ๊ด๋ฆฌ๋ ์ ๋ฐ์ดํธ ๋น๋์ ๋ํ ์๊ตฌ ์ฌํญ์ ๋ถ๊ณผํ์ง ์์ต๋๋ค. ๋ํ ๊ด๋ฆฌ์๊ฐ ์ ๋ฐ์ดํธ ๋ฐ ์ก์ธ์ค๋ฅผ ์ด๋ป๊ฒ ์ ์ดํ ์ ์๋์ง๋ ๋ถ๋ถ๋ช ํฉ๋๋ค. ์ปดํจํฐ์ ๋ฐ์ด๋ฌ์ค ๋ฐฑ์ ์ํํธ์จ์ด๊ฐ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ถ๋ช ํ ์น ์๋ฒ๊ฐ ์๋ ์ค์บ๋ ํ์จ์ด์์๋ ๊ทธ๋ ์ง ์์ ์๋ ์์ต๋๋ค. ์๋๋ฉด ํ์ฌ์ ๋ณด์ ์ ์ฑ ์์ ์๊ตฌํ๋ ๋ฐ๋ ์๋์ง๋ง ๊ทธ๋ ๊ฒ ๋ ์๋ ์์ต๋๋ค. ์ค์บํ ๋ชจ๋ ๋ฌธ์๋ฅผ ์ผ์ชฝ์ผ๋ก ๋ณด๋ด๋ ์ ์ฑ ์ฝ๋๊ฐ ์๋ค๋ ์ ์ ๋์ํ์ธ์. ์ฆ, ์ด ํ์ค์ ๊ตฌํ์ผ๋ก ํ์ฌ ์์ฉ ํ๋ก๊ทธ๋จ์ ์ค์ ์ผ๋ก ํด๊ฒฐ๋ ์์ ์ด ์ฅ์น ์ ์กฐ์ ์ฒด๋ก ์ด์ ๋์์ต๋๋ค.
์ธ ๋ฒ์งธ ๋จ์ ์ ๊ธฐ๋ฅ ์์ค ๊ฐ๋ฅ์ฑ์ ๋๋ค. ๋๋ผ์ด๋ฒ์๋ ์ถ๊ฐ ํ์ฒ๋ฆฌ๊ฐ ์์ ์ ์์ต๋๋ค. ๋ฐ์ฝ๋ ์ธ์, ๋ฐฐ๊ฒฝ ์ ๊ฑฐ. ์ผ๋ถ ์ค์บ๋์๋ ์์๊ฐ ์์ต๋๋ค. ์ํ๋ฆฐํฐ - ์ค์บ๋๊ฐ ์ฒ๋ฆฌ๋ ๋ฌธ์์ ์ธ์ํ ์ ์๋๋ก ํ๋ ๊ธฐ๋ฅ์ ๋๋ค. TWAIN Direct์์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฌ์์์๋ API๋ฅผ ํ์ฅํ ์ ์์ง๋ง ์ด๋ก ์ธํด ๋ง์ ์ฌ์ฉ์ ์ง์ ๊ตฌํ์ด ๋ฐ์ํ๊ฒ ๋ฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ค์บ๋ ์์ ์๋๋ฆฌ์ค์์ ๋ ํ๋์ ๋ง์ด๋์ค์ ๋๋ค.
์์ฉ ํ๋ก๊ทธ๋จ์์ ์ค์บํ๊ฑฐ๋ ์ฅ์น์์ ์ค์บ
์์ฉ ํ๋ก๊ทธ๋จ์ ์ผ๋ฐ ๊ฒ์ฌ๊ฐ ์ด๋ป๊ฒ ์๋ํ๋์ง ์ดํด๋ณด๊ฒ ์ต๋๋ค. ๋ฌธ์๋ฅผ ๋ด๋ ค๋์๊ฒ์. ๊ทธ๋ฐ ๋ค์ ์ฑ์ ์ด๊ณ ์ค์บํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ๋ฌธ์๋ฅผ ๊ฐ์ ธ๊ฐ๋๋ค. ์ธ ๋จ๊ณ. ์ด์ ๋คํธ์ํฌ ์ค์บ๋๊ฐ ๋ค๋ฅธ ๋ฐฉ์ ์๋ค๊ณ ์์ํด ๋ณด์ธ์. ์ต์ํ 2๊ฐ์ง ์ ๊ทผ ๋ฐฉ์์ ์ทจํด์ผ ํฉ๋๋ค. ์ด๋ ๋คํธ์ํฌ ์ธ์๋ณด๋ค ๋ ํธ๋ฆฌํฉ๋๋ค.
์ค์บ๋ ์์ฒด๊ฐ ๋ฌธ์๋ฅผ ๋ณด๋ผ ์ ์๋์ง๋ ๋ ๋ค๋ฅธ ๋ฌธ์ ์
๋๋ค. ์๋ฅผ ๋ค์ด ์ฐํธ์ผ๋ก. ๋ฌธ์๋ฅผ ๋ด๋ ค๋์๊ฒ์. ๊ทธ๋ฐ ๋ค์ ์ค์บํฉ๋๋ค. ๋ฌธ์๋ ์ฆ์ ๋์ ์์คํ
์ผ๋ก ์ด๋ํฉ๋๋ค.
์ด๊ฒ์ด ์ฃผ์ ์ฐจ์ด์ ์
๋๋ค. ์ฅ์น๊ฐ ๋คํธ์ํฌ์ ์ฐ๊ฒฐ๋ ๊ฒฝ์ฐ ๋์ ์ ์ฅ์(ํด๋, ๋ฉ์ผ ๋๋ ECM ์์คํ
)๋ก ์ง์ ์ค์บํ๋ ๊ฒ์ด ๋ ํธ๋ฆฌํฉ๋๋ค. ์ด ์ํท์๋ ์ด์ ์๋ฅผ ์ํ ์๋ฆฌ๊ฐ ์์ต๋๋ค.
์ธ๋ถ ๊ด์ ์์ ๋ณผ ๋ ๊ธฐ์กด ๊ธฐ์ ์ ๋ณ๊ฒฝํ์ง ์๊ณ ๋คํธ์ํฌ ์ค์บ๋์ ์ฌ์ฉํฉ๋๋ค. ๋ํ ๋๋ผ์ด๋ฒ๋ฅผ ํตํ ๋ฐ์คํฌํฑ ์์ฉ ํ๋ก๊ทธ๋จ๊ณผ ์ฅ์น์์ ์ง์ ๊ฐ๋ฅํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ปดํจํฐ์์์ ์๊ฒฉ ์ค์บ์ ์๋ ์๋๋ฆฌ์ค์ ์ฐจ์ด๋ก ์ธํด ๋คํธ์ํฌ ์ธ์๋งํผ ๋๋ฆฌ ๋ณด๊ธ๋์ง ์์์ต๋๋ค. ์ํ๋ ์ ์ฅ ์์น๋ก ์ง์ ์ค์บํ๋ ๊ฒ์ด ์ ์ ๋ ๋์คํ๋๊ณ ์์ต๋๋ค.
๋๋ผ์ด๋ฒ ๋์ฒดํ์ผ๋ก TWAIN Direct ์ค์บ๋๋ฅผ ์ง์ํ๋ ๊ฒ์ ๋งค์ฐ ์ข์ ๋จ๊ณ์ ๋๋ค. ๋ค๋ง ๊ธฐ์ค์ด ์ข ๋ฆ๋ค์. ์ฌ์ฉ์๋ ๋คํธ์ํฌ ์ฅ์น์์ ์ง์ ์ค์บํ์ฌ ๋ฌธ์๋ฅผ ๋์์ผ๋ก ๋ณด๋ด๊ธฐ๋ฅผ ์ํฉ๋๋ค. ์ด์ ๋ชจ๋ ๊ฒ์ด ์ ์๋ํ๋ฏ๋ก ๊ธฐ์กด ์์ฉ ํ๋ก๊ทธ๋จ์ ์๋ก์ด ํ์ค์ ์ง์ํ ํ์๊ฐ ์์ผ๋ฉฐ ์์ฉ ํ๋ก๊ทธ๋จ์ด ์๊ธฐ ๋๋ฌธ์ ์ค์บ๋ ์ ์กฐ์ ์ฒด๋ ์ด๋ฅผ ๊ตฌํํ ํ์๊ฐ ์์ต๋๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก. ์ผ๋ฐ์ ์ธ ์ถ์ธ๋ ๋จ์ํ ํ๋ ํ์ด์ง๋ฅผ ์ค์บํ๋ ๊ฒ์ด ํด๋ํฐ ์นด๋ฉ๋ผ๋ก ๋์ฒด๋๋ค๋ ๊ฒ์ ๋ณด์ฌ์ค๋๋ค. ์๋๊ฐ ์ค์ํ ์ฐ์
์ฉ ์ค์บ๋, TWAIN Direct๊ฐ ์ ๊ณตํ ์ ์๋ ํ์ฒ๋ฆฌ ๊ธฐ๋ฅ ์ง์, ์ํํธ์จ์ด์์ ๊ธด๋ฐํ ํตํฉ์ด ์ฌ์ ํ ์ค์ํ ๋ถ์ผ์์๋ ์ฌ์ ํ ๋จ์ ์์ ๊ฒ์
๋๋ค.
์ถ์ฒ : habr.com