基于面向服务架构的软件开发方法研究

(整期优先)网络出版时间:2022-07-29
/ 2

基于面向服务架构的软件开发方法研究

安超

中远海运散货运输有限公司,广东省广州市 510220

摘要:未来,智能和联网将成为汽车技术发展的核心动力,汽车部门将引领重大创新,包括额外的节能减排、自主驾驶和新的运输模式。智能互联车辆的特点和特点大部分由软件实现,但我们知道,传统的嵌入式汽车软件开发方法很难在汽车软件的规模和复杂性上保持指数增长。汽车产业还向IT部门引进了先进技术,其中面向服务的体系结构被认为是支持汽车软件未来发展的关键技术之一。

关键词:面向服务;电子电气架构;软件开发

引言

汽车的电子电气架构逐步由中央网关式分布架构演进为面向服务的域控制架构,这样能够解决整车级功能增多导致的分布式架构接口太过复杂、不便于功能快速迭代的问题,同时有利于实现软硬件松耦合甚至软硬件解耦。为把握开发主导权,整车厂倾向于核心软件模块自主研发,以域控制架构为框架的整车电子电气开发要求整车厂具备较强的软件集成能力。基于SOA的软件架构及软件开发将是未来汽车电子电气发展方向。基于面向服务架构的软件开发背景以及开发方法,结合此方法给出实际应用案例。

1、SOA软件开发方法

基于SOA的软件开发将一个功能设计为由若干个软件组件通过组合和编排的形式实现,这些软件组件为独立可运行的可执行单元,这些可执行单元具备若干个服务接口,这些服务接口中的操作需要与平台软件通信模块的通信类型保持一致。在软件开发中,首先根据硬件配置、可执行单元设计、服务接口设计、网络设计以及软件部署设计等,制作ARXML;通过平台软件工具,加载ARXML,生成接口代码;最后将功能逻辑代码与接口代码集成,生成软件包。

1.1业务驱动型开发方法

商务中心指的是一种汽车SOA软件开发方法,它从使用业务场景开始,是面向服务的。该方法适用于已知的用例业务场景,车载SOA软件必须被设计来实现用例业务场景开发场景。在设计过程中,通过三个阶段的业务流程分析、服务运行分析和候选服务分析,我应该构建什么样的服务?有一个问题,叫做每个服务应该封装什么逻辑?以下是两个关键问题。(1)业务流程分析业务流程分析指的是在特定的使用场景下对实际业务流程的全面理解。本技术文档采用了基于用例的业务需求和流程分析方法。运行用例意味着从用户的角度,而不是开发人员的角度来考虑系统的功能要求和实现,重要的是观察系统外部的使用情况。基于用例场景的开发活动可以在服务需求和操作之间建立清晰的可追溯性关系,并提供足够的上下文信息来抽象和封装服务。(2)服务操作分析由服务操作实现的服务封装业务逻辑。作业是由服务执行的具体操作,它可能类似于软件的方法或功能。面向服务的分析包括识别和分组候选服务操作的过程,这些组最终成为候选服务。将此过程抽象为两个阶段:服务操作分析和潜在服务分析。服务业务分析是从业务流程分析产品向服务转变的过程,目的是获得构成候选服务的服务业务。服务分析可以具体描述为逐一分析和阐明系统的用例,并解释系统如何与成员实现每个用例,使系统与成员和外部系统之间的界限和信息交互,最后得到系统的功能要求。这些功能需求是系统应该知道的功能,直接用作下一步的候选服务活动。

1.2平台驱动型开发方法

平台驱动意味着,从设计的车辆物理逻辑中,物理逻辑可以封装在元服务中,或者一些元服务可以进一步组合到基本服务中。平台开发方法有以下几种情景,即使用业务情景还不清楚,但必须为汽车软件建立一个基本的soA平台,以支持潜在应用服务的快速实现,从而促进未来软件的快速创新。在平台开发方法的实现过程中,通常需要采集车辆的物理逻辑,根据物理逻辑的潜在服务价值优先考虑具有潜在服务价值的部分,将其封装在元服务中,并相应地生成基础服务。将来,在创建应用服务时,您可以使用嵌入式元服务和实物服务来实现软件的快速创新。基于平台开发方法,可以实现车辆软件系统的开放性,最后实现车辆操作系统。

2、SOA汽车软件分层模型

用术语调用客户业务需求的特定需求时,描述业务需求的形式之一称为业务用例,实现业务用例的过程称为业务过程,业务过程中执行特定任务的逻辑的一部分称为业务日志。在面向服务的体系结构中,服务是业务逻辑的包,具有定义完善的接口,并独立实现。服务定位计划定义了连接多项服务以确保满足业务需求的方法。服务封装的业务逻辑的大小决定了服务参与业务的范围,直接定义了服务的自主性、重用性和其他主要特性,是设计SOA体系结构的主要挑战。设计SOA车辆软件时,需要明确的模型作为有效实现SOA好处的基础。在提到良好的IT实践时,本文提出了SOA汽车软件的分层模型,包括三个级别的元服务、基础服务和应用服务,以确保不同的服务级别相互匹配。1)元服务是最小块。从运营的角度来看,元服务是对底层逻辑的封装,没有再分离的意义和价值。在结构上,元服务是一个非常普遍、自主和可重用的功能块,用于创建整个SOA体系结构的子基础架构。传感器、执行器和汽车的其他基本接口以及汽车的基本参数都可以打包为元服务,例如,元服务中的移动速度、汽车的惯性状态、“车辆条件”等参数的封装可以为服务的高级体系结构提供支持。2)基本服务是多层次模型的中间服务。从运营的角度来看,基本服务封装了更多的业务逻辑。这意味着将多个元服务组合在一起。在结构上,核心服务可以访问元服务,调用元服务以实现更大范围的业务流程。基本服务必须充分自主和可重复使用。基于元服务的使用,可重复使用的汽车业务逻辑可以封装在基本服务中,例如,基于自主驾驶车辆服务的使用,雷达等传感器信息服务、和其他信息可以构建环境信息服务。

3、未来研究方向

作为一种新的技术发展趋势,面向微服务器的软件开发被广泛用于实用行业,从中获得了一些成熟的开源工具和平台。此外,在微服务器导向软件开发方法的总体研究趋势中,我们发现国内研究水平与国际边界之间还存在一定的差距。从微服务器软件需求分析的角度来看,当前的相关研究通常用于开发或迁移特定的应用程序,主要遵循传统的软件开发需求分析方法。然而,不同的微服务器程序在非功能需求中往往有许多共同点。因此,在分析微服务器软件需求时,一方面要根据微服务器的特点,探索更快、更灵活、更准确的需求分析方法,并开发相应的需求分析工具,以提高需求分析的效率、可扩展性和准确性。同时,需要全面考虑后续的几个开发阶段,如微服务器的设计和测试,以便需求变更可以快速转移到其他阶段,其他阶段的结果可以根据需求进行确认。另一方面,在分析非功能性需求时,需要制定相应的工作标准,以便更系统、更全面地总结不同学科和特性的微服务器软件,并为研究人员提供规范参考。

结束语

相比传统软件开发方式,采用SOA开发模式,接口代码可通过标准化方式生成,减少写代码的工作量,降低接口代码与功能逻辑代码的耦合度,提升软件开发效率;同时每个可执行单元相互独立,软件迭代过程中,可以通过小范围的更新完成功能升级,无需整体升级。未来,基于SOA的软件开发将是行业重点关注方向。

参考文献:

[1]刘佳熙,丁锋.面向未来汽车电子电气架构的域控制器平台[J].中国集成电路,2019,28(9):87-92.

[2]李思墨.“微时代”下公共图书馆读者服务策略探讨[J].参花,2021(1):117-118.

[3]朱瑞新.基于微服务架构社会化发行系统设计与实现[J].网络安全技术与应用,2021(4):121-125.