AI로 번역했습니다. 아직 커뮤니티의 검토를 거치지 않았습니다. 영어로 읽기

블로그 · 2023년 9월 11일 · Steve Simpson · 통합

전송해 줘, Codey! 직렬화와 역직렬화: 통합의 스타트렉 전송기

소개

Salesforce 공인 테크니컬 아키텍트이자 강사로서, 통합의 스타트렉 전송기라 할 수 있는 직렬화와 역직렬화에 대한 통찰을 나누게 되어 기쁩니다. 이 과정은 Salesforce에서 Azure로 가는 것처럼 서로 다른 프로세스 사이에서 데이터를 옮기는 데 꼭 필요합니다.

직렬화와 역직렬화 이해하기

다이어그램: 프로세스 경계를 사이에 두고 데이터를 주고받는 클라이언트와 서버. 양쪽이 객체를 요청 본문이나 응답 본문(XML, JSON, 구조화, 바이너리)으로 직렬화하고, 상대편이 이를 다시 객체로 역직렬화한다

직렬화와 역직렬화는 한 프로세스에서 다른 프로세스로 데이터를 옮기는 메커니즘입니다. 예를 들어 Salesforce(클라이언트)가 Azure(서버)에 데이터를 보내야 할 때, 데이터를 스트림으로 직렬화합니다. XML, JSON, 고정 구조, 바이너리 형식일 수 있는 이 직렬화된 데이터는 인터넷을 거쳐 Azure로 보내집니다. 받은 Azure는 추가 처리를 위해 데이터를 자신이 인식하는 구조로 역직렬화합니다. 서버의 응답도 반대 방향으로 같은 과정을 거칩니다.

직렬화 형식

세 가지 데이터 형식(고정 길이, XML, JSON)의 비교: 예, 장점, 단점, 각각에 쓰는 Apex 클래스

고정 길이 형식

레거시 시스템에서는 고정 길이 형식이 흔했습니다. 이 형식은 빠르지만 유연하지 않아, 형식을 다시 설계하지 않으면 필드 길이를 바꾸거나 필드를 추가할 수 없습니다. 현대의 데이터 교환에서 고정 길이 형식은 거의 쓰이지 않습니다.

XML

XML은 확장 가능한 정의 덕분에 오랫동안 업계 표준이었습니다. 형식 버전이 다른 시스템끼리도 호환될 수 있게 해 줍니다. 하지만 XML은 부피가 클 수 있고, 구문 분석을 위해 문서 전체를 메모리에 올려야 할 때도 있습니다.

JSON

JSON은 가볍고 간결한 구조 덕분에 새로운 업계 표준이 되고 있습니다. XML처럼 데이터 정의를 확장할 수 있고, 대부분의 새 시스템에서 채택되고 있습니다. 페이로드가 더 작고 가벼워 많은 개발자가 선호합니다.

결론: 알맞은 형식 고르기

직렬화와 역직렬화는 서로 이해하는 형식으로 시스템 사이에 데이터를 옮기는 데 꼭 필요합니다. 형식은 보통 서버가 정하고, 클라이언트는 그 결정을 따라야 합니다. 레거시 고정 길이, XML, 점점 인기가 높아지는 JSON까지 여러 형식이 있으니, 각각의 장점과 한계를 이해하는 것이 중요합니다. 다음 이야기에서는 업계 흐름에 맞춰 JSON을 더 깊이 다루며 고정 JSON과 가변 JSON을 모두 살펴보겠습니다.

계속 지켜봐 주세요

더 많은 통찰과 팁은 이곳 www.SteveTechArc.com과 YouTube 채널 @SteveTechArc (opens in a new tab)에서 확인하십시오. 구독하고 Salesforce와 그것을 다른 시스템과 통합하는 방법에 대한 이해를 넓히십시오.

동료 아키텍트와 아키텍트의 길을 걷는 분들에게 통합 지식을 나누며 세상을 바꾸는 데 힘을 보탭니다!

읽어 주셔서 감사합니다. 그리고 기억하십시오. Ctrl+Z로 많은 것을 되돌릴 수 있지만, 구독과 배움이 주는 혜택은 되돌릴 수 없고 값을 매길 수 없습니다. 앞으로의 통찰도 기대해 주십시오!

AI의 도움을 받은 대본

STA 1.4