Язык определения интерфейса сервисов транспортного средства (VSIDL) — это предметно-ориентированный язык, построенный на основе протокола Protocol Buffers. VSIDL предназначен для определения интерфейсов и взаимодействий между пакетами сервисов в программно-определяемом транспортном средстве (SDV). Для получения информации о пакетах сервисов см. разделы «Блоки сервисов» и «Пакеты сервисов» .
VSIDL предоставляет интерфейс для взаимодействия с низкоуровневыми сервисами в экосистеме SDV. Вы можете использовать VSIDL для указания сервисных блоков, которые взаимодействуют с помощью RPC (включая унарный, клиентский и серверный поток) или туннеля данных. Сгенерированный код VSIDLC обрабатывает регистрацию сервисных блоков в SDV Service Discovery.
С помощью дополнительных конфигурационных файлов код, генерируемый VSIDLC для пакетов сервисов, может быть упакован в файлы APEX, которыми можно управлять с помощью Orchestrator и SDV Lifecycle Manager.
Внедрить сервисы SDV
Ниже описаны основные шаги по определению интерфейсов и взаимодействий между пакетами сервисов в SDV, а также по созданию пакетов APEX для развертывания:
- Определяйте структуры данных в файлах protobuf (файлах с расширением
.proto). Используйте protobuf для определения структур данных, которыми обмениваются сервисные модули, определенные VSIDL. - Определите архитектуру сервиса в файлах VSIDL (файлах с расширением
.vsidl). VSIDL используется для определения пакетов сервисов и единиц сервисов. VSIDL ссылается на типы, объявленные в protobuf (шаг 1). - Создайте промежуточное программное обеспечение. Промежуточное программное обеспечение обеспечивает стандартизированный способ взаимодействия сервисов друг с другом.
- Реализуйте собственную бизнес-логику на Rust.
- Упакуйте ваши пакеты сервисов, включая сгенерированный и пользовательский код бизнес-логики, в пакет APEX для развертывания.
- Настройте свой каталог для автоматических обновлений и поддержки IDE.
Система типов VSIDLC работает на двух уровнях: Protobuf и VSIDL. Protobuf используется для определения структур данных, которыми обмениваются сервисные модули, определенные VSIDL. В этом разделе объясняется, как определяются структуры данных в VSIDL и Protobuf.
Что дальше?
Ниже представлены документы, которые вы, возможно, захотите прочитать в дальнейшем:
- Чтобы узнать, как определять структуры данных в protobuf, перейдите к разделу «Определение структур данных» .
- Для понимания основных элементов языка VSIDL см. спецификацию языка .