内容管理系统(CMS)如Joomla和WordPress主宰着当今的网络。通过标准化的扩展,管理员可以为不同的客户需求构建强大的web应用程序。然而,开发CMS扩展需要复杂的技术知识,并且扩展的复杂代码结构在典型的开发和迁移场景中会导致错误。模型驱动开发(MDD)似乎是解决这些挑战的一个有前途的范例;然而,它还没有在CMS领域被采用。有系统的证据表明在这一领域应用MDD的好处可以促进其采用;然而,目前缺乏对这一益处的实证研究。本文通过访谈、对照实验、现场实验和案例研究,对MDD在CMS领域的应用进行了混合方法的实证研究。在实验过程中,我们使用了JooMDD,一个用于CMS扩展的MDD基础设施实例。这个基础设施,这也是在这项工作中提出的,包括一个DSL模型编辑器,代码生成器和逆向工程设施。我们考虑了开发新的(独立的和依赖的)CMS扩展和将现有的CMS扩展迁移到新的主要平台版本的三种场景。在我们的访谈中,经验丰富的开发人员承认这些场景的相关性,并报告了使他们适合成功应用MDD的经验。我们发现迁移场景的相关性特别高。我们的实验在很大程度上证实了MDD在其他领域的潜力和局限性。特别是,在CMS扩展的开发过程中,我们发现生产率提高了11.7倍,质量提高了2.4倍。此外,我们的观察强调了与已经使用的工具环境和过程无缝集成的良好工具的重要性。
Content management systems (CMSs) such as Joomla and WordPress dominate today’s web. Enabled by standardized extensions, administrators can build powerful web applications for diverse customer demands. However, developing CMS extensions requires sophisticated technical knowledge, and the complex code structure of an extension gives rise to errors during typical development and migration scenarios. Model-driven development (MDD) seems to be a promising paradigm to address these challenges; however, it has not found adoption in the CMS domain yet. Systematic evidence of the benefit of applying MDD in this domain could facilitate its adoption; however, an empirical investigation of this benefit is currently lacking. In this paper, we present a mixed-method empirical investigation of applying MDD in the CMS domain, based on an interview suite, a controlled experiment, a field experiment, and case studies. During the experiments, we used JooMDD, an MDD infrastructure instantiation for CMS extensions. This infrastructure, which is also presented in this work, consists of a DSL with model editors, code generators, and reverse engineering facilities. We consider three scenarios of developing new (both independent and dependent) CMS extensions and of migrating existing ones to a new major platform version. The experienced developers in our interviews acknowledge the relevance of these scenarios and report on experiences that render them suitable candidates for a successful application of MDD. We found a particularly high relevance of the migration scenario. Our experiments largely confirm the potentials and limits of MDD as identified for other domains. In particular, we found a productivity increase up to factor 11.7 and a quality increase up to factor 2.4 during the development of CMS extensions. Furthermore, our observations highlight the importance of good tooling that seamlessly integrates with already used tool environments and processes.
|