X-Driven Methodologies for SOA System Development -- A Survey
It helps developers choose methods for SOA systems, but it is incremental as it applies existing general methodologies to a specific domain.
This study evaluated four x-driven methodologies (XDMs) for service-oriented architecture (SOA) system development, finding that business-driven development is best-suited based on SOA criteria, while the others have specific strengths like productivity or quick response.
This study aims to evaluate four service-oriented architecture (SOA) system software development methodologies: business-driven development, model-driven development, event-driven development, and domain-driven development. These methods, generically labelled as x-driven methodologies (XDMs), are commonly used in a general software development context, but software architects can also apply them in an SOA-based system. Each XDM typically focus on a specific aspect that drives its processes and steps. This aspect is indicated by its label. An evaluation method called qualitative screening mode is used in this study. XDMs are analysed based on their features to determine the suitability or support for service-oriented solutions. Criteria used to appraise each method are taken from SOA characteristics and SOA manifesto points. Of the four discussed XDMs, business-driven development is the best-suited approach to implement a service-oriented system shown by its conformity with the selected assessment criteria. Nevertheless, the other three XDMs have also their own strengths. Model-driven development is excellent for productivity, event-driven development is preferential for a quick response and asynchronous work, while domain-driven development is distinctive to describe problems precisely. The originality of this research is in the assessment general software development approaches of XDMs to be applied to SOA approach. The results can help developers in considering suitable methods to construct a prospective software system. Previous studies only investigate on methodologies designed intentionally for service-oriented systems.