When service identification becomes automated

The problem domain of service identification which is intrinsically included in the larger domain of service-oriented modeling has been put forward by pioneers of service-oriented and cloud computing namely Ali Arsanjani from IBM and Thomas Erl back in 2004.

From then, several researchers have been attempting to develop appropriate solutions for this problem area and according to a systematic review reported by Qing Gu and Patricia Lago (2010), service-oriented computing community researchers and practitioners have been proposed a vast majority of service identification methods which their key missions are determination of the scope of functionality a service exposes to meet business needs, and the boundaries between services to achieve maximum design measures. We proposed our first humble idea at International Conference on Services Computing (SCC) in 2008. Due to the heterogeneity of these methods, practitioners often face the difficulty of choosing a right service identification approach that copes with available resources and fits their needs. These methods rely heavily on the experiences of architects to direct them in the identification of services and architectural elements by descriptive qualitative guidelines. These service-identification methods have proved to be laborious and less productive, given the mere large scale of enterprises and the human limitations in comprehending the mostly non-quantitative and textual service requirements of such large enterprises while deriving proper services out of business models. Based on these challenges and opportunity for improving efficiency, we proposed a novel approach called ASIM (Automated Service Identification Method) for automatically identifying and partly specifying enterprise-level software services from business models using best practices and principles of model-driven software development. Based on these premises, the service identification problem, for which we proposed an automated method, could be formulated as follows: “How good service abstractions (at the right level of granularity) with acceptable technical metrics can be derived automatically from high-level business requirements and process models?”.

We have formulated the service identification as a multi-objective optimization problem and solved it by a novel meta-heuristic optimization algorithm that derives appropriate service abstractions by using appropriate quantitative measures for granularity, coupling, cohesion, reusability, and maintainability. ASIM helps architects to derive right architectural elements of service-oriented solutions that in turn lead to effective service models.

This paper has been co-authored by Saeed Mansour, Kavan Sedighiani, Soheil Jamshidi, and Fereidoon Shams.