๋ฆฌ์•กํ‹ฐ๋ธŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ์ด๋ฒคํŠธ, ๋ฉ”์‹œ์ง€ ๋˜๋Š” ์™ธ๋ถ€ ์ž๊ทน์— ๋ฐ˜์‘ํ•˜๋„๋ก ์„ค๊ณ„๋œ ๋ฆฌ์•กํ‹ฐ๋ธŒ ์‹œ์Šคํ…œ์— ์ดˆ์ ์„ ๋งž์ถ˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„์ž…๋‹ˆ๋‹ค. ์ด ํŒจ๋Ÿฌ๋‹ค์ž„์—์„œ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ฒ˜๋ฆฌ๋˜๊ณ  ๋ณ€ํ™˜๋˜๋ฏ€๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํ™˜๊ฒฝ ๋ณ€ํ™”์— ์ฆ‰๊ฐ์ ์œผ๋กœ ์ ์‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌ์•กํ‹ฐ๋ธŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ๋‹ค์ˆ˜์˜ ๋™์‹œ ์ž‘์—…๊ณผ ์ด๋ฒคํŠธ ์ŠคํŠธ๋ฆผ์„ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋น„๋™๊ธฐ ๋ฐ ๋น„์ฐจ๋‹จ ๊ธฐ์ˆ ์˜ ์‚ฌ์šฉ์„ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค.

ํ˜„๋Œ€ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์˜ ๋งฅ๋ฝ์—์„œ ๋ฆฌ์•กํ‹ฐ๋ธŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ •์˜ํ•˜๋Š” ๋„ค ๊ฐ€์ง€ ์ฃผ์š” ์›์น™์€ ์‘๋‹ต์„ฑ, ํƒ„๋ ฅ์„ฑ, ํƒ„๋ ฅ์„ฑ, ๋ฉ”์‹œ์ง€ ์ค‘์‹ฌ์ž…๋‹ˆ๋‹ค. ๋ฐ˜์‘ํ˜• ์‹œ์Šคํ…œ์€ ๋น ๋ฅด๊ณ  ์ผ๊ด€๋œ ์‘๋‹ต ์‹œ๊ฐ„์„ ์ œ๊ณตํ•˜์—ฌ ์งง์€ ๋Œ€๊ธฐ ์‹œ๊ฐ„๊ณผ ๋†’์€ ๋กœ๋“œ ์‹œ๋‚˜๋ฆฌ์˜ค ๋ชจ๋‘์—์„œ ๋งŒ์กฑ์Šค๋Ÿฌ์šด ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. ๋ณต์›๋ ฅ ์žˆ๋Š” ์‹œ์Šคํ…œ์€ ์˜ค๋ฅ˜๋กœ๋ถ€ํ„ฐ ์›ํ™œํ•˜๊ฒŒ ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ์–ด ์˜ค๋ฅ˜๋‚˜ ์ค‘๋‹จ์ด ๋ฐœ์ƒํ•˜๋”๋ผ๋„ ์‚ฌ์šฉ์ž์—๊ฒŒ ์›ํ™œํ•œ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํƒ„๋ ฅ์  ์‹œ์Šคํ…œ์€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฆฌ์†Œ์Šค์™€ ์ˆ˜์š”์— ๋”ฐ๋ผ ํšจ์œจ์ ์œผ๋กœ ํ™•์žฅ ๋˜๋Š” ์ถ•์†Œํ•  ์ˆ˜ ์žˆ์–ด ๋‹ค์–‘ํ•œ ์กฐ๊ฑด์—์„œ ์ตœ์ ์˜ ๋ฆฌ์†Œ์Šค ํ™œ์šฉ๋„๋ฅผ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”์‹œ์ง€ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜๋Š” ๊ตฌ์„ฑ ์š”์†Œ ๋˜๋Š” ์‹œ์Šคํ…œ ๊ฐ„์˜ ๋น„๋™๊ธฐ ํ†ต์‹ ์„ ์ด‰์ง„ํ•˜์—ฌ ๊ฒฉ๋ฆฌ๋œ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๊ณ  ์ „๋ฐ˜์ ์ธ ํ™•์žฅ์„ฑ๊ณผ ๋‚ด๊ฒฐํ•จ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.

๋ฆฌ์•กํ‹ฐ๋ธŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ๊ฐ’์„ ๋‚ด๋ณด๋‚ด๋Š” ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆผ ์—ญํ• ์„ ํ•˜๋Š” 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์— ์ด ํŒจ๋Ÿฌ๋‹ค์ž„์„ ์ˆ˜์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ์ตœ์†Œํ•œ์˜ ๋…ธ๋ ฅ๊ณผ ๋ณต์žก์„ฑ์œผ๋กœ ๊ณ ํ’ˆ์งˆ์˜ ๊ณ ์„ฑ๋Šฅ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.