๋ฆฌ์กํฐ๋ธ ํ๋ก๊ทธ๋๋ฐ์ ์ด๋ฒคํธ, ๋ฉ์์ง ๋๋ ์ธ๋ถ ์๊ทน์ ๋ฐ์ํ๋๋ก ์ค๊ณ๋ ๋ฆฌ์กํฐ๋ธ ์์คํ ์ ์ด์ ์ ๋ง์ถ ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์์ ๋๋ค. ์ด ํจ๋ฌ๋ค์์์๋ ๋ฐ์ดํฐ๊ฐ ์ค์๊ฐ์ผ๋ก ์ฒ๋ฆฌ๋๊ณ ๋ณํ๋๋ฏ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ด ํ๊ฒฝ ๋ณํ์ ์ฆ๊ฐ์ ์ผ๋ก ์ ์ํ ์ ์์ต๋๋ค. ๋ฆฌ์กํฐ๋ธ ํ๋ก๊ทธ๋๋ฐ์ ๋ค์์ ๋์ ์์ ๊ณผ ์ด๋ฒคํธ ์คํธ๋ฆผ์ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ์ํด ๋น๋๊ธฐ ๋ฐ ๋น์ฐจ๋จ ๊ธฐ์ ์ ์ฌ์ฉ์ ๊ฐ์กฐํฉ๋๋ค.
ํ๋ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ๋งฅ๋ฝ์์ ๋ฆฌ์กํฐ๋ธ ํ๋ก๊ทธ๋๋ฐ์ ์ ์ํ๋ ๋ค ๊ฐ์ง ์ฃผ์ ์์น์ ์๋ต์ฑ, ํ๋ ฅ์ฑ, ํ๋ ฅ์ฑ, ๋ฉ์์ง ์ค์ฌ์ ๋๋ค. ๋ฐ์ํ ์์คํ ์ ๋น ๋ฅด๊ณ ์ผ๊ด๋ ์๋ต ์๊ฐ์ ์ ๊ณตํ์ฌ ์งง์ ๋๊ธฐ ์๊ฐ๊ณผ ๋์ ๋ก๋ ์๋๋ฆฌ์ค ๋ชจ๋์์ ๋ง์กฑ์ค๋ฌ์ด ์ฌ์ฉ์ ๊ฒฝํ์ ๋ณด์ฅํฉ๋๋ค. ๋ณต์๋ ฅ ์๋ ์์คํ ์ ์ค๋ฅ๋ก๋ถํฐ ์ํํ๊ฒ ๋ณต๊ตฌํ ์ ์์ด ์ค๋ฅ๋ ์ค๋จ์ด ๋ฐ์ํ๋๋ผ๋ ์ฌ์ฉ์์๊ฒ ์ํํ ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค. ํ๋ ฅ์ ์์คํ ์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฆฌ์์ค์ ์์์ ๋ฐ๋ผ ํจ์จ์ ์ผ๋ก ํ์ฅ ๋๋ ์ถ์ํ ์ ์์ด ๋ค์ํ ์กฐ๊ฑด์์ ์ต์ ์ ๋ฆฌ์์ค ํ์ฉ๋๋ฅผ ๋ณด์ฅํฉ๋๋ค. ๋ฉ์์ง ๊ธฐ๋ฐ ์ํคํ ์ฒ๋ ๊ตฌ์ฑ ์์ ๋๋ ์์คํ ๊ฐ์ ๋น๋๊ธฐ ํต์ ์ ์ด์งํ์ฌ ๊ฒฉ๋ฆฌ๋ ์ํ๋ฅผ ์ ์งํ๊ณ ์ ๋ฐ์ ์ธ ํ์ฅ์ฑ๊ณผ ๋ด๊ฒฐํจ์ฑ์ ํฅ์์ํต๋๋ค.
๋ฆฌ์กํฐ๋ธ ํ๋ก๊ทธ๋๋ฐ์ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๊ฐ์ ๋ด๋ณด๋ด๋ ๋ฐ์ดํฐ ์คํธ๋ฆผ ์ญํ ์ ํ๋ Observable์ ๊ฐ๋ ์ ํฌ๊ฒ ์์กดํฉ๋๋ค. Observable์ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฐ์๋ ์ ์ธ์ ์คํ์ผ์ ์ ์งํ๋ฉด์ ๋งคํ, ํํฐ๋ง, ๋ฐ์ดํฐ ์ถ์์ ๊ฐ์ ๊ธฐ๋ฅ์ ์์ ์ ํจ๊ป ์ฐ๊ฒฐํ ์ ์์ต๋๋ค. ์ด๋ฌํ ๋ฐฉ์์ผ๋ก ๋ฆฌ์กํฐ๋ธ ํ๋ก๊ทธ๋๋ฐ์ ๊ธฐ์กด ์ฝ๋ฐฑ์ด๋ Promise ๊ธฐ๋ฐ ๊ธฐ์ ์ ๋นํด ๋ณต์กํ ๋น๋๊ธฐ ๋ฐ์ดํฐ ํ๋ฆ์ ์ฒ๋ฆฌํ๋ ๋ฐ ์์ด ๋ณด๋ค ๊ฐ๊ฒฐํ๊ณ ํํ๋ ฅ์ด ํ๋ถํ๋ฉฐ ์ ์ฐํ ์ ๊ทผ ๋ฐฉ์์ ์ด์งํฉ๋๋ค. Observable ๋ฐ ๊ธฐํ ๋ฐ์ ๋๊ตฌ๋ฅผ ํ์ฉํ์ฌ ๊ฐ๋ฐ์๋ ์ฑ๋ฅ์ด ํฅ์๋๊ณ ๋ณต์ก์ฑ์ด ๊ฐ์๋ ๋ฐ์์ฑ์ด ๋ฐ์ด๋๊ณ ๋ด๊ฒฐํจ์ฑ์ด ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์์ต๋๋ค.
๋ฆฌ์กํฐ๋ธ ํ๋ก๊ทธ๋๋ฐ์ ์ค์ํ ์ธก๋ฉด ์ค ํ๋๋ ์ง์์ ์ธ ๋ฐ์ดํฐ ์ ๋ฐ์ดํธ๋ฅผ ์์ ํ์ฌ ์๋ก์ด ์ ๋ณด๊ฐ ์ ๊ณต๋๋ ์ฆ์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ฐ์ํ ์ ์๋๋ก ํ๋ ๊ธฐ๋ฅ์ ๋๋ค. ์ด "ํธ์" ๋ชจ๋ธ์ ์์คํ ์ด ์ง์์ ์ผ๋ก ์ ๋ฐ์ดํธ๋ฅผ ํด๋งํ๊ฑฐ๋ ์ฟผ๋ฆฌํด์ผ ํ๋ ๋ณด๋ค ์ ํต์ ์ธ "ํ" ์ ๊ทผ ๋ฐฉ์๊ณผ ๋์กฐ๋ฉ๋๋ค. ์ด๋ฌํ ํน์ฑ์ผ๋ก ์ธํด ๋ฐ์ํ ํ๋ก๊ทธ๋๋ฐ์ ์ค์๊ฐ ๋ถ์, ๋ฐ์ดํฐ ์๊ฐํ ๋ฐ ๋์๋ณด๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๊ฐ์ ๋ณต์กํ ๋ฐ์ดํฐ ๊ธฐ๋ฐ ์์ ์ ๋งค์ฐ ์ ํฉํฉ๋๋ค. ๋ํ ๋ฐ์ํ ์์คํ ์ ๊ธฐ์กด RESTful API ๋๋ ์น ์์ผ ์๋น์ค์ ์ฝ๊ฒ ํตํฉ๋์ด ์๋ต์ฑ์ ๋์ฑ ํฅ์์ํฌ ์ ์์ต๋๋ค.
๋ฐฑ์๋, ์น ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ถ์ ์ํ ๊ฐ๋ ฅํ no-code ํ๋ซํผ์ธ AppMaster ์ ๋งฅ๋ฝ์์ ๋ฐ์ํ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ ์ ์์ฑ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ธฐ๋ฅ๊ณผ ์๋ต์ฑ์ ํฌ๊ฒ ํฅ์์ํฌ ์ ์์ต๋๋ค. AppMaster ์น ๋ฐ ๋ชจ๋ฐ์ผ ๊ตฌ์ฑ ์์์ฉ ๋น์ฆ๋์ค ํ๋ก์ธ์ค(BP) ๋์์ด๋์ ๋ฐ์ํ ํ๋ก๊ทธ๋๋ฐ ๊ฐ๋ ์ ํ์ฉํ์ฌ ์ฌ์ฉ์๊ฐ ์ฑ๋ฅ์ด๋ ํ์ฅ์ฑ์ ์ ํ์ํค์ง ์๊ณ ์ค์๊ฐ์ผ๋ก ๋ณํ์ ๋์ํ ์ ์๋ ์ ๊ตํ ์ด๋ฒคํธ ์ค์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์๋๋ก ํด์ค๋๋ค.
JavaScript์ฉ RxJS, Java์ฉ ReactiveX, Swift์ฉ RxSwift ๋ฐ .NET์ฉ ReactiveUI์ ๊ฐ์ด ๋ค์ํ ์ธ์ด ๋ฐ ํ๋ซํผ์์ ์ฌ์ฉํ ์ ์๋ ์ธ๊ธฐ ์๋ ์ฌ๋ฌ ๋ฐ์ํ ํ๋ก๊ทธ๋๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์์ต๋๋ค. ์ด๋ฌํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ฐ์ํ ๋ฐ์ดํฐ ์คํธ๋ฆผ ์์ ์ ๋ณด๋ค ์ฝ๊ฒ โโ์ ๊ทผํ๊ณ ์ง๊ด์ ์ผ๋ก ๋ง๋ค ์ ์๋ ์ผ๊ด๋ ์ถ์ํ ๋ฐ ์ฐ์ฐ์ ์ธํธ๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋ํ Promise, Web Sockets ๋ฐ Reactive Extensions(Rx)์ ๊ฐ์ ๋ค์ํ ๋น๋๊ธฐ ๊ธฐ์ ๋ฐ ๋๊ตฌ์์ ํตํฉ์ ์ ๊ณตํฉ๋๋ค.
๋ฐ์ํ ํ๋ก๊ทธ๋๋ฐ์ ์ค์๊ฐ ์๋ต์ฑ, ๋์ ๋์์ฑ ๋ฐ ์ ์ํ ๊ฐ๋ฐ์ด ์ค์ํ ์ฐ์ ์์ ๋๋ฆฌ ์ฑํ๋์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์์ฅ ๋ฐ์ดํฐ์ ๊ฑฐ๋๋ฅผ ์ ์ํ๊ฒ ์ฒ๋ฆฌํด์ผ ํ๋ ๊ธ์ต ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ ์๋ง์ ์ฅ์น๊ฐ ์ง์์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๊ณ ์๋นํ๋ ์ฌ๋ฌผ ์ธํฐ๋ท(IoT) ์์คํ ์ด ์์ต๋๋ค. ๋ฆฌ์กํฐ๋ธ ํ๋ก๊ทธ๋๋ฐ์ ๋ํ ๊ทธ ์์น์ด ํ์ฅ ๊ฐ๋ฅํ๊ณ ๋ณต์๋ ฅ์ด ๋ฐ์ด๋ ๋ถ์ฐ ์์คํ ์ ์์น๊ณผ ๋ฐ์ ํ๊ฒ ์ผ์นํ๊ธฐ ๋๋ฌธ์ ์ต๊ทผ ๋ช ๋ ๋์ ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ์ ๋์คํ์ ์ค์ํ ์ญํ ์ ํ์ต๋๋ค.
์์ฝํ๋ฉด, ๋ฆฌ์กํฐ๋ธ ํ๋ก๊ทธ๋๋ฐ์ ๊ฐ๋ฐ์๊ฐ ๋ณด๋ค ํจ์จ์ ์ด๊ณ ํ์ฅ ๊ฐ๋ฅํ๋ฉฐ ํํ๋ ฅ์ด ํ๋ถํ ๋ฐฉ์์ผ๋ก ํ๋์ ์ธ ์ด๋ฒคํธ ์ค์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ ์ ์๋๋ก ์ง์ํ๋ ๊ฐ๋ ฅํ ํจ๋ฌ๋ค์์ ๋๋ค. ๋ฐ์์ฑ์ด ๋ฐ์ด๋๊ณ ํ๋ ฅ์ ์ด๋ฉฐ ํ๋ ฅ์ ์ด๋ฉฐ ๋ฉ์์ง ์ค์ฌ ์์คํ ์ ์ค์ ์ ๋๋ ๋ฆฌ์กํฐ๋ธ ํ๋ก๊ทธ๋๋ฐ์ ์ฌ์ฉํ๋ฉด ๋ณํ์ ์ฝ๊ฒ ์ ์ํ ์ ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑํ์ฌ ์ํํ๊ณ ๋ง์กฑ์ค๋ฌ์ด ์ฌ์ฉ์ ๊ฒฝํ์ ์ ๊ณตํ ์ ์์ต๋๋ค. AppMaster ์ no-code ํ๋ซํผ์ BP Designer์ ์ด ํจ๋ฌ๋ค์์ ์์ฉํ์ฌ ์ฌ์ฉ์๊ฐ ์ต์ํ์ ๋ ธ๋ ฅ๊ณผ ๋ณต์ก์ฑ์ผ๋ก ๊ณ ํ์ง์ ๊ณ ์ฑ๋ฅ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑํ ์ ์๋๋ก ํฉ๋๋ค.