Обзор VSIDL и промежуточного программного обеспечения

Язык определения интерфейса сервисов транспортного средства (VSIDL) — это предметно-ориентированный язык, построенный на основе протокола Protocol Buffers. VSIDL предназначен для определения интерфейсов и взаимодействий между пакетами сервисов в программно-определяемом транспортном средстве (SDV). Для получения информации о пакетах сервисов см. разделы «Блоки сервисов» и «Пакеты сервисов» .

VSIDL предоставляет интерфейс для взаимодействия с низкоуровневыми сервисами в экосистеме SDV. Вы можете использовать VSIDL для указания сервисных блоков, которые взаимодействуют с помощью RPC (включая унарный, клиентский и серверный поток) или туннеля данных. Сгенерированный код VSIDLC обрабатывает регистрацию сервисных блоков в SDV Service Discovery.

С помощью дополнительных конфигурационных файлов код, генерируемый VSIDLC для пакетов сервисов, может быть упакован в файлы APEX, которыми можно управлять с помощью Orchestrator и SDV Lifecycle Manager.

Внедрить сервисы SDV

Ниже описаны основные шаги по определению интерфейсов и взаимодействий между пакетами сервисов в SDV, а также по созданию пакетов APEX для развертывания:

  1. Определяйте структуры данных в файлах protobuf (файлах с расширением .proto ). Используйте protobuf для определения структур данных, которыми обмениваются сервисные модули, определенные VSIDL.
  2. Определите архитектуру сервиса в файлах VSIDL (файлах с расширением .vsidl ). VSIDL используется для определения пакетов сервисов и единиц сервисов. VSIDL ссылается на типы, объявленные в protobuf (шаг 1).
  3. Создайте промежуточное программное обеспечение. Промежуточное программное обеспечение обеспечивает стандартизированный способ взаимодействия сервисов друг с другом.
  4. Реализуйте собственную бизнес-логику на Rust.
  5. Упакуйте ваши пакеты сервисов, включая сгенерированный и пользовательский код бизнес-логики, в пакет APEX для развертывания.
  6. Настройте свой каталог для автоматических обновлений и поддержки IDE.

Система типов VSIDLC работает на двух уровнях: Protobuf и VSIDL. Protobuf используется для определения структур данных, которыми обмениваются сервисные модули, определенные VSIDL. В этом разделе объясняется, как определяются структуры данных в VSIDL и Protobuf.

Что дальше?

Ниже представлены документы, которые вы, возможно, захотите прочитать в дальнейшем: