As use of data driven technologies spreads, software engineers are more often faced with the task of solving a business problem using data-driven methods such as machine learning (ML) algorithms. Deployment of ML within large software systems brings new challenges that are not addressed by standard engineering practices and as a result businesses observe high rate of ML deployment project failures. Data Oriented Architecture (DOA) is an emerging approach that can support data scientists and software developers when addressing such challenges. However, there is a lack of clarity about how DOA systems should be implemented in practice. This paper proposes to consider Flow-Based Programming (FBP) as a paradigm for creating DOA applications. We empirically evaluate FBP in the context of ML deployment on four applications that represent typical data science projects. We use Service Oriented Architecture (SOA) as a baseline for comparison. Evaluation is done with respect to different application domains, ML deployment stages, and code quality metrics. Results reveal that FBP is a suitable paradigm for data collection and data science tasks, and is able to simplify data collection and discovery when compared with SOA. We discuss the advantages of FBP as well as the gaps that need to be addressed to increase FBP adoption as a standard design paradigm for DOA.
翻译:随着数据驱动技术的推广,软件工程师更经常地面临使用机器学习算法等数据驱动方法解决商业问题的任务。在大型软件系统中部署ML带来新的挑战,而标准工程实践没有解决这些挑战,因此企业发现ML部署项目失败率很高。数据导向建筑(DOA)是一种新兴方法,在应对这些挑战时可以支持数据科学家和软件开发者。然而,在实际中如何实施DA系统方面缺乏明确性。本文件建议考虑将基于流动的方案编制作为创建DOA应用的范例。我们从应用ML的四种应用中实证地评价FBP,这四种应用代表典型的数据科学项目。我们使用服务导向建筑(SOA)作为比较基线。对不同的应用领域、ML部署阶段和代码质量衡量标准进行评估。结果显示,FBP是数据收集和数据科学任务的适当范例,与SA相比,能够简化数据收集和发现。我们讨论了FBP的优势,因为需要将标准设计作为DBA的模型,从而扩大使用。