Skip to main content

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 플랫폼은 구독 기반이며 자체 라이선스 계약이 필요합니다.

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 데이터와 원활하게 상호 작용할 수 있습니다. 

eCars 샘플 앱 자동차 컨피규레이터.

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 개발 시작하기 프로젝트를 진행하는 것이 좋습니다. 이 프로젝트를 통해 방금 배운 내용을 연습하고, 개발자 환경을 설정하고 플랫폼 기능 및 코드를 살펴보면서 기술을 한층 더 향상시킬 수 있습니다. 

리소스

Salesforce 도움말에서 Trailhead 피드백을 공유하세요.

Trailhead에 관한 여러분의 의견에 귀 기울이겠습니다. 이제 Salesforce 도움말 사이트에서 언제든지 새로운 피드백 양식을 작성할 수 있습니다.

자세히 알아보기 의견 공유하기