Переведено ИИ. Сообщество еще не проверило перевод. Читать на английском

Блог · 11 сентября 2023 г. · Steve Simpson · Интеграция

Beam Me Up, Codey! Сериализация и десериализация: транспортеры из «Звездного пути» в мире интеграций

Введение

Как Salesforce Certified Technical Architect и преподаватель я рад поделиться мыслями о сериализации и десериализации — транспортере из «Звездного пути» в мире интеграций. Этот процесс необходим для передачи данных между разными процессами, например из Salesforce в Azure.

Что такое сериализация и десериализация

Схема: клиент и сервер обмениваются данными через границу процесса. Каждая сторона сериализует свои объекты в тело запроса или ответа (XML, JSON, структурированный или двоичный формат), а другая сторона десериализует их обратно в объекты

Сериализация и десериализация — это механизмы передачи данных из одного процесса в другой. Например, когда Salesforce (клиенту) нужно отправить данные в Azure (серверу), он сериализует данные в поток. Сериализованные данные, которые могут быть в формате XML, JSON, фиксированной структуры или двоичном, затем отправляются через интернет в Azure. Получив их, Azure десериализует данные в понятные ему структуры для дальнейшей обработки. Любой ответ сервера проходит тот же процесс в обратном направлении.

Форматы сериализации

Сравнение трех форматов данных — фиксированной длины, XML и JSON — с примером, преимуществами, недостатками и классами Apex для каждого

Формат фиксированной длины

В унаследованных системах форматы фиксированной длины были обычным делом. Такой формат быстрый, но негибкий: нельзя изменить длину полей или добавить поля, не переделав формат. В современном обмене данными форматы фиксированной длины используются редко.

XML

XML долгое время был отраслевым стандартом благодаря расширяемому определению. Он обеспечивает совместимость систем с разными версиями формата. Однако XML бывает громоздким и иногда требует загрузки всего документа в память для разбора.

JSON

JSON становится новым отраслевым стандартом благодаря легкой и компактной структуре. Как и XML, JSON допускает расширяемые определения данных, и большинство новых систем переходят на него. Он дает меньшую и более легкую полезную нагрузку (payload), поэтому многие разработчики выбирают именно его.

Заключение: выбираем правильный формат

Сериализация и десериализация необходимы для передачи данных между системами в формате, понятном обеим сторонам. Обычно формат определяет сервер, а клиент должен ему следовать. При наличии нескольких форматов — от унаследованного формата фиксированной длины до XML и все более популярного JSON — важно понимать преимущества и ограничения каждого. В следующих выпусках мы глубже разберем JSON и рассмотрим как фиксированный, так и переменный JSON, чтобы не отставать от тенденций отрасли.

Следите за новостями

Больше идей и советов ищите здесь, на www.SteveTechArc.com, и на YouTube-канале @SteveTechArc (opens in a new tab). Подписывайтесь и углубляйте свое понимание Salesforce и того, как интегрировать его с другими системами.

Помогаем менять мир, делясь знаниями об интеграции с коллегами-архитекторами и теми, кто идет по пути к профессии архитектора!

Спасибо, что дочитали, и помните: Ctrl+Z может отменить многое, но подписка и обучение дают преимущества, которые не отменить и которые бесценны. Следите за новостями!

Расшифровка сделана с помощью ИИ

STA 1.4