Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
Tags
- vagrant
- 백준
- 개인정보보호
- 도커
- AWS
- 개인정보보호법
- 코테
- 파이썬 문법
- 데이터 분석
- 시저암호
- 클라우드
- 코딩테스트
- 머신러닝
- 파이썬
- 회귀분석
- AI
- 정보보안
- XSS 취약점
- 컴퓨터 구조
- 알고리즘
- 마이데이터
- 함수
- 데이터분석
- 웹 모의해킹
- 자료형
- 데이터3법
- 코딩테스트 연습
- 웹모의해킹
- docker
- 프로그래머스
Archives
- Today
- Total
찬란하게
Salesforce <-데이터교환-> 외부시스템 본문
Salesforce와 외부 시스템 간 데이터 교환 방식
1. REST API
Salesforce와 외부 시스템 간 실시간 데이터 교환에 가장 널리 사용되는 방법.
특징
- 경량 프로토콜: JSON 또는 XML 형식을 사용.
- HTTP 메서드: GET, POST, PUT, DELETE를 통해 CRUD 작업 수행.
- OAuth 인증: 안전한 데이터 교환을 위한 인증 방식.
사용 사례
- 모바일 또는 웹 애플리케이션에서 Salesforce 데이터 조회 및 업데이트.
- 실시간으로 데이터를 교환해야 하는 경우.
예시
http
코드 복사
GET https://yourInstance.salesforce.com/services/data/v54.0/sobjects/Account/0012w00000F1LhaAA Authorization: Bearer
2. SOAP API
XML 기반의 데이터 교환 프로토콜로, 복잡한 시스템 통합에 적합.
특징
- 엄격한 표준: WSDL(Web Service Description Language)을 사용.
- 보안 및 트랜잭션 지원: WS-Security 프로토콜을 활용.
- 레거시 시스템과 호환성: 기존 SOAP 프로토콜 기반의 시스템과 쉽게 통합 가능.
사용 사례
- 레거시 시스템이 Salesforce 데이터에 접근하거나 통합될 때.
- 보안이 중요한 대규모 기업 시스템에서 사용.
예시
xml
코드 복사
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="urn:partner.soap.sforce.com"> <soapenv:Body> <web:query> <web:queryString>SELECT Name FROM Account LIMIT 10</web:queryString> </web:query> </soapenv:Body> </soapenv:Envelope>
3. Bulk API
대량 데이터 삽입, 업데이트, 삭제 또는 쿼리 작업을 위한 API.
특징
- 비동기 처리: 대규모 데이터 작업을 배치로 처리.
- CSV 파일 지원: 대량 데이터 로드에 적합한 형식 사용.
- 성능 최적화: 대량 데이터 처리 속도를 높임.
사용 사례
- 대규모 데이터 마이그레이션.
- 정기적인 대량 데이터 업데이트 및 삽입.
예시
http
코드 복사
POST https://yourInstance.salesforce.com/services/data/v54.0/jobs/ingest Authorization: Bearer Content-Type: application/json { "object": "Account", "contentType": "CSV", "operation": "insert" }
4. Platform Events
Salesforce에서 발생하는 이벤트를 외부 시스템에 실시간으로 알림.
특징
- 이벤트 기반 아키텍처: 이벤트를 발생시키고 구독하는 방식.
- 비동기 통신: 외부 시스템이 Salesforce 이벤트를 구독하고 처리 가능.
- 확장성: 여러 시스템에서 동일한 이벤트를 수신 가능.
사용 사례
- 실시간으로 Salesforce에서 외부 시스템으로 상태 변경 알림.
- 주문, 사용자 활동 등 특정 이벤트 기반 프로세스 처리.
예시
apex
코드 복사
// Platform Event 정의 public class OrderCreatedEvent__e { @PlatformEvent public String OrderId; public String Status; }
5. Outbound Messages
워크플로우 규칙 또는 프로세스 빌더를 통해 외부 시스템으로 데이터를 자동 전송.
특징
- 자동화된 통합: Salesforce에서 조건이 충족되면 외부 시스템에 메시지 전송.
- HTTP POST 방식: 메시지 전달을 위해 SOAP 프로토콜 사용.
- 코드 불필요: 클릭 기반으로 설정 가능.
사용 사례
- 주문 생성, 상태 변경 등 조건 충족 시 외부 시스템으로 알림 전송.
- 간단한 자동화가 필요한 경우.
예시
xml
코드 복사
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <notification> <sObject> <AccountId>0012w00000F1LhaAA</AccountId> <Amount>1000</Amount> </sObject> </notification> </soapenv:Body> </soapenv:Envelope>
6. Apex Callouts
Apex 코드에서 외부 시스템의 REST 또는 SOAP API 호출.
특징
- 커스터마이징 가능: REST 또는 SOAP API 호출을 완벽히 제어.
- Apex 클래스를 통해 복잡한 비즈니스 로직 처리.
사용 사례
- Salesforce에서 외부 API 호출 및 데이터 가져오기.
- 외부 시스템과 Salesforce 간의 복잡한 양방향 통합.
예시
apex
코드 복사
Http http = new Http(); HttpRequest request = new HttpRequest(); request.setEndpoint('https://api.example.com/data'); request.setMethod('GET'); request.setHeader('Authorization', 'Bearer '); HttpResponse response = http.send(request);
비교표
방식특징사용 사례
| REST API | 경량, 실시간, JSON 형식 | 실시간 데이터 교환, 웹/모바일 앱 통합 |
| SOAP API | XML 기반, 보안 및 트랜잭션 지원 | 복잡한 시스템 통합, 레거시 시스템 연동 |
| Bulk API | 대량 데이터 처리, 비동기 처리 | 대규모 데이터 로드, 데이터 마이그레이션 |
| Platform Events | 이벤트 기반, 실시간 알림 | 실시간 상태 변경 알림, 이벤트 기반 통합 |
| Outbound Messages | 자동화된 워크플로우 메시지 전송 | 간단한 조건 기반 통합 |
| Apex Callouts | 코드 기반, REST/SOAP 호출 지원 | 외부 API 호출, 복잡한 비즈니스 로직 |
'SaaS > Salesforce Certi' 카테고리의 다른 글
| PD1 202407 - 해설#1 Governor Limits (0) | 2024.11.30 |
|---|---|
| Salesforce 주요 Annotation (1) | 2024.11.30 |
| Salesforce Apex Testing (0) | 2024.11.29 |
| Salesforce WorkFlow VS Flow (1) | 2024.11.28 |
| Salesforce 자동화도구 총정리 (0) | 2024.11.27 |