본문 바로가기

개발자정보

세일즈포스 Platform Development Basics

반응형

플랫폼 개발 시작하기

학습 목표

이 단원을 완료하면 다음을 수행할 수 있습니다.

  • Salesforce 플랫폼을 정의합니다.
  • 플랫폼으로 구축할 수 있는 앱의 종류를 설명하세요.
  • 드림하우스 앱을 설치합니다.

Salesforce 플랫폼을 만나보세요

Salesforce에서는 서비스를 클라우드별로 그룹화합니다. CRM용 Sales Cloud, 고객 지원용 Service Cloud 및 기업이 비즈니스 기능을 지원하는 데 도움이 되는 몇 가지 기타 클라우드가 있습니다. 이러한 클라우드는 각각 고유한 목적을 제공하지만 모두 공통점이 하나 있습니다. 바로 Salesforce 플랫폼의 힘입니다.

Salesforce 플랫폼이 정확히 무엇입니까?

다른 플랫폼과 마찬가지로 Salesforce 플랫폼은 그 위에 다른 기술의 개발을 지원하는 기술 그룹입니다. 독특한 점은 플랫폼이 모든 Salesforce 클라우드를 지원할 뿐만 아니라 고객 및 파트너가 구축한 사용자 정의 기능도 지원한다는 것입니다. 이 기능은 단순한 페이지 레이아웃에서 본격적인 애플리케이션에 이르기까지 다양합니다.

오늘 이 자리에 계시다면 소프트웨어 개발에 대해 어느 정도 알고 있다고 가정합니다. 이 모듈 전체에서 Salesforce 플랫폼의 개발 개요를 제공합니다. Salesforce 개발의 몇 가지 기둥과 이들이 함께 작동하여 강력한 시스템을 만드는 방법에 대해 이야기합니다. 심지어 플랫폼을 처음 접하는 개발자가 시작하면서 부딪히는 몇 가지 일반적인 질문에 대해서도 다룹니다.

계속하기 전에 같은 페이지에 있는지 확인하겠습니다. Salesforce를 처음 사용하고 Salesforce Platform Basics 모듈을 완료하지 않은 경우 계속 읽기 전에 완료하는 것이 좋습니다.

이 작업이 완료되면 시작할 준비가 된 것입니다!

플랫폼 빌딩 블록

앞서 언급했듯이 플랫폼은 Sales Cloud 및 Service Cloud와 같은 핵심 Salesforce 제품의 기반을 형성할 뿐만 아니라 고유한 기능을 구축할 수도 있습니다. 고유한 기능을 구축한다는 것은 기존 Salesforce 제품을 사용자 지정하는 것을 의미하거나 처음부터 무언가를 구축하는 것을 의미할 수 있습니다.

후반부에 초점을 맞추고 Salesforce 플랫폼이 개발자에게 제공하는 것에 대해 이야기해 보겠습니다.

당사의 핵심 플랫폼을 사용하면 데스크탑 및 모바일용 맞춤형 데이터 모델 및 애플리케이션을 개발할 수 있습니다. 또한 개발 기반의 플랫폼을 사용하여 빠른 속도로 강력한 시스템을 구축할 수 있습니다.

그리고 Heroku 플랫폼이 있습니다. Heroku는 개발자에게 Python, Ruby, Go 등을 사용하여 확장성이 뛰어난 웹 앱 및 백엔드 서비스를 구축할 수 있는 기능을 제공합니다. 또한 Salesforce의 데이터와 원활하게 동기화할 수 있는 데이터베이스 도구를 제공합니다.

그리고 Salesforce API의 호스트가 있습니다. 이를 통해 개발자는 모든 엔터프라이즈 데이터, 네트워크 및 ID 정보를 통합하고 연결할 수 있습니다.

그리고 모바일 SDK가 있습니다. 모바일 SDK는 Salesforce 앱과 동일한 안정성과 보안을 갖춘 기본, HTML5 및 하이브리드 앱을 빌드할 수 있는 기술 모음입니다.

그리고... 잠깐. 잠시만 멈추자.

플랫폼과 그 모든 부분의 문제는 그것들을 나열하는 데 정말 오랜 시간이 걸린다는 것입니다. 그리고 그들에 대해 이야기하는 것만으로는 그들이 하는 모든 일을 이해하는 데 도움이 되지 않습니다. 다른 접근 방식을 취하고 플랫폼으로 할 수 있는 일에 대해 이야기해 보겠습니다. 또는 더 정확하게는 그것을 사용하여 구축할 수 있는 것입니다.

드림하우스 앱

시나리오를 띄워보자. 이 모듈의 나머지 부분에서 이 시나리오를 사용하여 Salesforce 플랫폼이 제공하는 많은 흥미로운 도구와 기술을 탐색합니다.

귀하는 주택 구매자와 부동산 중개인을 더 잘 연결하기 위해 부동산 목록을 집계하는 회사인 DreamHouse Realty의 개발자입니다. 상사는 부동산 목록을 추적하는 새로운 시스템을 구축하도록 요청합니다. 내부 직원은 이를 사용하여 자산을 추적하고 커뮤니케이션합니다. 파트너 부동산 중개인은 이를 사용하여 고객에 대한 정보에 액세스합니다. 그리고 귀하의 고객은 부동산을 보고 중개인에게 연락하여 조회할 것입니다.

처음부터 이와 같은 앱을 구축하는 것은 쉬운 일이 아닙니다. 실생활에서 이 프로젝트를 수행하려면 길고 복잡한 기능 요구 사항 목록과 회사의 비즈니스 데이터에 대한 특수 통합 구현이 포함될 수 있습니다. 혼자 일하면 문 밖으로 무언가를 꺼내는 데 몇 달이 걸릴 수 있습니다.

그러나 스트레스가 쌓이고 실존적 공포의 웅덩이에 빠지기 전에 기억하십시오. 플랫폼이 있습니다. 그리고 엄청난 속도로 복잡한 비즈니스 애플리케이션을 구축하는 것이 플랫폼의 핵심입니다.

DreamHouse 앱의 완전한 기능 버전을 보여드릴 것이므로 앱이 어떻게 만들어졌는지 감을 잡을 수 있습니다. 진행하면서 앱을 사용하여 중요한 Salesforce 개발 개념에 대해 논의합니다.

드림하우스 앱 설치

이 모듈의 단계를 따르고 연습하려면 Trailhead Playground에 DreamHouse 패키지를 설치해야 합니다. 여기의 지침에 따라 플레이그라운드를 시작하고 패키지를 설치하세요. 또한 실습 과제를 완료해야 할 때 이 패키지와 플레이그라운드를 사용합니다.

메모

Internet Explorer를 선택한 브라우저라면 플랜 B로 이동해야 합니다. DreamHouse 앱의 일부 기능은 Internet Explorer에서 완전히 지원되지 않으므로 이 모듈의 나머지 부분에서 다음으로 즐겨 사용하는 브라우저로 전환하십시오.

이 페이지 하단으로 스크롤하고 시작 을 클릭하여 Trailhead Playground를 시작 합니다. 조직에 패키지 설치라는 탭이 표시되면 좋습니다. 아래 단계를 따르세요.

그렇지 않은 경우 앱 런처( 

)에서 Playground Starter를 찾아 선택 하고 단계를 따릅니다. Playground Starter 앱이 표시되지 않으면 이 패키지 설치 링크를 복사 하고 Trailhead 도움말 에서 Trailhead Challenge를 완료하기 위해 패키지 또는 앱 설치를 확인하십시오 .

  1. 패키지 설치 탭을 클릭합니다.
  2. 필드에 04tB00000009UeX를 붙여넣습니다.
  3. 설치 를 클릭 합니다 .
  4. 선택 모든 사용자를위한 설치 , 다음을 클릭합니다 설치 .

모듈을 통해 이 앱의 일부를 살펴보지만 계속 진행하기 전에 자유롭게 둘러보세요.

 

코드 없이 개발

학습 목표

이 단원을 완료하면 다음을 수행할 수 있습니다.

  • 메타데이터 기반 개발 모델의 이점을 설명합니다.
  • 노코드 및 로우코드 개발 접근 방식의 예를 정의하고 제공합니다.

메타데이터의 힘

Salesforce 플랫폼 기본 사항 모듈을 완료했다면 Salesforce 용어에 대한 논의를 기억할 것입니다. 특히, 우리는 세 가지 중요한 용어인 objects , fields  records 를 정의했습니다 . 그 정의를 한 단계 더 발전시켜 봅시다.

Salesforce에서 데이터를 볼 때 일반적인 관계형 데이터베이스 위에 있는 사용자 인터페이스를 보고 있다고 생각할 수 있습니다. 그러나 실제로 보고 있는 것은 플랫폼의 메타데이터 인식 아키텍처에 의해 구동되는 데이터베이스의 추상화입니다.

이 추상화에서 객체는 데이터베이스 테이블입니다. 해당 개체의 필드는 열이고 레코드는 데이터베이스의 행입니다. 이 비유는 기본적으로 Salesforce와 함께 제공되는 표준 개체  사용자가 직접 만든 사용자 정의 개체에 모두 해당됩니다.

레코드 세부 정보 페이지에서 작동 중인 메타데이터를 볼 수 있습니다. 계정 레코드에 대한 이 세부 정보 페이지에서 유형, 계정 번호 및 웹 사이트와 같은 필드 이름을 볼 수 있습니다. 앱의 구조를 정의하는 메타데이터입니다. 이러한 각 필드의 값은 실제 데이터이며 데이터 모델 측면에서 특별히 관련이 없습니다.

요컨대, 메타데이터는 조직의 구조를 형성합니다. 필드를 정의하든, 비즈니스 프로세스를 정의하든, 더 복잡한 것을 정의하든 메타데이터는 구성을 유지합니다. 그런 다음 플랫폼은 관련 데이터와 함께 사용자 인터페이스에서 앱의 메타데이터를 렌더링합니다.

 메타데이터 기반 개발 모델 은 플랫폼에서 개발하는 것과 Salesforce 외부에서 개발하는 것의 주요 차이점 중 하나입니다. 플랫폼은 메타데이터를 인식하므로 사용자 경험의 상당 부분을 자동으로 생성할 수 있습니다. 일반적으로 스스로 개발해야 하는 대화 상자, 레코드 목록, 세부 정보 보기 및 양식과 같은 것이 무료로 제공됩니다. 데이터베이스에서 사용자 정의 개체 레코드를 생성, 읽기, 업데이트 및 삭제(CRUD라고도 함)하는 모든 기능을 사용할 수도 있습니다.

사전 구축된 이 모든 기능을 통해 개발 시간을 보다 정교한 사용자 지정 기능에 사용할 수 있습니다. 메타데이터 기반 개발 접근 방식이 실제로 어떻게 작동하는지 살펴보겠습니다.

드림하우스 내부는?

DreamHouse 앱은 일반적으로 내부 직원 생산성 앱이라고 하는 것의 한 예입니다. Salesforce 플랫폼의 다양한 부분을 사용하여 구축되었습니다. 이 다이어그램은 DreamHouse 애플리케이션 세트의 시스템 환경에 대한 개요를 제공합니다. 여기에는 Heroku 서비스 및 기타 연결된 장치가 포함되지만 당분간은 핵심 플랫폼 부분에 집중하겠습니다.

DreamHouse의 경우 앱의 핵심 기능을 지원하는 세 가지 사용자 지정 개체를 만들었습니다.

  • 브로커: 파트너 브로커에 대한 정보
  • 속성: 시장에 나와 있는 속성에 대한 사진 및 정보
  • 즐겨찾기: 고객이 즐겨찾는 속성

DreamHouse 데이터 모델이 실제로 어떻게 생겼는지 살펴보겠습니다. 플랫폼은 Schema Builder라는 편리한 도구를 제공하므로 엔티티 관계 모델이 작동하는 것을 볼 수 있습니다.

  1. 톱니바퀴 메뉴 
    를 클릭한 다음 설정 을 클릭하여 설정으로 이동 합니다.
  2. 빠른 찾기 상자에서 스키마 빌더를 검색합니다. 스키마 빌더를 처음 열면 조직의 모든 사용자 정의 및 표준 개체가 표시됩니다.
  3. 현재 선택 항목을 모두 지웁니다. 다음에서 선택 메뉴에서 사용자 정의 개체를 선택한 다음 모두 선택합니다. 다음과 같은 내용이 표시됩니다.

꽤 멋지죠? Schema Builder는 코더와 비코더 모두에게 앱의 데이터 모델을 쉽게 시각화하고 구성할 수 있는 방법을 제공합니다. 지금은 데이터 모델링에 대해 자세히 다루지 않을 것입니다. 자세히 알아보려면 Trailhead 에서 데이터 모델링 모듈을 확인 하십시오 .

노코드 및 로우코드 개발

놀랍지만 Salesforce 플랫폼은 코드를 최소화하도록 권장합니다. 우리가 코드를 좋아하지 않아서가 아닙니다. 플랫폼의 메타데이터 기반 아키텍처를 통해 한 줄도 작성하지 않고도 가장 기본적인 개발 작업을 완료할 수 있기 때문입니다.

Salesforce는 포인트 앤 클릭(또는 선언적) 개발을 위한 다양한 도구를 제공합니다 . 이러한 도구의 대부분은 개발 원칙(코드 없음)에 대한 이해가 거의 또는 전혀 필요하지 않습니다. JSON에 문자가 없다고 생각하는 사람은 강력하고 복잡한 데이터 모델을 구성할 수 있습니다. Cron을 듣고 일종의 SF 영화라고 생각하는 사람은 일괄 작업을 예약할 수 있습니다.

실제로 코딩 지식이 전혀 없는 사람도 미리 빌드된 구성 요소와 포인트 앤 클릭 도구를 사용하여 Salesforce에서 전체 앱을 개발할 수 있습니다. 다음은 DreamHouse 앱의 일부를 빌드하는 데 사용한 Lightning 앱 빌더의 예입니다.

유효성 검사 규칙을 작성하거나 구성 요소를 UI 요소와 연결하는 것과 같은 일부 개발 작업은 낮은 코드로 간주됩니다. 즉, 완료하려면 몇 가지 기본적인 프로그래밍 방식 지식이 필요하지만 프로그래밍 방식으로 간주될 정도로 엄격하지는 않습니다. 예를 들어 논리, 조건 및 CRUD 작업에 대해 알고 있는 경우 Process Builder로 더 많은 작업을 수행할 수 있습니다.

Salesforce 플랫폼이 제공하는 코드 없는 개발 기능은 개발자가 더 빠르게 이동할 수 있음을 의미합니다. 회사에서 Salesforce에서 개발 중인 유일한 사람인 경우 플랫폼의 많은 선언적 도구를 사용하여 더 짧은 시간에 더 많은 것을 구축할 수 있습니다. 코더가 아닌 팀에서 작업하는 경우 선언적 개발 작업은 그들에게 맡기고 코드 집약적인 프로젝트는 두 배로 늘릴 수 있습니다.

 

Quiz

1. What's the relationship between objects, fields, and records and Salesforce's relational database?

A.They're a direct representation of the underlying table structure

B.Custom objects are stored in an object-oriented model while standard objects are stored in a relational model

C.They're an abstraction of the underlying table structure

D.They give you the ability to understand the table structure, but you don't work with them much in Salesforce

 

2. How does the metadata-driven architecture support declarative development?

A.It allows the platform to auto-generate basic components for your org's customizations, like dialogs and forms

B.It inherently simplifies your org's data model

C.It gives your users access to more data than they'd have under a different architecture

D.It entirely removes the need for programmatic development in Salesforce

 

Salesforce 언어로 코드 작성

학습 목표

이 단원을 완료하면 다음을 수행할 수 있습니다.

  • Lightning 구성 요소의 이점을 식별합니다.
  • Lightning Experience에서 Visualforce를 사용하는 방법을 설명합니다.
  • Apex를 사용하여 Lightning 구성 요소 및 Visualforce를 지원하는 방법을 간략하게 설명합니다.

옵션 알아보기

Salesforce 개발자로서 배울 세 가지 핵심 프로그래밍 기술이 있습니다.

  • Lightning Component Framework: AngularJS 또는 React와 유사한 UI 개발 프레임워크입니다.
  • Apex: Java와 유사한 구문을 사용하는 Salesforce의 독점 프로그래밍 언어입니다.
  • Visualforce: HTML과 매우 유사한 코드로 사용자 정의 Salesforce 페이지를 생성할 수 있는 마크업 언어이며 선택적으로 Apex와 JavaScript의 강력한 조합을 사용할 수 있습니다.

이러한 각 기술에 대한 간략한 개요를 살펴보고 DreamHouse 앱에서 어떻게 보이는지 살펴보겠습니다.

번개 구성 요소

Lightning 구성 요소 프레임워크는 데스크톱 및 모바일용 사용자 인터페이스 개발 프레임워크입니다. 이름에서 알 수 있듯이 UI 개발에 대한 구성 요소 기반 접근 방식입니다. 사전 제작된 사용자 정의 Lightning 구성 요소를 사용하여 앱을 위한 매끄럽고 일관된 UI를 빠르게 개발할 수 있습니다.

AngularJS, React 또는 Polymer와 같은 프레임워크에 익숙하다면 Lightning 구성 요소에 대해 예상할 수 있는 좋은 아이디어가 있습니다. 물론 이점은 Lightning 구성 요소가 Salesforce의 모든 비즈니스 데이터와 함께 사용할 수 있다는 것입니다.

메모

Spring '19 릴리스(API 버전 45.0)부터 두 가지 프로그래밍 모델(Lightning 웹 구성 요소 모델 및 원래 Aura 구성 요소 모델)을 사용하여 Lightning 구성 요소를 빌드할 수 있습니다. Lightning 웹 구성 요소는 HTML 및 최신 JavaScript를 사용하여 구축된 사용자 정의 HTML 요소입니다. Lightning 웹 구성 요소와 Aura 구성 요소는 페이지에서 공존하고 상호 운용할 수 있습니다. 자세한 내용은 Lightning 웹 구성 요소 기본 모듈을 참조하십시오.

플랫폼 개발 기본 모듈은 Aura 구성 요소로 빌드된 DreamHouse 앱을 사용합니다.

DreamHouse 앱으로 돌아가서 Lightning 구성 요소가 작동하는 모습을 살펴보겠습니다. 앱의 사용자 정의 Lightning 구성 요소를 살펴본 다음 생성 방법을 살펴보겠습니다.

앱 시작 관리자( 

)에서 속성 을 찾아 선택 합니다. 목록에서 속성을 선택하여 세부 정보 페이지를 엽니다. 이 페이지에는 몇 가지 Lightning 구성 요소가 있지만 특히 지도에 대해 살펴보겠습니다. 이 지도는 단순히 속성의 위치를 ​​보여주고 사용자가 그것을 확대할 수 있도록 합니다.

이제 이 구성 요소가 어떻게 만들어졌는지 살펴보겠습니다.

  1. 톱니바퀴 메뉴 
     를 클릭한 다음 설정 을 클릭하여 설정으로 이동 합니다.
  2. 빠른 찾기 표시줄에서 Lightning 구성 요소를 검색하고 클릭 합니다.
  3. 클릭 지도를 하고 다음을 클릭합니다 개발자 콘솔 .

개발자 콘솔은 조직에서 코드를 개발, 디버그 및 테스트하는 데 사용할 수 있는 Salesforce 통합 개발 환경(IDE)입니다. 바로 지금, 방금 본 속성 맵에 대한 코드가 포함되어 있습니다. 우리는 지금 코드를 파헤치지 않을 것입니다. 다른 모듈이 있습니다. 그러나 몇 초 동안 몇 가지 주요 속성을 알아차릴 수 있습니다. XML 마크업입니다. Aura 관련 HTML 태그와 정적 HTML 태그가 모두 포함되어 있습니다. <namespace:tagName>태그에 대한 규칙을 사용하며 각각은 더 작은 또는 하위 구성 요소를 나타냅니다.

개발자 콘솔의 오른쪽에는 이 구성 요소 번들의 일부인 추가 자산도 있습니다. 예를 들어 CONTROLLER 를 클릭 하면 일부 JavaScript가 표시됩니다. Lightning 구성 요소는 클라이언트 측 JavaScript 컨트롤러와 서버 측 Apex 컨트롤러를 사용합니다. 번들 메뉴에서 이러한 컨트롤러와 구성 요소 스타일 시트와 같은 다른 자산을 만들고 액세스할 수 있습니다.

Lightning 구성 요소의 또 다른 좋은 점은 모바일에 적합하다는 것입니다. Salesforce 모바일 앱용 앱을 만들 때 Lightning 구성 요소가 표시되는 방식에 대해 걱정할 필요가 없습니다. 앱에 추가하고 나머지는 플랫폼에서 처리하도록 할 수 있습니다.

Lightning 구성 요소에 대한 자세한 내용은 리소스 섹션을 확인하십시오.

꼭대기

이전에 우리는 로우 코드 도구로서의 Process Builder에 대해 이야기했습니다. 로우 코드이지만 약간의 코드를 작성하여 Process Builder의 기능을 확장할 수도 있습니다. 다시 드림하우스로 돌아가 집값이 변할 때마다 푸시알림을 보내는 과정을 살펴보자.

  1. 설정에서 Process Builder에 대한 빠른 찾기를 검색하고 Process Builder 페이지를 엽니다.
  2. 가격 변경 푸시 알림 을 클릭합니다 .
  3. 즉각적인 조치에서 푸시 알림 을 클릭 합니다.
  4. Apex 클래스 필드의 값을 확인합니다. 상단의 톱니바퀴 메뉴에서 개발자 콘솔을 엽니다.
  5. 클릭 파일 | 필터 막대를 열고 사용하여 PushPriceChangeNotification을 찾으십시오. 두 번 클릭하여 개발자 콘솔에서 엽니다.

Java로 개발한 적이 있다면 이 수업에서 진행되는 대부분의 작업을 이해할 수 있을 것입니다. 다시 말하지만, 우리는 이 구현의 모든 세부 사항을 다루지 않을 것입니다. Java와 유사한 구문 외에도 몇 가지 주의해야 할 사항이 있습니다.

먼저 메소드 서명 앞에 @InvocableMethod 주석을 주목하십시오. 여기에는 Process Builder와 같은 다른 도구가 메서드를 실행할 수 있도록 하는 레이블 속성이 있습니다. 주의해야 할 또 다른 사항은 메서드 본문에 몇 가지 쿼리가 있다는 것입니다. Property__c property = [SELECT Name, Price__c from Property__c WHERE Id=:propId];

이 SQL과 유사한 문구는 실제로 SOQL(Salesforce Object Query Language)입니다. SOQL을 사용하여 코드의 데이터베이스에서 레코드를 읽을 수 있습니다.

물론 Process Builder를 확장하는 것은 Apex를 사용하여 조직의 기능을 향상할 수 있는 여러 방법 중 하나일 뿐입니다. 자세한 내용은 리소스를 살펴보세요.

비주얼포스

Salesforce 플랫폼에서 코딩의 마지막 주요 기둥은 Visualforce입니다. 웹 개발을 해 본 적이 있다면 Visualforce가 익숙할 것입니다. Visualforce를 사용하면 Salesforce에서 페이지를 만들고 사용자 정의할 수 있을 뿐만 아니라 HTML, CSS 및 JavaScript를 비롯한 다른 표준 웹 기술과 통합할 수 있습니다.

예제를 보기 전에 Lightning 구성 요소와 Visualforce 페이지의 차이점에 대해 이야기하는 것이 중요합니다. 가장 큰 차이점은 바로 이름에 있습니다. Lightning 구성 요소를 사용하여 함께 결합하여 페이지를 만들 수 있는 구성 요소를 개발하고 있습니다. Visualforce를 사용하면 전체 페이지를 한 번에 개발할 수 있습니다. Lightning 구성 요소가 모바일 개발과 같은 분야에 더 새롭고 더 나은 반면 Visualforce를 사용하는 것이 더 합리적일 수 있는 몇 가지 상황이 있습니다. 언제 어느 것을 사용해야 하는지에 대한 자세한 내용  사용자 인터페이스 개발 고려 사항 의 표 를 참조하세요.

자, 다시 드림하우스로 돌아갑니다. Visualforce 페이지의 예를 살펴보겠습니다.

  1. App Launcher( 
    )에서 Heat Map 을 찾아 선택 합니다. 이 페이지는 나열된 모든 속성과 도시의 위치를 ​​보여줍니다.
  2. 설정 메뉴( 
    )에서 개발자 콘솔을 실행합니다.
  3. 클릭 파일 | 열기 | 페이지 .
  4. 필터 표시줄에 HeatMap을 입력하고 두 번 클릭하여 엽니다.

이 파일에는 Visualforce 마크업, HTML 마크업, CSS 및 JavaScript가 있습니다. 약어 SLDS가 몇 번 나타납니다. SLDS(Salesforce Lightning Design System)를 사용하면 Salesforce의 새 인터페이스인 Lightning Experience의 모양과 느낌과 일치하도록 페이지 스타일을 지정할 수 있습니다. 주목해야 할 또 다른 사항은 Visualforce가 <apex:tagName>과 함께 Lightning 구성 요소와 유사한 규칙을 사용한다는 것입니다.

이 클래스에 표시되지 않은 것은 Apex 컨트롤러의 개념입니다. 이전에 Lightning 구성 요소가 클라이언트 측에서 JavaScript를 사용하고 서버 측에서 Apex를 사용한다고 언급했습니다. Visualforce 페이지는 서버 측 Apex 컨트롤러도 사용할 수 있으며 대부분의 복잡한 페이지는 꽤 많이 사용합니다. Visualforce를 계속 탐색하면서 Apex 컨트롤러에 매우 익숙해질 것입니다.

설정의 빠른 찾기 표시줄에서 Visualforce 페이지를 검색하여 Visualforce 페이지에 액세스하고 미리 볼 수도 있습니다.

 

 

Quiz

1. What types of elements do you see in the XML markup for Aura components?

A.Static HTML tags

B.JavaScript

C.Aura component tags

D.A and C

 

2. What's one situation where it's better to use Lightning components instead of Visualforce?

A.You're building something with a JavaScript framework like AngularJS

B.Your project will run primarily on mobile devices

C.You're developing a single-page application

D.It's always better to use Lightning components

 

3. What's true about Apex controllers?

A.Lightning components use client-side Apex controllers

B.Visualforce pages don't use Apex controllers

C.Lightning components use server-side Apex controllers

D.There is no place for Apex controllers in modern society

 

 

Salesforce 플랫폼 확장

학습 목표

이 단원을 완료하면 다음을 수행할 수 있습니다.

  • Salesforce API를 나열합니다.
  • Heroku와 Salesforce의 관계를 설명합니다.
  • Salesforce가 IoT 및 봇과 상호 작용하는 방식을 식별합니다.

Lightning Platform API 알아보기

이전에 Lightning App Builder 및 Process Builder와 같은 도구를 사용하여 Salesforce에서 선언적 개발에 대해 이야기했습니다. 이러한 도구는 Salesforce의 기본 API와의 상호 작용이 거의 필요하지 않습니다.

보다 프로그래밍 방식의 개발로 나아가면서 다양한 방법으로 Salesforce 데이터에 액세스할 수 있는 강력한 API 세트를 찾을 수 있습니다. Lightning 구성 요소, Apex 및 Visualforce를 살펴보았을 때 이미 API가 작동하는 것을 보았을 것입니다.

간단히 말해서 조직의 모든 개체에는 해당 개체의 데이터에 액세스할 수 있는 API 이름이 있습니다. 마지막 단위의 SOQL 쿼리를 다시 살펴보겠습니다.

Property__c property = [SELECT Name, Price__c from Property__c WHERE Id=:propId];

 __c객체가 사용자 정의 개체 또는 필드는 것을 의미한다. 이 쿼리는 속성 개체에 대해 자동으로 생성된 API 액세스 지점을 사용하여 조직의 속성에 대한 정보를 검색합니다.

다음은 Salesforce에서 제공하는 API와 해당 API의 용도에 대한 간략한 설명입니다.

API그것으로 할 수 있는 일

.

SOAP API Integrate your org’s data with other applications using standard SOAP protocols.
REST API Access objects in your org using standard REST protocols.
Metadata API Manage customizations in your org and build tools that manage your metadata model.
Tooling API Build custom development tools for platform applications.
Marketing Cloud API Expose Marketing Cloud capabilities with the REST API and get comprehensive access to most email functionality with the SOAP API.
Bulk API Load, delete, and perform asynchronous queries on large data sets.
Streaming API Send and receive notifications securely and efficiently. Notifications can reflect data changes in your org, or custom events.
Connect REST API Build UI for Commerce, CMS-Managed Content, Experience Cloud Sites, Files, Notifications, Topics, and more.
Mobile SDK While it’s technically a software development kit, it’s worth including here. Integrate Native or Hybrid mobile apps directly with Salesforce.
SOAP API 표준 SOAP 프로토콜을 사용하여 조직의 데이터를 다른 애플리케이션과 통합합니다.
REST API 표준 REST 프로토콜을 사용하여 조직의 개체에 액세스합니다.
메타데이터 API 조직에서 사용자 지정을 관리하고 메타데이터 모델을 관리하는 도구를 빌드합니다.
도구 API 플랫폼 애플리케이션을 위한 맞춤형 개발 도구를 구축합니다.
마케팅 클라우드 API REST API를 사용하여 Marketing Cloud 기능을 노출하고 SOAP API를 사용하여 대부분의 이메일 기능에 포괄적으로 액세스할 수 있습니다.
대량 API 대용량 데이터 세트에서 비동기 쿼리를 로드, 삭제 및 수행합니다.
스트리밍 API 안전하고 효율적으로 알림을 보내고 받습니다. 알림은 조직의 데이터 변경 사항이나 사용자 지정 이벤트를 반영할 수 있습니다.
REST API 연결 상거래, CMS 관리 콘텐츠, Experience Cloud 사이트, 파일, 알림, 주제 등을 위한 UI를 구축하십시오.
모바일 SDK 기술적으로 소프트웨어 개발 키트이지만 여기에 포함할 가치가 있습니다. 네이티브 또는 하이브리드 모바일 앱을 Salesforce와 직접 통합합니다.

Lightning Platform API에 대해 자세히 알아보려면 리소스에서 Lightning Platform API 기본 모듈 을 확인하십시오.

Heroku로 앱 활용하기

API는 Salesforce 내 및 외부 시스템 모두에서 사용할 수 있지만 Heroku는 외부 세계와의 상호 작용에 관한 것입니다. Heroku는 웹 앱을 빠르게 구축, 배포 및 확장할 수 있는 웹 개발 플랫폼입니다.

Heroku의 가장 큰 장점 중 하나는 앱을 작성하는 방법에 많은 유연성이 있다는 것입니다. 자바에 관심이 없다면 자바로 앱을 작성할 수 있습니다. 열렬한 Python 팬이라면 Heroku가 방해가 되지 않을 것입니다. 당신의 잼을 PHP? 당신의 마음의 내용에 PHP!

Heroku는 Amazon Web Services(AWS)를 기반으로 구축되었습니다. 즉, 표준 웹 앱 개발에서 발생할 수 있는 많은 인프라 문제가 대신 처리됩니다. 게다가 Heroku Connect는 Salesforce 데이터를 Heroku Postgres 데이터와 통합하므로 플랫폼 간에 이동하는 정보를 관리할 필요가 없습니다. 인프라나 데이터 스토리지에 대해 걱정할 필요가 없다는 것은 새로운 개발에 집중할 수 있는 더 많은 시간을 의미합니다.

간단히 DreamHouse 시나리오로 돌아가 보겠습니다. Salesforce 측을 살펴보았습니다. 부동산 중개인이 자신의 자산, 고객 및 고객이 선호하는 자산을 추적할 수 있는 내부 직원 생산성 앱입니다.

그러나 고객은 이러한 속성을 어디에서 볼 수 있습니까? 물론 DreamHouse Heroku 앱에서! 여기에서 확인 하십시오 .

IoT, 봇 등

지금까지 다룬 주제는 개발 환경의 "필수" 정도입니다. 그러나 개발 기술을 활용하고 플랫폼을 즐길 수 있는 다른 많은 기회가 있습니다.

사물인터넷

업계에 따라 Salesforce를 사물 인터넷(IoT)과 통합하는 것이 필수일 수도 있고 그렇지 않을 수도 있습니다. 그러나 스마트 장치가 증가함에 따라 IoT를 염두에 두고 개발에 익숙해지는 것도 나쁘지 않습니다.

예를 들어, DreamHouse 부동산 중개인이 잠재적 구매자에게 집을 보여주기 위해 준비할 때 항상 집 문을 여는 것, 조명을 켜고, 온도가 적절한지 확인하는 것과 같은 일이 있습니다.

부동산 중개인이 Salesforce 모바일 앱에서 이동 중에도 이러한 준비를 할 수 있다면 어떨까요? 스마트 장치를 Salesforce와 연결하면 바로 그렇게 할 수 있습니다. Visualforce 또는 Lightning 구성 요소, Heroku에서 호스팅되는 마이크로서비스, 스마트 잠금 장치, 조명 및 온도 조절 장치의 IoT 인터페이스를 조합하여 플랫폼에서 바로 IoT 제어를 구축할 수 있습니다.

물론 IoT에는 다른 많은 응용 프로그램이 있습니다. 연결된 하드웨어 구성 요소가 있는 모든 회사의 경우 Salesforce의 IoT 기능을 통해 장치에 대한 데이터를 쉽게 수집, 관리 및 분석할 수 있습니다. 또한 고객 장치의 성능 상태를 모니터링하고 고객 참여를 지원하는 비즈니스 논리를 정의하는 등의 작업을 수행하는 데 도움이 됩니다.

챗봇은 일반적으로 외부 고객 서비스에서 사용됩니다. 그러나 직원이 데이터를 탐색할 수 있도록 Salesforce 조직에 바로 구축할 수도 있습니다.

다시 드림하우스에 대해 생각해보자. 한 가족이 부동산 중개인에게 연락하여 보스턴 지역에 침실이 3개인 주택을 구입하고 싶다고 말합니다. 이 가족에게 적합한 집을 찾기 위해 부동산 중개인은 봇을 활용할 수 있습니다. DreamHouse 조직으로 돌아가서 봇이 작동하는 것을 볼 수 있습니다.

AppLauncher에서 DreamHouse를 선택합니다. 페이지 하단에 DreamBot 항목이 있습니다. 그것을 클릭 3 bedrooms in Boston하고 를 입력하고 Enter 키를 누릅니다. 텍스트를 입력할 때 텍스트를 보는 데 문제가 있는 경우 텍스트를 강조 표시하여 볼 수 있습니다.

정말 멋진! 봇은 입력한 기준과 일치하는 DreamHouse 목록의 모든 속성을 검색했습니다.

DreamBot은 전적으로 Apex로 코딩됩니다. 완료 방법을 자세히 살펴보려면 개발자 콘솔을 열고 파일 | 열기 | 수업 | HandlerFindProperties.apxc . Slack, Facebook Messenger 및 Amazon Alexa와 같은 서비스에 연결하는 봇을 코딩할 수도 있습니다.

그리고 더!

Salesforce 플랫폼 개발 가능성의 표면만 긁었습니다.

Apex 및 Einstein Vision API를 사용하여 사용자 지정 이미지 인식 및 분류 엔진을 만들 수 있습니다. 고양이 애호가라면 고양이 품종 Trailhead 프로젝트를 인식하는 고양이 구조 앱 빌드를 확인하십시오 . 고양이를 좋아하지 않더라도 걱정하지 마십시오. Einstein Vision은 당신에게도 도움이 될 수 있습니다. 이 블로그 게시물 은 Einstein Vision API를 Raspberry Pi와 함께 사용하여 고양이 침입자를 탐지하고 저지합니다.

데이터에 정통한 경우 Einstein Analytics, GeoJSON 및 Python을 사용하여 분석 차트용 사용자 지정 맵을 만들 수 있습니다 .

또는 플랫폼 이벤트 및 Lightning 구성 요소를 사용 하여 인스턴트 알림 앱  빌드 할 수 있습니다 .

더해

우리는 이 모듈에서 많은 부분을 다루었습니다. Salesforce 플랫폼이 무엇이며 이를 사용하여 코드가 필요 없고 로우 코드로 빠르게 개발할 수 있는 방법에 대해 이야기했습니다. 또한 플랫폼의 프로그래밍 방식 기둥인 Lightning 구성 요소, Apex 및 Visualforce도 다뤘습니다. 마지막으로 Salesforce 플랫폼을 확장하는 새롭고 흥미로운 방법을 발견했습니다.

이 모듈에서 빼야 할 또 다른 점은 플랫폼이 매우 동적이라는 것입니다. 가속화된 개발 기능과 Salesforce와 통합되는 많은 기술 사이에서 Salesforce 조직을 구축하기 위한 수많은 옵션이 있습니다.

Trailhead 전체에서 여기에서 논의한 기술에 대해 훨씬 더 많이 배우게 될 것입니다. 또한 Salesforce 개발자 포털은 Salesforce 플랫폼에서의 개발과 관련된 모든 것을 위한 최고의 리소스입니다. 개발자 가이드, 블로그 게시물, 포럼 및 시작하는 데 도움이 되는 추가 정보로 가득 차 있습니다.

 

Quiz

1. For sending secure notifications, which API is your best bet?

A.MobileSDK

B.REST API

C.Connect REST API

D.Streaming API

 

2. Which Heroku service allows you to unify your Salesforce data with Postgres data?

A.Heroku Unify

B.Heroku Connect

C.Heroku Data Lab

D.Heroku1

 

3. Aside from Trailhead, where is the best place to learn more about Salesforce development?

A.Salesforce Help & Training

B.Salesforce.com

C.Salesforce Developers portal

D.There is only Trailhead

 

반응형