由 AI 翻译,尚未经过社区审校。 阅读英文版

博客 · 2023年9月11日 · Steve Simpson · 集成

Beam Me Up, Codey!序列化与反序列化:集成中的《星际迷航》传送器

引言

作为一名 Salesforce 认证技术架构师和讲师,我很高兴分享关于序列化与反序列化的见解,它们是集成中的《星际迷航》传送器。这个过程对于在不同进程之间传输数据至关重要,比如从 Salesforce 到 Azure。

理解序列化与反序列化

图示:客户端和服务器跨越进程边界交换数据。每一方都把自己的对象序列化为请求体或响应体(XML、JSON、结构化或二进制格式),另一方再把它们反序列化回对象

序列化和反序列化是用来把数据从一个进程传输到另一个进程的机制。例如,当 Salesforce(客户端)需要把数据发送给 Azure(服务器)时,它会把数据序列化成一个流。这些序列化后的数据可以是 XML、JSON、固定结构或二进制格式,然后通过互联网发送给 Azure。收到后,Azure 再把数据反序列化成它能识别的结构,以便进一步处理。服务器返回的任何响应都以相反的方向经历同样的过程。

序列化格式

三种数据格式的比较:固定长度、XML 和 JSON,每种都附有示例、优点、缺点以及所用的 Apex 类

固定长度格式

在遗留系统中,固定长度格式很常见。这种格式速度快但不灵活,因为不重新设计格式,你就无法改变字段长度或添加字段。在现代数据交换中,固定长度格式已很少使用。

XML

XML 因其可扩展的定义,作为行业标准已经有一段时间了。它允许不同格式版本的系统之间保持兼容。不过,XML 可能比较臃肿,有时还需要把整个文档加载到内存中才能解析。

JSON

JSON 因其轻量、紧凑的结构,正在成为新的行业标准。和 XML 一样,JSON 允许可扩展的数据定义,正被大多数新系统所采用。它的载荷更小更轻,成为很多开发人员的首选。

结论:选择合适的格式

序列化和反序列化对于以双方都能理解的格式在系统之间搬运数据至关重要。虽然通常由服务器决定格式,但客户端必须遵从这个决定。可用的格式有很多,包括遗留的固定长度格式、XML,以及越来越流行的 JSON,理解每一种的优点和局限至关重要。在接下来的讨论中,我们会更深入地探讨 JSON,研究固定结构和可变结构的 JSON,以跟上行业趋势。

敬请关注

想获得更多见解和技巧,请继续关注 www.SteveTechArc.com 和 YouTube 频道 @SteveTechArc (opens in a new tab)。订阅,加深你对 Salesforce 以及如何将它与其他系统集成的理解。

与架构师同行以及正走在架构师之路上的人分享集成知识,一起改变世界!

感谢阅读,并请记住:Ctrl+Z 能撤销很多东西,但订阅和学习带来的好处是不可逆转、无比珍贵的。敬请期待更多见解!

转录借助了 AI

STA 1.4