Salesforce ์ธ์ด๋ก ์ฝ๋ฉํ๊ธฐ
ํ์ต ๋ชฉํ
์ด ์ ๋์ ์๋ฃํ๋ฉด ๋ค์์ ์ํํ ์ ์์ต๋๋ค.
- Salesforce๋ก ๊ฐ๋ฐํ๋ ๋ฐ ๋์์ด ๋๋ ์ธ์ด๋ฅผ ๋์ดํฉ๋๋ค.
- ์ด ๋จ์์์ ๋
ผ์ํ๋ ๊ฐ ์ธ์ด์ ์ด์ ์ ์ค๋ช
ํฉ๋๋ค.
- Apex๊ฐ Salesforce์์ ๊ฐ๋ฐ์ ์ง์ํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช
ํฉ๋๋ค.
์ ํํ ์ ์๋ ์ต์ ์์๋ณด๊ธฐ
์ง๊ธ๊น์ง ๋ ธ์ฝ๋์ ๋ก์ฐ์ฝ๋ ์ฌ์ฉ์ ์ ์ ๋ฐ ์๋ํ๋ฅผ ํ์ฉํด Agentforce 360 Platform์์ ํ๋ก ํธ์๋๋ฅผ ๊ฐ๋ฐํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์์ต๋๋ค. ์ฝ๋ฉ์ ํ๋ ๋ถ์ด๋ผ๋ฉด ์ด ์ ๋์ ์ ์ฐพ์์ค์ จ์ต๋๋ค. ์ฝ๋ฉ์ ํ์ง ์๋๋ผ๋ ์ฝ๋ฉ ๋ด๋น์์ ์ํตํ๋ ๋ฐ ๋์์ด ๋๋ Salesforce ๊ฐ๋ฐ์ ํต์ฌ ์์์ ๋ํด ์์๋ณผ ์ ์์ต๋๋ค.
Agentforce 360 Platform์ผ๋ก ๊ฐ๋ฐํ ๋ ์ฌ์ฉํ ์ ์๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก๋ ๋ค์์ ํฌํจํ์ฌ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์์ต๋๋ค.
- Lightning ์น ๊ตฌ์ฑ ์์ ํ๋ ์์ํฌ: AngularJS ๋๋ React์ ์ ์ฌํ JavaScript ๊ธฐ๋ฐ ์ฌ์ฉ์ ์ธํฐํ์ด์ค(UI) ๊ฐ๋ฐ ํ๋ ์์ํฌ.
- Apex: ๊ตฌ๋ฌธ์ด Java์ ์ ์ฌํ Salesforce์ ๋
์์ ์ธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด.
- Node.js: ํ์ฅ ๊ฐ๋ฅํ ๋คํธ์ํฌ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ตฌ์ถํ๋๋ก ์ค๊ณ๋ ๋น๋๊ธฐ์ ์ด๋ฒคํธ ์ค์ฌ JavaScript ๋ฐํ์.
DreamHouse ์ํ ์ฑ์์ ์ด๋ฌํ ๊ธฐ์ ์ ๊ฐ์ฅ ์ ๋ณด์ฌ์ฃผ๋ ๋ถ๋ถ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
Lightning ์น ๊ตฌ์ฑ ์์
Lightning ์น ๊ตฌ์ฑ ์์(LWC)๋ ๋ฐ์คํฌํ ๋ฐ ๋ชจ๋ฐ์ผ์ฉ UI ๊ฐ๋ฐ ํ๋ ์์ํฌ์ ๋๋ค. ์ด๋ฆ์์ ์ ์ ์๋ฏ์ด, ์ด ํ๋ ์์ํฌ๋ ๊ตฌ์ฑ ์์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก UI ๊ฐ๋ฐ์ ์ ๊ทผํ๋ ๋ฐฉ์์ ๋๋ค. ์ฌ์ ๊ตฌ์ถ ๋ฐ ์ฌ์ฉ์ ์ ์ Lightning ์น ๊ตฌ์ฑ ์์๋ฅผ ์ฌ์ฉํ๋ฉด ์ธ๋ จ๋๊ณ ์ผ๊ด๋ ์ฑ UI๋ฅผ ๋น ๋ฅด๊ฒ ๊ฐ๋ฐํ ์ ์์ต๋๋ค.
AngularJS, React ๋๋ Polymer ๊ฐ์ ํ๋ ์์ํฌ์ ์ต์ํ๋ค๋ฉด Lightning ์น ๊ตฌ์ฑ ์์์ ๋ฌด์์ ๊ธฐ๋ํ ์ ์๋์ง ์ ์๊ณ ์์ ๊ฒ์ ๋๋ค. ๋ฌผ๋ก Lightning ์น ๊ตฌ์ฑ ์์๋ Salesforce์ ๋ชจ๋ ๋น์ฆ๋์ค ๋ฐ์ดํฐ์ ํจ๊ป ์ฌ์ฉํ ์ค๋น๊ฐ ๋์ด ์๋ค๋ ์ฅ์ ์ด ์์ต๋๋ค.
์ง๋ ์ ๋์ Lightning ์ฑ ๋น๋์์ ์ดํด๋ณธ ๊ฒ๊ณผ ๊ฐ์ ์์ฑ์ ์ดํด๋ณด๋, ์ด๋ฒ์๋ DreamHouse ์ฑ์ ์์ฑ ํญ์์ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์ด ํ์ด์ง์๋ ๋ง์ Lightning ์น ๊ตฌ์ฑ ์์๊ฐ ์์ง๋ง ์ฌ๊ธฐ์๋ ํนํ ์ง๋๋ผ๋ ํ๋์ ๋ง์ถคํ ๊ตฌ์ฑ ์์์ ์ค์ ์ ๋ก๋๋ค. ์ด ์ง๋๋ ๊ฐ๋จํ๊ฒ ๋ถ๋์ฐ์ ์์น๋ฅผ ํ์ํฉ๋๋ค. ์ฌ์ฉ์๋ ์ง๋๋ฅผ ํ๋ํ์ฌ ๋ถ๋์ฐ๊ณผ ์ฃผ๋ณ ํ๊ฒฝ์ ๋ํ ์์ธํ ์ ๋ณด๋ฅผ ๋ณผ ์ ์์ต๋๋ค.

์ด ๊ตฌ์ฑ ์์๊ฐ ์ด๋ป๊ฒ ๋ง๋ค์ด์ก๋์ง ์ดํด๋ณด๊ฒ ์ต๋๋ค.
์ฌ๊ธฐ๊น์ง Trailhead Playground๋ฅผ ์ ๋ฐ๋ผ์ค์ จ๋ค๋ฉด ์ ๋ง ๋๋จํ ๊ฒ์ ๋๋ค. ์ด์ ๋ถํฐ๋ Code Builder๋ฅผ ์ฌ์ฉํ์ฌ DreamHouse ์ฑ ๋ด๋ถ์ ์ฝ๋ ์คํฌ๋ฆฐ์ท์ ๋ณด์ฌ ๋๋ฆฌ๊ฒ ์ต๋๋ค.
Code Builder๋ Salesforce๊ฐ ๊ฐ์ฅ ๊ถ์ฅํ๋ ํตํฉ ๊ฐ๋ฐ ํ๊ฒฝ(IDE)์ผ๋ก์, ์กฐ์ง์์ ์ฝ๋๋ฅผ ๊ฐ๋ฐํ๊ณ ๋๋ฒ๊น ํ๊ณ ํ ์คํธํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋ ์์ ์์๋ ์์ฑ ๊ตฌ์ฑ ์์, ํนํ Code Builder์ ๋งต ๋ง์ถคํ ๊ตฌ์ฑ ์์์ ๋ํ ์ฝ๋๋ฅผ ์ดํด๋ด ๋๋ค. ์ ์ ์๊ฐ์ ๋ด์ด ๋ช ๊ฐ์ง ํ์ ์์๋ฅผ ์ดํด๋ณด์ธ์. HTML ํ์ผ์ HTML ์ผ๋ถ๊ฐ ์ ์ฅ๋๋ <template> ํ๊ทธ๋ฅผ ์ฌ์ฉํฉ๋๋ค.

JavaScript ํ์ผ์๋ ๊ตฌ์ฑ ์์์ ์๋ ๋ฐฉ์์ ์ ์ํ๋ ๋ฉ์๋๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.

Lightning ์น ๊ตฌ์ฑ ์์์๋ ๊ตฌ์ฑ ์์์ ์คํ์ผ์ ์ง์ ํ๋ .css ํ์ผ์ด ์์ ์ ์์ง๋ง, ์ด ๊ตฌ์ฑ ์์์๋ .css ํ์ผ์ด ์์ต๋๋ค. Code Builder์ ์ผ์ชฝ ์ด์์๋ .xml ํ์ผ๊ณผ ํ ์คํธ ํด๋๋ฅผ ํฌํจํ์ฌ ์ด ๊ตฌ์ฑ ์์์ ๋ฒ๋ค์ ํฌํจ๋ ์ผ๋ถ ์ถ๊ฐ ์์ฐ๋ ๋ณผ ์ ์์ต๋๋ค.ย
Lightning ์น ๊ตฌ์ฑ ์์์ ๋ ๋ค๋ฅธ ์ฅ์ ์ ๊ตฌ์ฑ ์์๊ฐ ๋ชจ๋ฐ์ผ์ ์ ํฉํ์ง ์ฝ๊ฒ ํ์ธํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ๋ชจ๋ฐ์ผ ์๋ฎฌ๋ ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ Lightning ์น ๊ตฌ์ฑ ์์๋ฅผ ํ์ธํ๊ณ ๋๋ฒ๊น ํด์ ๋ชจ๋ฐ์ผ ์ฌ์ฉ์์๊ฒ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์๋๋ก ํ์ธ์.
Lightning ์น ๊ตฌ์ฑ ์์์ ๋ํ ์์ธํ ์ ๋ณด๋ ์๋ ๋ฆฌ์์ค ์น์ ์ ์ฐธ์กฐํ์ธ์.
Apex
Apex๋ ์ ํ์ด ๋ช ํํ๊ฒ ์ง์ ๋ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก, Salesforce ๊ฐ๋ฐ์๊ฐ ๋ฒํผ ํด๋ฆญ ๋ฐ ๊ด๋ จ ๋ ์ฝ๋ ์ ๋ฐ์ดํธ์ ๊ฐ์ ์์คํ ์ด๋ฒคํธ์ ๋น์ฆ๋์ค ๋ก์ง์ ์ถ๊ฐํ๋๋ก ํ ์ ์์ต๋๋ค.
์์์ ๋ก์ฐ์ฝ๋ ์๋ํ ๋๊ตฌ๋ก ์ฌ์ฉ๋๋ Flow Builder์ ๋ํด ์ค๋ช ํ์ต๋๋ค. ์ด ๋๊ตฌ๋ ๋ก์ฐ์ฝ๋์ง๋ง, Apex๋ฅผ ์์ฑํ์ฌ Flow Builder์ ๊ธฐ๋ฅ์ ํ์ฅํ ์๋ ์์ต๋๋ค. ๋๋ Apex๋ง์ผ๋ก ๋ ๋ณต์กํ ์ฑ์ ๊ตฌ์ถํ ์๋ ์์ต๋๋ค. ์ ๋ 2์์ ๋ณด์๋, DreamHouse ์ฑ์์ ์ ๋ถ๋์ฐ ๋ ์ฝ๋๋ฅผ ์์ฑํ๊ธฐ ์ํด ์ ๋ณด๋ฅผ ์์งํ๋ ํ๋ฉด ํ๋ก์ ์ฝ๋๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
Java์์ ๊ฐ๋ฐํ ์ ์ด ์๋ค๋ฉด ์ด ํด๋์ค์ ๊ธฐ๋ฅ์ ๋ํด ๋๋ถ๋ถ ์ค์ค๋ก ์์๋ผ ์ ์์ ๊ฒ์ ๋๋ค. ๋ค์ ๋ง์๋๋ฆฌ์ง๋ง, ์ด ๊ตฌํ์ ๋ํด์๋ ์์ธํ๊ฒ ์ค๋ช ํ์ง ์๊ฒ ์ต๋๋ค. Java์ ์ ์ฌํ ๊ตฌ๋ฌธ ์ธ์, ๊ธฐ์ตํ ์ฌํญ์ด ๋ช ๊ฐ ๋ ์์ต๋๋ค.

- ๊ฐ ํด๋์ค์๋
@InvocableVariable.๋ก ์ฃผ์์ด ๋ฌ๋ฆฐ ์์ฑ์ดGeocodingAddress๋ฐCoordinates๋ด๋ถ ํด๋์ค์ ์์ต๋๋ค. ๋ฐ์ดํฐ๋ฅผ ํ๋ก์ ์ ๋ฌํ๋ ๋ฐ ์ด๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ์ด์ ํ๋ก ์์
์ผ๋ก ํธ์ถํ ์ ์๋๋ก
geocodeAddressesApex ๋ฉ์๋์@InvocableMethod๋ก ์ฃผ์์ ๋ฌ์์ต๋๋ค.
-
geocodeAddresses๋ฉ์๋๋ ํ์ฌ ์๋น์ค์ HTTPCallout์ ์ํํ์ฌ ์ฃผ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ฑ ์ขํ๋ฅผ ์์ฑํฉ๋๋ค.
๋ฌผ๋ก Flow ํ์ฅ์ Apex๋ฅผ ์ฌ์ฉํ์ฌ ์กฐ์ง์ ๊ธฐ๋ฅ์ ํฅ์์ํฌ ์ ์๋ ์ฌ๋ฌ ๊ฐ์ง ๋ฐฉ๋ฒ ์ค ํ๋์ผ ๋ฟ์ ๋๋ค. ์์ธํ ๋ด์ฉ์ ์๋ ๋ฆฌ์์ค ์น์ ์ ์ฐธ์กฐํ์ธ์.
Node.js
Node.js๋ ํ์ฅ ๊ฐ๋ฅํ ๋คํธ์ํฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๋๋ก ์ค๊ณ๋ ๋น๋๊ธฐ ์ด๋ฒคํธ ์ค์ฌ JavaScript ๋ฐํ์์ ๋๋ค. Salesforce์์๋ ๊ฐ๋ฐ์ ๋๊ตฌ์ Node.js๋ฅผ ์ฌ์ฉํ์ง๋ง ํ๋ซํผ์์ Node.js๋ก ์ง์ ์ฝ๋ฉ์ ์ํํ์ง๋ ์์ต๋๋ค.
Salesforce CLI์์ force:project:create ๋ช
๋ น์ ์ฌ์ฉํ๊ฑฐ๋ Code Builder ๋ช
๋ น ํ๋ ํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ ํ๋ก์ ํธ๋ฅผ ๋ง๋๋ ๊ฒฝ์ฐ, ๊ฐ๋ฐ์ ๊ฒฝํ์ ๊ฐ์ ํ๊ธฐ ์ํด Node.js ์คํฌ๋ฆฝํธ ๋ฐ ์ ํธ๋ฆฌํฐ ์ธํธ๊ฐ ํ๋ก์ ํธ์ ํฌํจ๋์ด ์์ต๋๋ค. Node.js๋ OS์ ๊ตฌ์ ๋ฐ์ง ์๋ ์คํฌ๋ฆฝํ
์์ง์ผ๋ก Prettier๋ก ์์ ์ง์ , ESLint๋ก ๋ฆฐํ
, Jest๋ก Lightning ์น ๊ตฌ์ฑ ์์ ์ฝ๋ ํ
์คํธ ๋ฑ์ ์์
์ ์ฌ์ฉํ ์ ์์ต๋๋ค.

์ง๊ธ๊น์ง Agentforce 360 Platform์์ ์ฌ์ฉ์ ์ ์์ ์ฌ์ฉํ ์ ์๋ ๋ช ๊ฐ์ง ์ผ๋ฐ์ ์ธ ์ธ์ด์ ํ๋ ์์ํฌ๋ฅผ ์์๋ณด์์ต๋๋ค. ๋ค์ ์ ๋์์๋ ์กฐ์ง ์ ์ฒด์์ ๊ธฐ๋ฅ์ ๋์ฑ ํ์ฅํ๊ธฐ ์ํด ํตํฉํ ์ ์๋ ๋๊ตฌ ๋ฐ ์ ํ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
๋ฆฌ์์ค
- Trailhead: Lightning ์น ๊ตฌ์ฑ ์์ ๊ธฐ์ด
- Trailhead: Lightning ์น ๊ตฌ์ฑ ์์ ํ ์คํธ
- Trailhead: Lightning ์น ๊ตฌ์ฑ ์์์ฉ ๋ชจ๋ฐ์ผ ๊ฐ๋ฐ ๋๊ตฌ ์ค์
- Trailhead: ๊ด๋ฆฌ์๋ฅผ ์ํ Apex ๊ธฐ์ด ์ฌํญ
- Trailhead: ์ํฌ์คํ์ด์ค ์ค์ ๋ฐ ๊ฐ๋ฐ์ ๋๊ตฌ ์ค์นํ๊ธฐ
