
На пръв поглед разработката на уеб приложения и софтуер в автомобилната индустрия, особено според стандарта AUTOSAR, нямат много общо. При по-внимателно разглеждане обаче се откриват паралели в основните архитектури и стандарти. В тази статия се разглежда как принципите и стандартите на AUTOSAR могат да послужат като вдъхновение за уеб разработката с цел подобряване на ефективността, сигурността и мащабируемостта.
AUTOSAR (Automotive Open System Architecture) е основана през 2003 г. и е глобално партньорство, което определя индустриален стандарт за архитектурата на автомобилния софтуер. Целта на AUTOSAR е да намали сложността на разработката на софтуер в автомобилната индустрия и да подобри повторното използване и оперативната съвместимост между различни производители, доставчици и партньори за разработка. AUTOSAR стандартизира софтуерната архитектура в електронните контролни блокове (ECU) и насърчава модулна структура, която позволява ясно разделение на функциите.
За да установим основно разбиране за основата на сравнимостта между автомобилния софтуер и уеб приложението, първо ще разгледаме архитектурата
на типичен AUTOSAR ECU и ще посочим типичните стандарти, които се използват.
Тези ECU се състоят от няколко слоя, които работят заедно, за да осигурят функционалността на устройството. Всеки слой има специфични стандарти и интерфейси, за да се гарантира оперативната съвместимост и модулността.
Основен софтуерен слой (BSW)
Този слой осигурява основни услуги като комуникация, управление на паметта и диагностика. Той абстрахира хардуерните детайли и осигурява стандартизиран интерфейс за приложния слой.
Микроконтролерна абстрактна слой (MCAL)
Осигурява достъп до хардуера на микроконтролера, независимо от типа на хардуера.
Слой за абстракция на ECU
Абстрахира хардуерните функции на ECU.
Слой за услуги
Предоставя услуги като диагностика, управление на мрежата и комуникационни услуги.
Сложни драйвери на устройства (CDDs)
За сложни драйвери, които не са покрити от MCAL.
Среда за изпълнение (RTE)
RTE действа като посредник между приложния софтуер и BSW. Той позволява комуникация между софтуерните компоненти и операционната система.
Стандарти
Комуникация между софтуерни компоненти
RTE позволява комуникация между SW-Cs в приложния слой и абстрахира детайлите на базовия софтуер.
Управление на сигнали и събития
RTE управлява сигналите и събитията, които се обменят между SW-Cs и BSW.
APIs за приложен софтуер
Предоставя API-та, чрез които приложният софтуер може да достъпва функции и услуги на превозното средство.
Приложен слой
Тук се реализират специфични функции като управление на двигателя, спирачни системи или информационно-развлекателни системи. Този слой се състои от модулни софтуерни компоненти, които комуникират чрез RTE.
Стандарти
Софтуерни компоненти (SW-Cs)
Дефинирани като независими единици със специфични функции, напр. за управление на двигателя, информационно-развлекателни системи и др.
Интерфейси
Стандартизирани интерфейси за обмен на данни и взаимодействие с RTE.
Структурата на уеб приложение с фронтенд, middleware и бекенд отразява архитектурата на ECU, базиран на AUTOSAR, в много отношения.
These analogies show how the concept of modularity is used in different technology areas to structure complex systems and simplify their development, maintenance and scaling.

Фронтендът на уеб приложението е потребителският интерфейс, чрез който потребителят взаимодейства с приложението. Той включва всичко, което се показва в уеб браузъра на потребителя, като HTML страници, CSS стилове и JavaScript код.
Фронтендът е сравним с потребителските интерфейси на контролна единица, като дисплея на информационно-развлекателна система в автомобил, който позволява взаимодействие между превозното средство и водача.
Middleware е слой, който свързва фронтенда с бекенда. Той често се състои от скриптове на сървъра или API-та, които обработват заявки, трансформират данни и действат като връзка между презентационния слой и слоя с данни.
Middleware може да се сравни с RTE (Runtime Environment) на AUTOSAR. Той препраща данни и команди между фронтенда и бекенда по подобен начин на RTE, който действа като посредник между приложния слой и базовия софтуер.
Бекендът на уеб приложението съдържа бизнес логиката, обработката на данни и съхранението в база данни. Той работи на сървъра и е отговорен за обработката на заявките, идващи от фронтенда, и за изпращането на отговори обратно към фронтенда.
Това е еквивалентно на Basic Software (BSW) в AUTOSAR, което предоставя основни услуги като комуникация, управление на паметта и диагностика. Бекендът осигурява основната функционалност и услуги, до които фронтендът има достъп.
Тези аналогии показват как концепцията за модулност се използва в различни технологични области за структуриране на сложни системи и за опростяване на тяхната разработка, поддръжка и мащабиране.
В уеб разработката са се утвърдили различни архитектури и стандарти, които насърчават модулността, поддържаемостта и оперативната съвместимост. Те включват
REST (Representational State Transfer)
REST не е формален стандарт, а архитектурно ръководство за създаване на мрежови приложения. RESTful API-тата са се утвърдили като стандарт за комуникация между фронтенд и бекенд и подпомагат ясно разделяне на отговорностите в едно уеб приложение.
MVC (Model-View-Controller)
MVC е дизайнерски шаблон, който осигурява разделяне на данни (model), потребителски интерфейс (view) и бизнес логика (controller). Той се реализира в много уеб фреймуъркове и подпомага модулна и лесна за поддръжка кодова база.
SOAP (Simple Object Access Protocol)
SOAP е протоколен стандарт за обмен на структурирана информация при реализирането на уеб услуги в компютърни мрежи. Той предоставя стандартизиран метод за комуникация между различни системи.
OAuth
OAuth е отворен стандарт за делегиране на достъп, който често се използва за удостоверяване и авторизация чрез токени в Интернет. Той позволява сигурна API авторизация в стандартизиран формат.
Web Content Accessibility Guidelines (WCAG)
Тези насоки предоставят стандарти за това как уеб съдържанието може да бъде достъпно за хора с увреждания. Те се считат за най-добра практика при създаването на достъпни уеб приложения.
HTML5/CSS3/JavaScript ES6+
Последните версии на тези основни уеб технологии са се утвърдили като индустриални стандарти за разработка на уеб фронтенд. Те предлагат широк набор от функции и API-та, които осигуряват гъвкавост и интерактивност на съвременните уеб приложения.
Responsive Web Design (RWD)
RWD е подход към уеб дизайна, който цели оптимизация на показването на уебсайтове на различни устройства и размери на прозорци или екрани. Той се е превърнал в неписан стандарт за съвременната уеб разработка.
Modularity
Модулност
Точно както AUTOSAR модулализира софтуера в ECU, уеб приложенията могат да се възползват от ясно разделение на фронтенд, middleware и бекенд. Това разделение позволява специализирана разработка във всяка област, подобрява поддръжката и улеснява мащабирането.
Стандартизирани интерфейси
AUTOSAR дефинира стандартизирани интерфейси между модулите на ECU. По подобен начин, RESTful API-та или SOAP могат да се използват при уеб разработка за комуникация между фронтенд и бекенд, за да се увеличи съвместимостта и лесната поддръжка.
Стандарти за сигурност
Докато AUTOSAR предписва строги стандарти за сигурност на автомобилния софтуер, уеб приложенията могат да се възползват от подобни принципи чрез внедряване на надеждни механизми за удостоверяване и авторизация, като OAuth.
Софттуерна компания като ТВМ, която има опит със стандарта AUTOSAR в автомобилната индустрия, може да се възползва от различни предимства, ако това знание се пренесе в разработката на уеб приложения. Най-важните предимства са:
Модулен дизайн
AUTOSAR насърчава високо модулен подход към софтуерната архитектура. Този опит може да помогне при разработката на уеб приложения, като доведе до ясно структурирана, лесна за поддръжка и разширяема кодова база. Модулният дизайн улеснява интегрирането на нови функции и адаптирането към променящи се изисквания.
Стандартизирани интерфейси
Опитът със стандартизирани интерфейси в AUTOSAR може да се използва при уеб разработка за създаване на стабилни и добре дефинирани API дизайни. Това улеснява интеграцията на различни системи и компоненти и подобрява съвместимостта.
Фокус върху качество и надеждност
AUTOSAR поставя силен акцент върху надеждността и качеството. Прилагането на тези принципи при уеб разработка може да доведе до по-високо качество на софтуера, по-добра производителност и по-нисък процент грешки.
Подобрени практики за сигурност
Стандартите за безопасност са изключително важни в автомобилната индустрия. Този опит може да се използва при уеб разработка, за да се вземат предвид аспектите на сигурността още от самото начало и да се внедрят надеждни мерки за защита.
Опит с комплексни системи
AUTOSAR се използва в сложни и критични системи. Този опит може да бъде полезен при управлението на сложни архитектури в уеб приложения и при разработката на ефективни решения за предизвикателни проблеми.
Междудисциплинарно сътрудничество
AUTOSAR често изисква сътрудничество между различни дисциплини (хардуер, софтуер, системна интеграция). Този опит може да насърчи сътрудничеството в уеб проекти, особено в мултидисциплинарни екипи.
Ефективност в разработката
Принципите на повторна употреба и стандартизация, които следва AUTOSAR, могат да доведат до по-ефективни процеси на разработка при уеб приложения. Използването на доказани модели и компоненти може да намали времето за разработка и да увеличи продуктивността.
Опит с реалновременни системи
Опитът с реалновременните аспекти на AUTOSAR може да бъде полезен при разработка на уеб приложения, които трябва да обработват реалновременни данни, например в уеб-базирани системи за мониторинг или управление.
Като цяло, опитът с AUTOSAR ни предоставя солидна основа за разработката на стабилни, ефективни и висококачествени уеб приложения, които отговарят на съвременните изисквания.
Искате ли да си сътрудничите с опитен екип за разработка на софтуер в България? Нека работим заедно, за да реализираме вашия проект.

Вътрешната разработческа платформа ускорява deployment-ите и намалява toil с 70%. Как водещи екипи я изграждат с GitOps и Kubernetes.
NearshoringNearshore екипи в България помагат на средния бизнес с дигитална трансформация — 40% по-ниски разходи, същата часова зона, европейски стандарти.

Модернизация на легаси система може да трансформира бизнеса ви. Разберете кога си струва инвестицията и как да избегнете рисковете.