AppMaster ์™€ ๊ฐ™์€ no-code ํ”Œ๋žซํผ์˜ ๋งฅ๋ฝ์—์„œ WebSocket์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์„œ๋ฒ„ ๋ฐฑ์—”๋“œ ๊ฐ„์˜ ์‹ค์‹œ๊ฐ„ ํ†ต์‹ ์„ ์ œ๊ณตํ•˜์—ฌ ์ตœ์ข… ์‚ฌ์šฉ์ž์—๊ฒŒ ๋Œ€ํ™”ํ˜• ๋ฐ ๋™์  ๊ฒฝํ—˜์„ ์ œ๊ณตํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. WebSocket์€ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ์‚ฌ์ด์— ์ง€์†์ ์ธ ์–‘๋ฐฉํ–ฅ ํ†ต์‹  ์ฑ„๋„์„ ์„ค์ •ํ•˜์—ฌ ๋Œ€๊ธฐ ์‹œ๊ฐ„์„ ์ตœ์†Œํ™”ํ•˜๋ฉด์„œ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ์ตœ์‹  ์›น ๋ฐ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ์ž…๋‹ˆ๋‹ค. ์ด ๊ธฐ์ˆ ์€ ๊ธฐ์กด์˜ ๊ธด ํด๋ง ๊ธฐ์ˆ ์˜ ํ•„์š”์„ฑ์„ ํšจ๊ณผ์ ์œผ๋กœ ์ œ๊ฑฐํ•˜๊ณ  ๋‹ค์ค‘ HTTP ์—ฐ๊ฒฐ ์„ค์ • ๋ฐ ์œ ์ง€์™€ ๊ด€๋ จ๋œ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ์ค„์ž…๋‹ˆ๋‹ค.

WebSocket์€ 2008๋…„ HTML5 ์‚ฌ์–‘์˜ ์ผ๋ถ€๋กœ ์ฒ˜์Œ ์†Œ๊ฐœ๋œ ์ดํ›„ ์›น ๊ธฐ๋ฐ˜ ์‹ค์‹œ๊ฐ„ ํ†ต์‹ ์˜ ํ‘œ์ค€์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Chrome, Firefox, Safari, Edge๋ฅผ ํฌํ•จํ•œ ๋ชจ๋“  ์ฃผ์š” ์›น ๋ธŒ๋ผ์šฐ์ €๋Š” ๋ฌผ๋ก  ์ˆ˜๋งŽ์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ์ง€์›๋˜๋ฏ€๋กœ ๊ฐœ๋ฐœ์ž๋Š” ์‹ค์‹œ๊ฐ„ ๊ธฐ๋Šฅ์„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์›ํ™œํ•˜๊ฒŒ ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. WebSocket ํ”„๋กœํ† ์ฝœ(RFC 6455)์€ TCP๋ฅผ ํ†ตํ•ด ์ž‘๋™ํ•˜๋ฉฐ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์˜ ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•ด HTTP์™€ ์œ ์‚ฌํ•œ ํ•ธ๋“œ์…ฐ์ดํฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ HTTP์™€ ๋‹ฌ๋ฆฌ WebSocket ์—ฐ๊ฒฐ์€ ๊ฐ ๋ฐ์ดํ„ฐ ๊ตํ™˜ ํ›„์—๋„ ๋‹ซํžˆ์ง€ ์•Š์œผ๋ฏ€๋กœ ์ง€์†์ ์ธ ๋ฐ์ดํ„ฐ ์ „์†ก ๋ฐ ์ˆ˜์‹ ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

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

์˜ˆ๋ฅผ ๋“ค์–ด AppMaster ์‚ฌ์šฉ์ž๋Š” ๊ฐ•๋ ฅํ•œ Business Processes Designer๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„๋ฆฌ์Šค WebSocket endpoints ์„ค์ •ํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„œ๋ฒ„ ๋กœ์ง์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์›น ๋˜๋Š” ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๊ฐ™์€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์™€ ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ์ด๋ฅผ ํ†ตํ•ด ๋ณต์žกํ•œ ์ฝ”๋”ฉ์ด๋‚˜ ์ธํ”„๋ผ ๊ตฌ์„ฑ ์—†์ด๋„ ์ฆ‰๊ฐ์ ์ธ ์•Œ๋ฆผ, ๋ผ์ด๋ธŒ ์ฑ„ํŒ… ๊ธฐ๋Šฅ ๋˜๋Š” ์„œ๋ฒ„์˜ ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์—…๋ฐ์ดํŠธ๋ฅผ ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ AppMaster Socket.IO์™€ ๊ฐ™์€ ์—…๊ณ„ ํ‘œ์ค€ WebSocket ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€์˜ ํ†ตํ•ฉ์„ ์ง€์›ํ•˜์—ฌ ๋ฌธ์„œ์— ๋Œ€ํ•œ ์‹ค์‹œ๊ฐ„ ๊ณต๋™ ์ž‘์—…, ์ด๋ฒคํŠธ ๋ผ์ด๋ธŒ ์ŠคํŠธ๋ฆฌ๋ฐ ๋˜๋Š” IoT ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ๋ฐ ์ฒ˜๋ฆฌ์™€ ๊ฐ™์€ ๊ณ ๊ธ‰ ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ์šฉ์ดํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ†ตํ•ฉ์„ ํ†ตํ•ด AppMaster ์‚ฌ์šฉ์ž๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ํ•„์š” ์—†์ด ํŠน์ • ์š”๊ตฌ ์‚ฌํ•ญ์— ๋งž๋Š” ์ •๊ตํ•œ ์‹ค์‹œ๊ฐ„ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ๋ณต์žกํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

AppMaster ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋‚ด์˜ WebSocket ๊ตฌํ˜„์€ ํ”Œ๋žซํผ์ด WebSocket ์—ฐ๊ฒฐ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋‚ด์žฅ๋œ ์ธ์ฆ ๋ฐ ๊ถŒํ•œ ๋ถ€์—ฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ œ๊ณตํ•˜๋ฏ€๋กœ ๋งค์šฐ ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์Šน์ธ๋œ ํด๋ผ์ด์–ธํŠธ๋งŒ WebSocket ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณดํ˜ธํ•˜๊ณ  ์‹œ์Šคํ…œ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์œ„์—์„œ ์„ค๋ช…ํ•œ ์ด์  ์™ธ์—๋„ AppMaster ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ WebSocket์„ ์‚ฌ์šฉํ•˜๋ฉด ์ „๋ฐ˜์ ์ธ ์„ฑ๋Šฅ๊ณผ ํ™•์žฅ์„ฑ์ด ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค. WebSocket ์—ฐ๊ฒฐ์€ ๊ธฐ์กด HTTP ํด๋ง ๊ธฐ์ˆ ์— ๋น„ํ•ด ๋” ์ ์€ ๋ฆฌ์†Œ์Šค๋ฅผ ์†Œ๋น„ํ•˜๋ฏ€๋กœ AppMaster ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋ฐฑ์—”๋“œ ์ธํ”„๋ผ์— ๊ณผ๋„ํ•œ ๋ถ€๋‹ด์„ ์ฃผ์ง€ ์•Š์œผ๋ฉด์„œ ๋” ๋งŽ์€ ์ˆ˜์˜ ๋™์‹œ ์—ฐ๊ฒฐ๊ณผ ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ๊ตํ™˜์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ–ฅ์ƒ๋œ ํ™•์žฅ์„ฑ์œผ๋กœ ์ธํ•ด AppMaster ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์ˆ˜์ค€ ๋ฐ ๊ณ ๋ถ€ํ•˜ ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ํŠนํžˆ ์ ํ•ฉํ•˜๋ฉฐ ๋™์‹œ์— ์žฅ๊ธฐ์ ์œผ๋กœ ํ˜ธ์ŠคํŒ… ๋ฐ ์ธํ”„๋ผ ๋น„์šฉ์„ ์ ˆ๊ฐํ•ฉ๋‹ˆ๋‹ค.

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