Salesforce Platform 확장하기
학습 목표
이 유닛을 완료하면 다음을 수행할 수 있습니다.
- API를 통해 Salesforce를 외부 시스템과 통합하는 방법을 설명합니다.
- Heroku 플랫폼의 기능을 알아봅니다.
- 특정 조직의 요구 사항을 충족하도록 Einstein 플랫폼 제품을 사용자 정의하는 방법을 설명합니다.
Salesforce Platform API 알아보기
앞서 Lightning 앱 빌더 및 기본 플로와 같은 도구를 사용하여 Salesforce에서 노코드 및 로우코드 사용자 정의와 자동화를 만드는 방법을 알아보았습니다. 이런 도구는 Salesforce의 기본 API와 상호작용이 거의 필요하지 않습니다.
프로그래밍 기반(백엔드) 개발로 점점 나아가면 Salesforce 데이터에 다양한 방법으로 액세스하기 위해 사용할 수 있는 여러 강력한 API를 발견하게 됩니다. 간단히 말해 조직의 모든 개체에는 API 이름이 있고, 이 이름으로 해당 개체에 대한 데이터에 액세스할 수 있습니다. 지난 유닛에서 살펴본 Dreamhouse 샘플 앱의 Propertymap.js 파일을 다시 한 번 살펴보겠습니다.
11~15번째 줄을 주목하세요. 이 줄에서 __c
는 개체가 사용자 정의 개체 또는 필드임을 나타냅니다. 이는 propertyMap 개체에 대해 자동으로 생성된 API 액세스 포인트로, 조직의 자산에 대한 정보를 검색하는 데 사용됩니다.
다음은 Salesforce에서 제공하며 일반적으로 사용되는 API와 각 API의 용도에 대한 간략한 설명입니다.
API
|
가능한 용도
|
---|---|
SOAP API |
표준 SOAP 프로토콜을 사용해 조직의 데이터를 다른 애플리케이션과 통합할 수 있습니다. |
REST API |
표준 REST 프로토콜을 사용해 조직의 개체에 액세스할 수 있습니다. |
메타데이터 API |
조직의 사용자 정의 개체를 관리하고, 메타데이터 모델을 관리하는 도구를 만들 수 있습니다. |
도구 API |
플랫폼 애플리케이션에 사용할 사용자 정의 개발 도구를 만들 수 있습니다. |
Marketing Cloud API |
REST API로 Marketing Cloud Engagement 기능을 표시하고 SOAP API로 대부분의 이메일 기능에 대한 포괄적인 접근 권한을 얻을 수 있습니다. |
대량 API |
큰 데이터 집합을 로드 및 삭제하고, 이 데이터 집합에 대한 비동기 쿼리를 수행할 수 있습니다. |
스트리밍 API |
알림을 안전하고 효율적으로 전송 및 수신할 수 있습니다. 알림에는 조직의 데이터 변경이나 사용자 정의 이벤트가 표시될 수 있습니다. |
Connect REST API |
Commerce, CMS-Managed Content, Experience Cloud Sites, Files, Notifications, Topics(상거래, CMS 관리 콘텐츠, 익스피리언스 클라우드 사이트, 파일, 알림, 주제) 등의 UI를 만들 수 있습니다. |
게시/제출 API |
플랫폼 이벤트 게시 및 구독을 위한 단일 인터페이스로, 실시간 이벤트 모니터링 이벤트와 변경 데이터 캡처 이벤트를 포함합니다. |
GraphQL |
데이터 전송 및 수신의 새로운 패러다임으로, 클라이언트가 한 번의 요청으로 필요한 모든 데이터를 호출할 수 있는 단일 엔드포인트를 제공합니다. |
Mobile SDK |
엄밀히 말하면 소프트웨어 개발 키트지만, 여기에 포함한 이유가 있습니다. 네이티브 또는 하이브리드 모바일 앱을 Salesforce와 직접 통합할 수 있습니다. |
아래의 리소스 섹션에서 Salesforce API에 대해 알아볼 더 많은 방법을 찾을 수 있습니다.
Salesforce와 통합하기 위한 기타 옵션
Salesforce가 얼마나 많은 일을 할 수 있는지 말씀드렸지만, 사실은 Salesforce가 모든 일을 할 수 없거나 오히려 하지 않는다는 표현이 맞습니다. API에 대한 설명을 읽다 보면 '통합'이라는 단어를 여기저기서 보셨을 것입니다. 그 이유는 API를 사용하여 Salesforce 내에서 데이터를 동기화할 수 있을 뿐만 아니라, Salesforce에서 하지 않는 작업을 수행하는 외부 시스템으로 데이터를 주고받을 수도 있기 때문입니다.
예를 들어, 특정 데이터와 동기화되는 급여 앱과 Salesforce를 통합하여 직원들이 제때 급여를 받고 세금 및 복리후생 비용을 정확하게 공제받도록 할 수 있습니다. Dreamhouse의 경우 주택 구매자가 새 부동산에 대한 계약 서류에 서명할 때 보안을 위해 Salesforce 부동산 레코드를 DocuSign과 같은 앱과 통합할 수 있습니다.
API만이 Salesforce를 외부와 통합하는 유일한 방법은 아닙니다. SalesforceConnect, HerokuConnect, MuleSoft Composer, Apex와 같은 솔루션을 사용하면 조직 전체의 시스템과 데이터를 쉽게 통합하여 거의 모든 비즈니스 요구 사항을 해결할 수 있습니다. 이러한 도구에 대해 더 알아볼 수 있는 링크는 이 유닛 끝에 있는 리소스 섹션을 참조하세요.
플랫폼 이벤트
또 다른 유형의 통합은 플랫폼 이벤트입니다. 플랫폼 이벤트를 사용하면 발신자가 수신자에게 무전을 전송하는 것처럼 시스템을 모니터링하고 다른 시스템에 변경 사항을 전달할 수 있습니다. 예를 들어 조카를 위한 생일 선물을 주문하고 선물의 배송이 시작되었을 때와 조카에게 전달되었을 때 메시지를 받을 수 있습니다. 또는 구독하는 뉴스 출처에서 뉴스 속보에 대한 메시지를 보낼 수도 있습니다.
플랫폼 이벤트는 프로세스, 플로 또는 Apex를 사용하여 Salesforce 내부 및 외부와 통신하거나, Salesforce API를 사용하는 외부 앱과도 통신합니다. 플랫폼 이벤트에 대해 더 알아볼 수 있는 링크는 리소스 섹션을 참조하세요.
추가적인 이점
지금까지 다룬 주제는 개발 환경에 어느 정도 필수적인 것들과 관련이 있었습니다. 하지만 Salesforce는 비즈니스에서 최대한의 효과를 얻을 수 있도록 기술을 유연하게 활용할 수 있는 다른 방법도 제공합니다. 다음은 Salesforce를 사용하여 비즈니스 내부 직원과 고객을 위한 놀라운 경험을 구축할 수 있는 몇 가지 추가적인 방법입니다.
Heroku로 앱의 활용성 극대화하기
API는 Salesforce의 내부 및 외부 시스템 모두에서 사용할 수 있지만, Heroku는 외부 시스템에서만 사용할 수 있습니다. Heroku는 빠르게 웹 앱을 만들고 배포하고 확장하기 위한 탄력적인 확장 솔루션입니다.
Heroku의 장점 중 하나는 앱을 유연하게 만들 수 있다는 것입니다. Java를 선호하면 Java로 앱을 만들 수 있습니다. Python 골수팬에게도 Heroku는 방해가 되지 않습니다. PHP를 선호한다면 PHP를 마음껏 사용하세요.
Heroku는 Amazon Web Services(AWS) 기반이므로, 표준 웹 앱 개발에서 인프라에 대해 우려할 수 있는 많은 문제가 자동으로 해결됩니다. 게다가 Heroku Connect로 Salesforce 데이터와 Heroku Postgres 데이터를 통합하면 여러 플랫폼 간에 움직이는 정보를 관리하지 않아도 됩니다. 인프라나 데이터 저장소에 대해 걱정하지 않아도 되면 새로운 개발에 집중할 수 있는 시간이 많아집니다.
앞서 Heroku가 외부와의 상호 작용에 중점을 둔다고 했으니, 고객 관점에서 Heroku가 어떤 모습인지 궁금하실 것입니다. 이를 살펴보기 위해 Salesforce 샘플 앱 갤러리와는 다른 앱인 eCars 샘플 앱을 살펴보겠습니다. eCars 샘플 앱은 가상의 전기차 제조업체를 기반으로 한 자동차 판매 및 서비스 애플리케이션입니다.
이 앱에서 고객은 공개용 Heroku 웹 앱을 통해 새 전기차를 구성할 때 API를 사용하여 eCars Salesforce 데이터와 원활하게 상호 작용할 수 있습니다.
Salesforce Einstein으로 예측
Salesforce Einstein은 Salesforce를 더욱 스마트하게 만들고 Salesforce 협력체계의 모든 사람에게 AI를 지원하는 통합 AI 기술 세트입니다. Einstein의 인사이트와 인공 지능은 비즈니스가 세상과 소통하는 방식을 변화를 가져다 줄 것입니다. Einstein을 살펴보면 이미 모든 사항을 고려했다고 생각할 정도로 풍부한 기본 기능을 제공한다는 사실을 알 수 있습니다. 하지만 Einstein을 사용자 정의할 수 있다는 것도 알고 계셨나요? 몇 가지 사례를 살펴보세요.
- Einstein Bots를 사용자 정의하여 지원을 원하는 고객에게 해당 상황에 적절한 AI 기반의 지원을 즉각적으로 제공하는 스마트 어시스턴트를 구축할 수 있습니다.
- Einstein 예측 빌더를 조정하여 거의 모든 유형의 데이터를 가져와서 조직 내 사람들이 생각할 수 있는 대부분의 비즈니스 질문이나 우려 사항에 대한 답변을 예측하세요.
- Einstein Next Best Action과 Einstein Discovery를 사용하면 사용자 정의에 따라 적시에 적절한 사람에게 유용한 인사이트와 분석 결과를 제공할 수 있습니다.
- Einstein Vision 및 Language를 사용자 정의하여 소셜 미디어를 포함한 웹의 이미지와 같은 원시 데이터를 분석하여 트렌드와 분위기를 파악하고 조직이 제공하는 제품이나 서비스에 대한 타겟 피드백 및 분석을 제공하세요.
- Einstein 생성형 AI에게 질문이나 문장과 같은 프롬프트를 제공하면 회사의 데이터를 기반으로 정확한 답변을 받을 수 있습니다. Einstein 생성형 AI는 사람처럼 글을 작성하도록 학습되었으며, Salesforce에 내장되어 있으므로 생성하는 모든 내용을 비즈니스에 적합하게 조정할 수 있습니다.
요약
이 모듈에서 많은 내용을 다루었지만, 이 플랫폼이 할 수 있는 일의 표면적인 부분에 불과합니다. 우선은 Salesforce Platform이 무엇인지, 그리고 이를 사용하여 노코드 또는 로우코드 도구와 자동화를 통해 빠르게 개발하는 방법을 알아보았습니다. 또한 플랫폼의 백엔드 코딩 요소에 대해서도 다루었으며, Lightning 웹 구성 요소, Apex, Node.js 및 기타 표준 코딩 플랫폼에 대해서도 설명했습니다. 마지막으로 Salesforce Platform을 확장하는 새롭고 흥미진진한 몇 가지 방법을 알아보았습니다.
이 모듈에서 또 중요한 점은 플랫폼이 매우 동적이라는 것입니다. 더 빨라진 개발 기능부터 Salesforce와 통합되는 여러 기술까지, Salesforce org를 확장하기 위해 선택할 수 있는 수많은 옵션이 있습니다.
Trailhead를 계속 진행하면서 여기서 설명했던 기술에 대해 훨씬 더 많은 부분을 알아볼 것입니다. 또한 Salesforce 개발자 문서는 Salesforce Platform의 사용자 정의에 관한 모든 정보를 얻을 수 있는 최고의 리소스입니다. 여기에서 개발자 가이드, 블로그, 커뮤니티 등 시작과 여정에 도움이 되는 풍부한 정보를 얻을 수 있습니다.
다음 단계는 무엇일까요?
다음으로는 Salesforce 개발 시작하기 프로젝트를 진행하는 것이 좋습니다. 이 프로젝트를 통해 방금 배운 내용을 연습하고, 개발자 환경을 설정하고 플랫폼 기능 및 코드를 살펴보면서 기술을 한층 더 향상시킬 수 있습니다.