Docker与SDK:保时捷信息娱乐应用的未来

人机交互与互联技术

16.4.2020

畅“箱”应 用的未来

为信息娱乐系统平台模块(MIB)开发应用并将其推送给用户从未如此简单。保时捷工程集团在为保时捷Taycan升级的新一代MIB中使用集装箱化解决方案Docker打造了许多创新应用。在这一基础上也形成了帮助第三方平台开发MIB新应用的软件开发工具包(SDK)。

于2019 年 9 月上市的保时捷 Taycan 不仅仅是保时捷的第一辆纯电动跑车,同时也是其第一辆搭载第三代信息娱乐系统平台模块(MIB3)的跑车。MIB3 不仅具备技术最先进的硬件设备和更大的屏幕,而且还可运行全新的应用来扩展其功能。这是通过集成在系统内的集装箱化解决方案 Docker 得以实现的:它允许将应用及其依赖项一起打包到集装箱中,后续也可在系统上运行。这样一来,新应用的开发和分发明显比在前代MIB 中更为容易。

这一名称让人很容易联想到物流:几十年来,货物都是被打包放入标准化的集装箱中,然后远渡重洋被运往世界各地。同样,新的应用程序也可如此轻松无虞地从研发者到达用户端。不过此时人们无从得知终端系统是如何配置的——比如车内的MIB3 系统。问题也因此产生,因为程序的运行往往需要明确定义的系统环境。这就包括比如提供某些网络入口功能的系统数据库。此外,JavaScript 等解释语言的执行需要运行时引擎,而且在大多数情况下对其版本也有要求。

可靠的解决方案:在物流领域,集装箱早已必不可少——这一概念如今也融入到软件开发当中。

“由于有如此之多的依赖项,过去所有用于信息娱乐系统的应用都来自于 MIB 供应商。”保时捷工程集团的法比安·布雷西希(Fabian Breisig)解释说,“过去我们几乎无法开发自己的应用。为此,我们原本只能将我们的代码发给供应商,由他们费时费力地集成到整个系统中。”而 Docker 集装箱则完美解决了这一问题:原则上,任何第三方均可利用它开发自己的应用并将其打包装入带有必要数据库、辅助程序和静态数据的集装箱。在通过保时捷审核之后,他们便可将应用通过轻松简便的下载推送给用户。

“Docker 引擎”位于终端系统的操作系统和集装箱之间。它负责集装箱的管理和执行,并为在集装箱中运行的程序抽象出主机系统的资源。通过这种方式,无需针对主机进行特定调整,集装箱就可以在不同终端系统上运行。与IT行业中广为流行的Hypervisor 虚拟化和虚拟机(VM)不同,集装箱为应用虚拟提供完整的运行环境和所有必要的依赖项,而不含完整的客户操作系统。因此集装箱消耗的资源更少,更易于移植,启动也更为迅速。“Docker集装箱可以说是应用层最为轻量级的虚拟化形式。”布雷西希说。

开发创新 Web 应用

在过去两年半中,保时捷一直采用 Docker 技术、依据客户/服务器原则开发 Web 应用。如今已经开发出许多 MIB3 的应用程序:例如,日历 App 能够整合比如 Office 365、谷歌或智能手机的多种日历,并在信息娱乐系统的屏幕上展示出来。这一应用从一开始就集成到保时捷 Taycan 中。股票 App 可显示当前股价,而“流量套餐”App 则可以显示 MIB3 在一定时间内产生的 SIM 卡流量。

独立:使用 Docker 技术,应用程序的升级周期不再依赖于 MIB3。

除了这样的系列项目外,保时捷的软件开发人员还专注于引领未来的新奇创意。“我们不断寻找创新且有意义的新案例,并首先对它们进行概念验证。”布雷西希说,“我们希望找到哪些特征能为顾客带来增值、在给定框架下可以做到什么,又有哪些系统和外部接口方面的限制。”现在正在进行的创新项目之一便是“城市导游”(City Tour Guide):根据不同内容提供者所提供的信息与图片,此应用程序可以将附近的景点、餐馆和其他兴趣点(POI)展示给用户。另外还可以规划和执行逐向导航。我们还为概念验证补充增加了一款增强现实智能手机应用:一旦智能手机被导向 POI,便会在 Taycan 的乘客屏幕上推送有关该 POI 的相关信息。在概念验证达到功能可感的阶段后,就会向委员会展示,由他们决定是否进行批量生产。

用户可以随时“从云端”下载这些应用。他们无需再等待 MIB3 的软件升级,因而应用程序的升级周期不再依赖于信息娱乐系统,就像在个人计算机和智能手机上安装新软件而无需更新操作系统版本一样。软件开发人员也受益于终端系统和应用程序的分离:“我们可以在 Docker 集装箱的帮助下加快开发速度,因为我们不再需要将目光紧盯终端系统了。”布雷西希解释说,“这让我们有机会开拓全新的商业领域。”

应用开发工具包

保时捷工程集团从 2018 年年中起提供一套软件开发工具包(SDK),有助于其他企业对 MIB3应用程序的研发。这套 SDK 是专为 MIB3 开发的工具和数据库集,能简化和加速应用开发的整套流程,包括从项目起草、编程直到发布。举例来说,所有新的应用程序都必须在 MIB3 注册,这本是一套极为繁琐的程序,而 SDK 则可为程序员大大简化这一程序的运作。此外,它还提供简洁的界面以使用比如导航等其他应用程序的功能。研发人员无需传输大量参数,只需通过简单的命令即可传输目标并启动导航。

MIB3 的应用:“城市导游”App 可以为用户规划 POI 之间的路线(上图)。此外它还提供联运路线建议。

36 名编程人员于今年年初参加了在魏斯阿赫举行的为期一周的编程马拉松,他们也成为了这套SDK 的第一批使用者。这一活动的目的是将新颖的创意转化为可执行的原型。参与者都受益于这套SDK 的工具和数据库,并能快速取得开发前期的成功。托比亚斯·舒格(Tobias Schug)就是其中一位:“我觉得这套 SDK 很不错。”这位在保时捷股份公司开发“Gravity”云平台的技术人员说,“使用这套 SDK 工具,开发者能更快速地实现目标,因为无需再为一切编写代码,比如可以省去为显示图片和文字的前端组件编写代码的步骤。”他同时也非常认同集装箱技术:“这真是一个打包和上架应用的好机会。”舒格说。

未来,这套 SDK 将随着 MIB3 的更新同步升级新功能,比如通过集成的 WLAN 热点实现 MIB与外部设备的数据传输。“凭借自研的 SDK 和在Docker、Web 架构和 Web 框架(如Angular)领域的专业知识,我们可以为高级 Web 开发提供便利。”布雷西希总结说。

架构总览

应用程序在 MIB3 上的Docker 集装箱内获得执行。它由应用服务和 Web 应用组成:应用服务是一个含有应用程序逻辑的 Node.js®应用。它可以与其他MIB3 服务(如导航)或通过 Web 代理与云服务互动,以实现数据传输。在调取应用时,Web 应用会展示基于 Angular 和HTML5 的用户界面。在研发过程中,开发环境可与 MIB3 相连接。这样一来就可以直接使用界面而无需在开发的每一步都用 MIB3 进行测试。

信息

本文首次发表于《保时捷工程杂志》2019年第2期。

文字:Christian Buck
共同撰稿:Fabian Breisig、Thomas Pretsch

版权:本文中发布的所有图片、视频和音频文件均版权保护。未经保时捷工程书面许可,不得部分或全部复制。欲了解更多信息,请联系我们。

联系方式

您有问题或想了解更多信息吗?请联系我们:info@porsche-engineering.de

消耗数据

保时捷 Taycan 车型
耗电量(综合,kWh/100 km):26.9–24.6 kWh/100 km
二氧化碳排放量(综合):0 g/km