Conference Paper

A Survey of Service Identification Strategies

Authors:
To read the full-text of this research, you can request a copy directly from the authors.

Abstract

In service engineering, service identification plays a critical role as it lays the foundation for the later phases. Many existing research focus on creating holistic service oriented engineering process, generating SOA methodologies and frameworks, as well as proposing new service identification methods. Unfortunately, most methods deal with certain business cases and cannot provide universal guidance on service identification. While a few researchers have done surveys on various identification methods, they focus on describing the methods themselves, and the analysis is isolated from either the engineering process or the goals of SOA endeavor. In this paper we present a comprehensive understanding on service identification with software and service engineering process in consideration. We try to answer questions concerning about obtaining a generic service identification method. By examining recent research works we find some shared high-value activities among various methods, which works as a start point to solve the questions we presented. Detailed discussions are studied on these high-value activities. How to apply some frequent used activities under different environments are also covered.

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the authors.

... A literature review describes, understands, explains, or tests theories [7]. Over time, several literature reviews were conducted to portray the state of the knowledge and reveal the gaps in SOA service identification and design methods [8]- [16]. Existing reviews covered previously published studies regardless of the methods starting point to derive SOA services. ...
... In [8], the authors examined existing literature to identify high-value design activities shared by various service identification and design methods. They highlighted model-to-model transformation, business model decomposition, value analysis, pattern matching, and ontology mapping. ...
... Pattern matching identifies services from business models by matching existing patterns. Ontology mapping helps to identify services from business models based on a set of ontology definitions [8]. The study performed a comparative analysis using criteria of efficiency, scalability, alignment with business objectives, and adaptability. ...
Article
Full-text available
Modern organizations are process-oriented. To remain competitive in the digital transformation era, these organizations design and implement Information Systems (IS) to support their business processes. The emergence of the Service-Oriented Architecture (SOA) style made it possible to design IS architectural models that meet software quality criteria and are aligned with the organizations’ business models. However, designing such SOA services is a complex task that requires extensive knowledge and skills in software architecture and the business domain. Researchers and practitioners have proposed several methods to derive SOA services from business models during the last two decades. However, SOA design initiatives from business models still fails. Existing methods and processes to design process-aware IS have limitations related to their usability and implementation complexity. These limitations triggered the necessity for a survey that extracts more information about how to design SOA architectural models from business models. This work proposes a systematic literature review (SLR) to establish the state of the art about the existing methods that derive service models from business models. This SLR provides practitioners, such as solutions architects, business architects, and application architects a comprehensive overview of available methods to derive SOA architectural models from business models, helping them design SOA services and build effective software solutions. We selected forty-one primary studies published between 2006 and 2023. We compared selected methods according to seven specific criteria, namely: design life cycle coverage, detailed specification support, SoaML support, service granularity, the use of patterns, automation, and tool support. The results confirm that SOA is an established architectural style for building effective ISs that support organizations’ business processes. As far as we observed from comparing selected methods according to the selected criteria, our findings explain the need for a new method that provides organizations with an easy-to-use and comprehensive process to derive quality SOA models from business models.
... By considering the importance and the complexity of the identification phase in a SOA process, many Service identification methods (SIMs) have been proposed in the recent literature. These SIMs offer different techniques to identify SOA services, such as process decomposition, modeldriven approaches, value analysis, source code extraction, and ontology mapping [13]. The ultimate goal of a SIM is to deal with challenges in the service identification phase in order to identify services that have correct functionality, granularity, reuse, and flexibility for service composition and orchestration. ...
... The ultimate goal of a SIM is to deal with challenges in the service identification phase in order to identify services that have correct functionality, granularity, reuse, and flexibility for service composition and orchestration. In this context, some surveys [9][10][11][12][13]115,116] have been published aiming at providing an overview of the existing SIMs. However, meet in the middle approaches are generally not addressed in these surveys. ...
... Gu and Lago [12] select 30 primary studies from a set of 237 examined studies and compare them regarding types of inputs, outputs, and strategies used in service identification. Cai et al. [13] assess 41 studies and propose a classification of high-value activities shared by different identification methods. Zadeh et al. [116] propose a criterion to evaluate SIM inputs regarding their machine readability, the level of interaction details among process, stakeholders, service choreography that they elicit, their level of abstraction, goals coverage, and possibility of being decomposed. ...
Article
Full-text available
One of the major challenges for the adoption of the service-oriented architecture (SOA) is the service identification phase that aims to determine which services are appropriate to be implemented. In the last decade, several service identification methods (SIMs) were proposed. However , the service identification phase still remains a challenge to organizations due to the lack of systematic methods and comprehensive approaches that support the examination of the businesses from multiple perspectives and consider service quality attributes. This work aims to provide an overview of existing SIMs by detailing which service's perspectives, stated as relevant by the industry, are addressed by the SIMs and also by synthesizing the identification techniques used by them. We have performed a systematic survey over publications about SIMs from were selected. A detailed investigation on the analyzed SIMs revealed that the identification techniques applied by them have a correlation on how they address many of the service's perspectives. In addition, they are supporting the SOA adoption by handling many perspectives of the OASIS' reference architecture for SOA. However, most of them do not explicitly address service quality attributes and few studies support the evaluation of both. Therefore, future research should follow the direction toward hybrid methods with mechanisms to elicit business and service's quality attributes.
... SI is a process of eliciting and organizing candidate services from appropriate resources prior to designing software services [6], [7]. SI are differentiated by their purpose [29], directions of analysis, inputs, and outputs [30]. SI strategies may have service-development, application-development, or application-reengineering purposes [29]. ...
... SI are differentiated by their purpose [29], directions of analysis, inputs, and outputs [30]. SI strategies may have service-development, application-development, or application-reengineering purposes [29]. Service-development oriented SI strategies identify patterns of independent services to integrate with differ-ent application while application-development-oriented SI strategies aim to select services to compose them as an application within the context of a certain requirements [31]. ...
... The latter is usually preceded by an analysis of application requirements [31]. The reengineering-oriented SI strategy aims to modernize existing legacy systems through SO [29]. ...
... SI is a process of eliciting and organizing candidate services from appropriate resources prior to designing software services [6], [7]. SI are differentiated by their purpose [29], directions of analysis, inputs, and outputs [30]. SI strategies may have service-development, application-development, or application-reengineering purposes [29]. ...
... SI are differentiated by their purpose [29], directions of analysis, inputs, and outputs [30]. SI strategies may have service-development, application-development, or application-reengineering purposes [29]. Service-development oriented SI strategies identify patterns of independent services to integrate with differ-ent application while application-development-oriented SI strategies aim to select services to compose them as an application within the context of a certain requirements [31]. ...
... The latter is usually preceded by an analysis of application requirements [31]. The reengineering-oriented SI strategy aims to modernize existing legacy systems through SO [29]. ...
... Service-orientation purports to solve this problem by viewing applications as orchestrations of independent software services that (1) implement functions that are reusable across many applications or application domains, (2) can be distributed and invoked remotely, and (3) are exposed such that their interfaces (a) abstract the specificities of their implementation technology and (b) allow any client, regardless of its implementation technology, to invoke them. ...
... Service identification methods were studied in a number of surveys (e.g., [12,2,13]). We briefly present some of these surveys in the following subsection. ...
... Cai et al. [2] surveyed a number of SIMs with the goal of highlighting their shared high-value activities and practices. In particular, they study the relation between service identification and the SOA engineering process (i.e., forward engineering vs re-engineering). ...
Preprint
Full-text available
Service-orientation views applications as orchestrations of independent software services that (1) implement functions that are reusable across many applications, (2) can be invoked remotely, and (3) are packaged to decouple potential callers from their implementation technology. As such, it enables organizations to develop quality applications faster than without services. Legacy applications are not service-oriented. Yet, they implement many reusable functions that could be exposed as \emph{services}. Organizations face three main issues when re-engineering legacy application to (re)use services: (1) to mine their existing applications for reusable functions that can become services, (2) to package those functions into services, and (3) to refactor legacy applications to invoke those services to ease future maintenance. In this paper, we explore these three issues and propose research directions to address them. We choose to focus on the service-oriented re-engineering of recent legacy object-oriented applications, and more specifically, on JEE applications, for several reasons. First, we wanted to focus on architectural challenges, and thus we choose to \textit{not} have to deal with programming language difference between source and target system. We chose JEE applications, in particular, because they embody the range of complexities that one can encounter in recent legacy applications, namely, multi-language systems, multi-tier applications, the reliance on external configuration files, and the reliance on frameworks and container services during runtime. These characteristics pose unique challenges for the three issues mentioned above.
... It shows the number of criteria and methods for each evaluation framework. [1] 2007 9 6 Klose et al. [2] 2007 8 10 Ramollari et al. [3] 2007 8 10 Kim and Doh [4] 2009 5 4 Boerner and Goeken [5] 2009 42 5 Kontogogos and Avgeriou [6] 2009 6 7 Birkmeier et al. [7] 2009 13 13 Kohlborn et al. [8] 2009 9 30 Gholami et al. [9] 2010 34 1 Gu and Lago [10] 2010 6 30 Nikravesh et al. [11] 2011 3 9 Gu and Lago [12] 2011 23 12 Cai et al. [13] 2011 4 41 Svanidzaitė [14] 2012 4 5 Mohamad et al. [15] 2012 6 6 Jamshidi et al. [16] 2012 14 10 Alahmari [17] 2012 8 25 Vale et al. [18] 2012 13 30 Zadeh et al. [19] 2012 1 48 Kazemi et al. [20] 2013 8 5 Huergo et al. [21] 2014 14 105 Leopold et al. [22] 2015 4 27 Amiri et al. [23] 2016 6 13 ...
... Cai et al. [13]. Criteria: Activity, approach, description, artifacts. ...
... Huergo et al. [21]. Criteria: The proposed classification scheme (participant concerns, context of transactions, service value to the business, service description, behavior model, information model, service granularity, service dependency, type of conversation, quality attributes elicitation), The criteria proposed by [13] (technique, delivery strategy, description, artifacts). Basis: The proposed classification scheme, which includes different service perspectives, was derived based on the OASIS' reference architecture (i.e., OASIS' views and models) for SOA [27]. ...
Chapter
Service identification is one of the main challenges in developing services for Service-Oriented Architecture (SOA). A large number of Service Identification Methods (SIMs) have been proposed to simplify service identification. Therefore, many evaluation frameworks are available in the literature for comparing the existing SIMs. This paper aims to identify and analyze the existing evaluation frameworks for SIMs. Moreover, it aims to propose comprehensive evaluation criteria that address most aspects of the existing SIMs. A review of 23 evaluation frameworks for SIMs built the foundation for deriving a comprehensive set of 16 criteria, namely SOA lifecycle coverage, approach, input artifact, technique, types of services, service description, service quality attributes, service granularity, comprehensive, systematic, availability, tool support, adoption of existing practices, validation, configurability, and domain. The proposed criteria set can be used as a first step towards a comprehensive evaluation framework for SIMs.
... Service-orientation purports to solve this problem by viewing applications as orchestrations of independent software services that (1) implement functions that are reusable across many applications or application domains, (2) can be distributed and invoked remotely, and (3) are exposed such that their interfaces (a) abstract the specificities of their implementation technology and (b) allow any client, regardless of its implementation technology, to invoke them. ...
... Service identification methods were studied in a number of surveys (e.g., [12,2,13]). We briefly present some of these surveys in the following subsection. ...
... Cai et al. [2] surveyed a number of SIMs with the goal of highlighting their shared high-value activities and practices. In particular, they study the relation between service identification and the SOA engineering process (i.e., forward engineering vs re-engineering). ...
Technical Report
Full-text available
Service-orientation views applications as orchestrations of independent software services that (1) implement functions that are reusable across many applications, (2) can be invoked remotely, and (3) are packaged to decouple potential callers from their implementation technology. As such, it enables organizations to develop quality applications faster than without services. Legacy applications are not service-oriented. Yet, they implement many reusable functions that could be exposed as services. Organizations face three main issues when re-engineering legacy application to (re)use services: (1) to mine their existing applications for reusable functions that can become services, (2) to package those functions into services, and (3) to refactor legacy applications to invoke those services to ease future maintenance. In this paper, we explore these three issues and propose research directions to address them. We choose to focus on the service-oriented re-engineering of recent legacy object-oriented applications, and more specifically, on JEE applications, for several reasons. First, we wanted to focus on architectural challenges, and thus we choose to not have to deal with programming language difference between source and target system. We chose JEE applications , in particular, because they embody the range of complexities that one can encounter in recent legacy applications, namely, multi-language systems , multi-tier applications, the reliance on external configuration files, and the reliance on frameworks and container services during runtime. These characteristics pose unique challenges for the three issues mentioned above.
... One of the main discussion issue related to SOA refers to the way of identifying services [2][3] [4][5] [6] [7]. Identifying suitable services having the right level of granularity can have broad influence on the whole system and is critical for achieving agility. ...
... A variety of SOA design frameworks and methodologies have been introduced by researchers ( [3,4,5,6] etc.). Cai et al [7], presents a survey on 153 existing service identification methods, in which the inputs and outputs are compared for different methods. ...
... SOA analysis and design follows three approaches: top-down, bottom-up, and meet-in-the-middle. The top-down approach <message name="strategy"> <part name="strategy" type="xs:string"/> </message> <portType name="defineStrategy"> <operation name="defineStrategy"> <input message="strategy"/> </operation> Cai et al [7] asserts that decomposition is almost used in every identification method. The advantages of decomposition is obtained granularity of logic units and mapping these into candidate services. ...
Article
Full-text available
Background: A promise of SOA is to make business processes be quickly adapted to organizations dynamic through flexible software. For this, it is essential to have a support for services identification in order to meet the business goals. However, many available services found on the web environment are too specific and can hardly be reused in different applications. This happens because there is a lack of systematic approaches to support generic services identification in a systematic way. Objective: To present a strategy for identifying generic services that support business processes. The identification is supported by Goal Diagrams and Business Process Models and is composed by a set of guidelines which assist the domain engineer in extracting the services. The identified services are generic enough to be reused in similar applications of a specific domain. Methodology: To elaborate the proposed strategy some domain-specific business processes were analyzed, aiming at extracting key tasks and turning them into generic web services. This analysis was supported by an extended version of goal diagrams (GTR) and conventional BPM models. Results: As a proof-of-concept we applied the strategy for identifying services in the planning processes domain and we developed a real e-gov web portal based on the identified services. The web portal was used successfully by two different schools for elaborating their planning processes. Conclusion: We claim that the strategy is generic and can be applied to other business processes providing software suitability to the organization dynamics. In addition, it can be potentially reused with services in different instances of the same business process.
... In SOA design many research focus on two types of service: business services and software services [3]: i. Business Service A business service is a comparatively complete business logic provided by service provider. It is abstraction of business process, describing a business function or business goal [4]. A business service is a specific set of actions that are performed by an organization [3]. ...
... It realizes some function and can be provoked by other services or components via published interface. Several low-level software services can be composed into a higher-level software service which realizes a business service [4] Web service is the most frequent technique to implement software services. ...
... In order to implement each method of service identification indicators should be defined for service identification and each service must meet specific criteria [4]. Arsanjani [5] has introduced criteria like: stateless, discoverable, self-describing, composable, loose coupling, governed by policy, Independent location, language, and protocol, coarse-grained and asynchronous as service identification indicators. ...
Article
Full-text available
One of most important steps in Service-oriented Architectures (SOA) implementation in enterprise is service identification which plays a vital role in successful implementation of Service Oriented Architecture. Numerous researches have done about service identification to facilitate service identification and several methods have been proposed to do this. In this paper, existing methods are studied. This study also reviews service identification approaches, indices and types of resources that are used as service identification input with service identification strategies and methods are investigated. A new framework for service identification is introduced. Our main idea is develop and automate existing method based on business process in order to covering features and constraints of enterprises. Proposed framework consist business process modeling, calculating and applying service identification quality indicators and Task clustering based on objective function and Bunch algorithm phases. Most important features of our framework is framework implementable and maximizing automatic activities for identification of candidate services.
... Service identification is the first and the most important step in service-oriented development [1]. Service identification methods commonly use business process models to identify services [2]. ...
... In Figure 1, task "M" in cluster I is being checked for replication; therefore only the relations of this task are shown in the figure. 1. ...
Conference Paper
Full-text available
Service identification is the first and the most important step in service-oriented development and improving the quality of identified services is an important issue. In this paper, a method for replicating functions in identified services is proposed. In this method, after clustering the functions and defining each cluster as a service, the quality of each service is calculated using Turbo-MQ fitness function. Then, functions that could increase the value of fitness function are identified and replicated in the target cluster. Function replication might cause new inter- and intra-cluster relations; also, creating a replica for a function has extra cost in terms of implementation and maintenance. Therefore, after considering these challenges, a useful function replication will increase service quality and service call efficiency in a whole system. This method can be added to all business process-based service identification methods, and improve the accuracy of these methods.
... Service identification is the process of finding and extracting services from business requirements [25]. In recent years, service identification-related research is mainly based on business processes and SOA [26] [27][28] [29]. ...
Article
Full-text available
As one of the products in the US Department of Defense Architecture Framework version 2.0 (DoDAF 2.0), the Operational Activity to Services Traceability Matrix product (SvcV-5) links the operational viewpoint (OV) and service viewpoint (SvcV). SvcV-5 is an essential product for optimizing the design of other service view products; thus, it is necessary to study how to optimize the design of SvcV-5. This paper studies the semi-automatic design method of SvcV-5 based on the service identification method. The main idea of this paper is to extract relevant information from previous architecture design products, such as OV-6b, CV-4 and CV-6, and then to study the method of taking service identification and designing the SvcV-5 product. First, a message-based service initial identification method is used to generate the initial service set. Second, considering the measure of the cohesion and the coupling degree of the service, a service improving algorithm is used to update the initial service set. In this process, a dependency matrix between operational activities is established; this matrix includes data dependencies and capability requirement dependencies. Then, according to the mapping result of the service identification method, service-related information can be determined manually by designers. Finally, SvcV-5 can be generated through an automatic algorithm based on the service identification result and the OV-6b product. This article verifies the proposed method using the motivation example of the earthquake rescue information system (ERIS) architecture product design. Through conducting experimental analysis and comparing our method with other service identification methods, we illustrate the effectiveness of the proposed SvcV-5 optimization design method.
... A prototype environment was also developed to help identify the services and perform an empirical validation of the approach to ensure that unexpected changes in the companies can be treated with care. Another work on the identification of services was developed by Cai et al. [47], who proposed a complete understanding of the service's identification with the service engineering process and the SOA adoption objectives, illustrated the different meanings, positions, and activities of service identification in existing jobs for top-down and bottom-up approaches, presented the common high-value activities in several SIMs, and presented details for these activities. ...
Article
Full-text available
Handling complexity and symmetry in the identification of services for the management of information technology (IT) emerged as a serious challenge in recent times. One of the most important elements that must be defined in the management of information technology services is the construction and management of a service catalog. However, in order to create this catalog, it is necessary to correctly identify the services to be formed. So far, there are several proposals that serve to identify information technology services in public organizations. However, there are several inherent drawbacks to these processes, whereby many organizations are yet to adapt to the services. The main objective of this research is to present a proposal for the identification of information technology services and the construction of an information technology catalog. For this, the following methodology was applied: (a) a review of the literature, identifying the research that addressed the process of the identification of services; (b) a proposal based on automatic learning to identify information technology services in public organizations, adapting the catalog of services and taking as its main input the history of requests and incidents accredited by the department of information technologies in public organizations in the Republic of Ecuador. In conclusion, this work leads to satisfactory results for the identification of technology services used to construct its catalog.
... This SLR is indeed old, does not fully addressed our research questions and does not cover recent SIAs. Cai et al. (2011) proposed another survey where they identified the most frequent activities in the stateof-the-art SIAs between 2004 and 2011. Then, Vale et al. (2012) made a comparison of SIAs and a list of recommendation of the most suitable SI technique according to stakeholders' needs in the Service-Oriented Product Line Engineering context. ...
Article
The success of modernizing legacy software systems to Service-Oriented Architecture (SOA) depends on Service Identification Approaches (SIAs), which identify reusable functionalities that could become services. The literature describes several SIAs. However, the selection of an identification approach that is suitable for a practitioner is difficult because it depends on several factors, including the goal of modernization, the available legacy artifacts, the organization’s development process, the desired output, and the usability of the approach. Accordingly, to select a suitable service identification approach, a practitioner must have a comprehensive view of existing techniques. We report a systematic literature review (SLR) that covers 41 SIAs based on software-systems analyses. Based on this SLR, we create a taxonomy of SIAs and build a multi-layer classification of existing identification approaches. We start from a high-level classification based on the used inputs, the applied processes, the given outputs, and the usability of the SIAs. We then divide each category into a fine-grained taxonomy that helps practitioners in selecting a suitable approach for identifying services in legacy software systems. We build our SLR based on our experience with legacy software modernization, on discussions and experiences working with industrial partners, and analyses of existing SIAs. We validate the correctness and the coverage of our review with industrial experts who modernize(d) legacy software systems to SOA. The results show that our classification conforms to the industrial experts’ experiences. We also show that most of the studied SIAs are still at their infancy. Finally, we identify the main challenges that SIAs need to address, to improve their quality.
... The key goal of an SIM is concerned with service identification challenges to identify services that have right functionality, reusability, granularity, and flexibility for service composition and orchestration [10]. Due to the importance and the complexity of the service identification phase in SOA process, several SIMs can be found in the literature in both academia and industry to facilitate service identification which each one has special features and uses different resources and elements to identify services [10,22,23]. ...
Conference Paper
Service-Oriented Architecture (SOA) is an architectural style for applications that are built by composing loosely coupled, interoperable services. Service identification is one of the earliest and most significant activities for successful implementation of SOA in the enterprise. Service identification aims at deriving high-quality services that satisfy the desired service design principles. However, service identification still remains a challenge for organizations due to the lack of unified, comprehensive, and systematic methods. Although, there do exist many Service Identification Methods (SIMs), the practitioners usually cannot easily select the most appropriate one, due to the heterogeneity of the existing SIMs. This research study focuses on investigating to what extent Welke's SOA Maturity Model (SOAMM) would help and influence the selection of appropriate SIM and improve its applicability. In the meanwhile, the work explores how Method Engineering (ME) approaches and techniques impact the development of SIMs and improve the applicability of these methods. The study aims at designing a systematic and truly service-oriented situational SIM in SOA for identifying high-quality services in real-life system. In this paper, we present the research agenda for adopting Welke's SOAMM as guidance to select SIMs.
... The development of a SOA-based software has some important differences when compared to traditional software engineering practice [40]. A collaborative development should consider that, especially having in mind that different SSPs will be involved in the SOA solution along its lifecycle, including the fact that every SSP will try to reuse their services. ...
... Service Identification is the process of finding and extracting services from business requirements [1]. In recent decade several methods are presented to identify services. ...
Article
Full-text available
Service Identification is one of the most important phases in service-oriented development methodologies. Although several service identification methods tried to identify services automatically or semi-automatically, various aspects of business domain are not taken into account simultaneously. To overcome this issue, three strategies from three different aspects of business domain are combined for semi-automated identification of services in this article. At first, the tasks interconnections within the business processes are considered. Then, based on the common supporting requirements, another tasks dependency has been determined and finally, regarding the significant impact of data in business domain, the last tasks relations are specified. To combine these three strategies, task-task matrices are used as a common language and eventually services are identified by clustering the final task-task matrix.
... The thesis has been organized to create a flow according to the research methodology as (Eck & Wieringa 2003;Tsai et al. 2007) due to the difference in the basics for software development methodology by designing a software with reusable services. For an analyst the biggest challenge is to find the correct service that satisfies customer and system requirements, quality and budget constraints (Cai, Liu & Wang 2011;Gu & Lago 2010;Huergo et al. 2014;Vale et al. 2012). ...
Thesis
Full-text available
It is widely acknowledged that software reuse reduces the cost and effort of software development. Over the years many solutions have emerged that propose methodologies to support software reusability. Service oriented software engineering (SOSE) advocates software reuse while aiming to achieve better alignment of software solutions to business requirements. Service orientation has evolved from Object Oriented Analysis and Design (OOAD) and Component Based Software Development (CBSD), the major difference being that reusable artefacts are in the form of services rather than objects or packaged components. Although SOSE is considered a new architectural style of software development that addresses some of the shortcomings of previous approaches, it has also inherited some of the challenges of CBSD, and OOAD, in particular in the requirements engineering process. In Service Oriented Requirements Engineering (SORE) an analyst has an additional challenging task of aligning requirements and services to select the optimally matched service from an increasingly large set of available online services. Much of the existing empirical research in SORE has focused mainly on the technical aspects while the human related issues are yet to be fully explored and addressed. The lack of empirical evidence to investigate the human related issues in SORE provides the overall motivation for the research covered in this thesis. User involvement in software development has been the focus of significant research and has been intuitively and axiomatically accepted to play a positive role in users’ satisfaction thus leading to system success. More recently, past users’ feedback, reviews and comments from online sources are considered a form of user involvement. These offer valuable information to assist analysts in increasing their knowledge for making more informed decision for service selection. In service oriented paradigm the full extent of the benefits of this form of user involvement has not been empirically investigated. This thesis addresses three important high level research goals: (1) to investigate and identify the most important challenges of SORE, (2) to design an innovative and flexible method to address the top challenge of SORE, focusing specifically on the important relationship between user involvement and system success, and (3) to evaluate the applicability and effectiveness of the proposed method in an empirical study. This thesis presents research conducted in three parts for achieving each of the stated goals respectively: problem analysis, solution analysis and implementation analysis. For problem analysis a mixed method approach is used, i.e. literature review, quantitative online survey, and qualitative industrial interview study. For solution analysis a Systematic Literature Review (SLR) is conducted to analyse the existing empirical studies about the relationship between user involvement and system success. Inspired by the results of this SLR, I designed the ARISE (Alignment of RequIrement and SErvices) method, following Situational Method Engineering to make it flexible for adoption in various project contexts. The ARISE method aims to exploit the benefits of experiences of past users for service selection. For implementation analysis, the ARISE method was instantiated in a case study with real life data with two objectives in mind: (1) validation of the effectiveness of ARISE in overcoming the challenges of alignment, and (2) improvement and refinement of the ARISE method. Analysis of the results of this validation revealed the need for automated tool support for the ARISE method. This automation is achieved through the design and implementation of software tools created for supporting the analysts in service selection. The systematic and mixed method research approach of the problem analysis phase identified that alignment of requirements and services was the top challenge for practitioners in SORE. It also increased our understanding of why this alignment is considered the most challenging task. The findings of the SLR confirmed that the effective user involvement in software development in general, and in requirements engineering in particular could lead to system success. In SORE, the past users of services can be involved through their feedback and sentiments about the services from online sources. These concepts were the basis for the design of the ARISE method. The results of the case study complemented by the experimentation with the automated tools revealed that past users’ feedback and sentiments are indeed valuable sources of information that can assist analysts in overcoming the challenges of alignment between requirements and services thus making a more informed decision in service selection.
Article
Purpose – A mature adoption of a service-oriented architecture (SOA) goes steadily through different levels of maturity, whereby each level has its own types of services (e.g. software services or business services). However, the identification of such services is not an easy task even though there exist many service identification methods (SIMs). This paper aims to propose a new approach to select SIMs. The proposed selection approach for SIMs uses the desired SOA maturity level as the main guidance to assist the organizations in selecting a suitable SIM for each level of SOA maturity. Design/methodology/approach – The methodology consists of three activities: surveying and selecting a suitable evaluation framework for SIMs, surveying and selecting a suitable SOA maturity model (SOAMM) and using the selected evaluation framework to decide a suitable SIM for the desired SOA maturity level with respect to the selected SOAMM. Findings – Welke’s SOAMM and two existing evaluation frameworks for SIMs were found suitable to validate the proposed selection approach for SIMs. The two selected frameworks utilized the proposed selection approach to different degrees. To fully utilize the proposed selection approach, a comprehensive evaluation framework is required that addresses the most significant aspects of the existing SIMs. Originality/value – In this research, the authors propose a new way of using Welke’s SOAMM to guide the organizations in selecting a suitable SIM from the existing evaluation frameworks for SIMs based on the desired SOA maturity level. In addition, the proposed selection approach improves the applicability of the existing evaluation frameworks, as it provides the organizations with a new way to select the methods.
Chapter
Service Identification (SI) is an important phase in Service-Oriented Architecture (SOA) lifecycle. Many SI challenges have been claimed in the research community that call for research efforts. This research aims at exploring and identifying the claimed challenges of SI in SOA by conducting a literature review to gain insight into the existing SI challenges as published to date. Furthermore, this research aims at collecting the existing claimed causes for each identified challenge. The literature review explored SI challenges that have been claimed between 2005–2016. This paper presents the results of the literature review in identifying 8 claimed SI challenges, namely from the top: service quality attributes, business-IT alignment, systematic SIM (Service Identification Method), comprehensive SIM, tool support, validation, input artifact, and configurability of SIM. The results of this review also revealed that service quality attributes challenge (specifically service granularity) needs more attention in the research community since it is considered the top challenge.
Article
Full-text available
Digitalisation is affecting business models of many enterprises and changing the way information work is done. Service-oriented architecture (SOA) is one way of implementing this change, but despite its capability to model services on a business level, the enterprises are not able to link the value of the services with the related investments. This paper proposes the use of ontology as a tool to make service-oriented architecture an integrated part of the business model. This linkage enables the SOA investments to be evaluated as a part of the value delivery process of the enterprises.
Article
Service identification is one of the biggest challenges in implementing a service-oriented architecture. Current service identification methods (SIMs) rely on business process descriptions to elicit business perspective. However, service identification requires a level of business process documentation only found on organizations mature on business process modeling. In this context, master data (core enterprise information concepts, needed across different business processes, organizational units and applications across the organization) can be used as alternative input to business process. This work proposes a SIM that uses master data and logical data models as inputs. The proposed method also uses artifact-centric modeling technique to detail master data lifecycle and business rules within it.
Article
One of the major challenges for the adoption of the service-oriented architecture (SOA) is the service identification phase that aims to determine which services are appropriate to be implemented. In the last decade, several service identification methods (SIMs) were proposed. However, the service identification phase still remains a challenge to organizations due to the lack of systematic methods and comprehensive approaches that support the examination of the businesses from multiple perspectives and consider service quality attributes. This work aims to provide an overview of existing SIMs by detailing which service’s perspectives, stated as relevant by the industry, are addressed by the SIMs and also by synthesizing the identification techniques used by them. We have performed a systematic survey over publications about SIMs from 2002 to June 2013, and 105 studies were selected. A detailed investigation on the analyzed SIMs revealed that the identification techniques applied by them have a correlation on how they address many of the service’s perspectives. In addition, they are supporting the SOA adoption by handling many perspectives of the OASIS’ reference architecture for SOA. However, most of them do not explicitly address service quality attributes and few studies support the evaluation of both. Therefore, future research should follow the direction toward hybrid methods with mechanisms to elicit business and service’s quality attributes.
Article
Full-text available
The raison d'être for web-services is that they could be used to compose new services. As in process centric systems, wherein blocks of software implement a functional domain through a set of linked activities, a SOA based system modeled through web-services, requires business services (of low granularity) which implement various business functions. Such business services could not only ensure a high degree of re-use but could also help in realizing service oriented architecture in its true sense. Although today quite a few approaches for the problem exist, but most of them are bottom up solutions, or mainly focus on domain decomposition and composite service formation. Not many of them have yet utilized the full potential of business processes, which form the backbone of any enterprise. In this work we define what a business service would be like, vis-a-vis its corresponding business function, and how it could be realized through data, utility, information and other services. We present our service identification approach which utilizes process maps and service hierarchies and towards the end we discuss some of our current work in building an automation tool (named SQUID) for service identification.
Chapter
Full-text available
Service Oriented Architecture is a promising architectural approach to solve the integration problem originated by business process integration and automation requirements. Defining the appropriate granularity and scope of services is a critical issue to allow their reuse. Architecture abstractions, such as patterns, are a medium to capture design knowledge and to allow the reuse of successful previous designs. The continual rise of abstraction in software engineering approaches have been a central driver of this work, placing the notion of patterns at business model level. In this paper we propose a set of pattern-based techniques to define the scope and granularity of services based on identified patterns in business process models. Graph-based pattern matching and pattern discovery are proposed to recommend the scope and granularity of services on process-centric description models. Matching of generalised patterns and hierarchical matching are discussed.
Conference Paper
Full-text available
This report describes the service-oriented migration and reuse technique (SMART). SMART is a technique that helps organizations analyze legacy systems to determine whether their functionality, or subsets of it, can be reasonably exposed as services in a service-oriented architecture (SOA), and thus to achieve greater interoperability. Converting legacy components to services allows systems to remain largely unchanged while exposing functionality to a large number of clients through well-defined service interfaces. A number of organizations are adopting this approach by defining SOAs that include a set of infrastructure common services on which organizations can build additional domain services or applications. SMART considers the specific interactions that will be required by the target SOA and any changes that must be made to the legacy components. An early version of SMART was applied with good success to assist a DoD organization in evaluating the potential for converting components of an existing system into services that would run in a new and tightly constrained SOA environment
Conference Paper
Full-text available
This paper introduces an easy to learn method to describe enterprise architectures with a limited focus on the relation between enterprise functions and IT-systems. We have designed the Enterprise Architecture Modelling method (EAM), driven by our teaching requirements and based on our ERP modelling experience. EAM consists of these diagram types: the Supply Chain Diagram, showing the business environment; the Enterprise Function Diagrams for the interoperation of enterprise functions; the Scenario Overlay for modelling the main business processes; the System Infrastructure Diagram, depicting the technical infrastructure of IT systems and networks; and the Application Overlay Diagram, showing which applications give support to which enterprise functions. We satisfactorily conducted about 40 case studies based on EAM. To solicit feedback we performed an enquiry among users of EAM. A future step will be testing the use of EAM in managerial decision taking in practice.
Conference Paper
Full-text available
Enterprise Architecture (EA) and methods for the design and em- ployment of EA significantly contribute to the transparency, consistency and eventually to the flexibility of an organization. However, there is hardly any "one-size-fits-all" EA method that is equally effective for a broad range of transformation projects or in a large number of different contexts. Based on an empirical analysis, this paper identifies three relevant EA contingency factors as well as three dominating EA application scenarios as a basis for a situational EA method engineering taking these into account.
Conference Paper
Full-text available
Service-oriented grids are grid computing systems built with the notion of service-oriented architecture (SOA). Using two ma- jor abstract concepts, services and connections between services, each grid application is designed as a collection of loosely- coupled services in an implementation independent manner. In service-oriented grids, the non-functional aspects of services and connections (e.g., message transmission and security) should be described separately from their functional aspects because differ- ent applications use services and connections in different non- functional requirements. This paper presents a UML profile to graphically specify and maintain non-functional aspects in service-oriented grids as implementation independent UML mod- els. The UML models are transformed into implementation spe- cific code by a model-driven development tool. This paper demon- strates how the proposed UML profile is used in model-driven de- velopment of service-oriented grid applications.
Article
Full-text available
Service-oriented architectures (SOA) are an essential platform to provide infrastructures that support widespread collaboration between organizations. These service-oriented systems are a new context for software developers, who must now be equipped with new development methods and technologies. This new context has specific requirements, such as better collaboration and communication between business users and software engineering across organizations and increased agility of the development and maintenance processes to better respond to newly emerged or changed requirements. In this paper, the authors present a research agenda that looks at the use of a novel software engineering discipline—model-driven engineering. By switching the focus from low-level technical details to high-level problem-specific details, model-driven engineering addresses challenges in the development of service-oriented systems. This paper particularly discusses the approach to the development of service-oriented systems based on business process modeling, which integrate business vocabularies and rules in different stages of the development lifecycle. Here, model-driven engineering can provide many promising solutions.
Conference Paper
Full-text available
The service orientation approach emerged form the software engineering community and has now become a widely discussed design paradigm for almost every aspect of an enterprise architecture (EA). However, experience from cases studies has shown that it is necessary to explicitly differentiate service categories in EA, its goals and its resulting design guidelines. This paper derives a sophisticated understanding of different services categories, their respective goals and design guidelines based on empirical research.
Article
Full-text available
This paper addresses role-based decomposition of a business process model (based on a subset of WS-BPEL, using explicit data links. A mechanism is presented for partitioning a business process so that each partition can be enacted by a different participant. An important goal is to disconnect the partitioning itself from the design of the business process, simplifying the reassignment of activities to different entities. The result is several (compliant) BPEL processes, one for each participant, as well as the information needed to wire them together at deployment time and ensuring correct instance-level connections at runtime. We present details of partitioning and successfully running a sample process with three participants
Article
Full-text available
Although the benefits of service orientation are prevalent in literature, a review, analysis, and evaluation of the 30 existing service analysis approaches presented in this paper have shown that a comprehensive approach to the identification and analysis of both business and supporting software services is missing. Based on this evaluation of existing approaches and additional sources, we close this gap by proposing an integrated, consolidated approach to business and software service analysis that combines and extends the strengths of the examined methodologies.
Conference Paper
Full-text available
Web services together with service-oriented architectures (SOA) are playing an important role in the future of distributed computing, significantly impacting software development and evolution. With the adoption to Web services technology, more and more existing non-service-oriented software systems turn to be legacy systems. They require a service-oriented reengineering process in order to survive in service-oriented computing environment. If the reengineering goal is to expose the services of a single object or any underlying function-oriented middleware, many problems will arise including semantic mismatches, service granularity issues and state management. Attempting to masquerade software assets from a lower level of abstraction can often cause significant mismatch and exposure problems. In this paper, by using feature analysis, an approach to supporting service-oriented reengineering is presented. Service identification and packaging process are performed and resulted into a service delegation.
Conference Paper
Service-Oriented Architecture (SOA) enables the re-engineering and migration of legacy software systems into loosely-coupled and interoperable sets of services. Existing approaches focus mainly on defining coarse-grained services corresponding to the key business requirements. An improved migration of legacy systems onto SOA-based systems requires identifying the ‘optimal’ services with an appropriate level of granularity. This paper proposes a novel framework which identifies the key services effectively. The framework approach focuses on defining these services based on a Model-Driven Architecture approach supported by a SOA meta-model. Effective guidelines are proposed for identifying the optimal service granularity over a wide range of possible service types.
Conference Paper
This paper presents an overarching metamodel for service-oriented architecture roadmapping (SOAR). An SOA roadmap is of paramount importance to strategize and operationalize an effective SOA program in a heterogeneous enterprise computing environment. There are 20 steps defined in the framework, broken down into 4 streams: planning and analysis, design and construction, deployment and operations, and management and governance. The key inputs and prerequisites are specified for each step in the major streams. The detailed artifacts in each step are articulated in the context. This roadmap can serve as a holistic blueprint to adopt and implement SOA in a large organization.
Article
We propose a design methodology, Service-Oriented Design with Aspects (SODA), for service-oriented systems to address the need to continually upgrade and evolve services while maintaining various versions. Our approach treats aspects as first-class design elements and consistently applies the concept of aspect to all phases of design and evaluation. At the early design stages, crosscutting concerns are first separated out as aspects, and then, services are composed by weaving the different design elements together. The behavior of aspects and services is represented as basic Petri Nets and we present rules for weaving together Petri Nets so as to obtain behavior of the integrated system (with aspects crosscutting services). Even at the evaluation stages, performance and resource data are separated out as aspects to be woven in to the design so as to enable advanced analysis using Petri Net tools. A small order service example is used to illustrate our approach.
Article
One of the problems occurring during services consuming is a matching problem: it is due to the little coupling between services providers and services consumers. To solve this problem, we propose an approach that emphasizes goal identification and decomposition. Those aspects suggest variability and are related to contextual knowledge. The approach includes mechanisms for engineering of service composition and engineering of service personalization.
Article
Service-based software development is becoming a prominent paradigm. However, less attention has been paid to the development method of Web service. In this paper, a pattern oriented service development approach (POSE) is presented. Patterns are used as the means to express the results of different development phases, so that the services can be organized and retrieved easily. The business model is constructed explicitly, thus the gap between business goal and services is bridged by the component relationships and the compositions of them. The service maintainer profits from the trace ability because the impact of requirement or design modifications can be better assessed. The patterns support to integrate services of varying levels of granularity.
Conference Paper
Keyword-based search techniques are currently used to identify assets packaged for reuse. Unfortunately, these techniques are not suitable for searching large asset repositories, as they are known of having low precision and recall. One way to improve the search accuracy, is to identify reusable assets using their architecture models, since models based on similar architecture decisions, will most probably lead to developing similar solutions. However, informality and heterogeneity in designing architecture models remains a major obstacle for this identification approach. To overcome this problem, this paper proposes use of e-business patterns for reusable asset identification instead of architectural models. As e-business patterns are common to every designer, they could be used as an architecture design reference for comparing assets architecture layouts. Therefore, we propose a model to capture such architecture layouts in a machine understandable format using a graph of the adopted business, integration, and application e-business patterns, thereby assets could be rapidly identified based on the matching status of their architecture layout graphs. We believe the proposed approach provides better precision and recall when compared to unstructured keyword-based approaches.
Conference Paper
Value plays a central role in services and is considered as the ultimate objective that both providers and customers pursue through providing and consuming a service. In this paper, based on a brief discussion of the service value concept, we present a service value life cycle model (SVLC), where the value delivery process is decomposed into 7 phases (bi-lateral searching, bi-lateral negotiation, unilateral preparation, co-production, transferring, usage, and payment). Each phasepsilas repeatable tasks, output, quality metrics of the process and output, and possible innovative design decisions, were elaborately analyzed. A C2C service system, Taobao.com, is briefly discussed to help understand SVLC in the real world. Comparisons between SVLC and traditional service research shows that SVLC provides some significance to systematical service innovations and service quality metrics design from life cycle (temporal) point of view. Potential effects on service computing research and some future work are also discussed.
Conference Paper
Most of the SOA (Service Oriented Architecture) applications are not brand new and usually evolved from legacy systems. Legacy systems carry out the enterprisepsilas most crucial business information together with business processes and many organizations have leveraged the value of their legacy systems by exposing parts of it as services. Most of current Web services are SOAP-RPC style services. The evolution of the Web 2.0 phenomenon has led to the increased adoption of the RESTful services paradigm and reengineering legacy system to SOA with RESTful Web services is not only for reusing but will bring other benefits due to its special features. In this paper, the key issues for reengineering legacy systems with RESTful Web services are discussed. A common process for reengineering legacy systems to REST-style is proposed. The candidate Web services are identified by legacy systems comprehension at first. Then blend services are generated based on relationships between entities and constraint rules specified. The generated URIs are refined and split carefully to represent the RESTful Web services.
Conference Paper
A constant goal of enterprises of all sizes is to align their business with IT. The major concern is to design the technology to support the desired performance goals and business values. In e-business collaborations, services are becoming the cornerstones for modeling the offerings of the involved parties. However, business concepts, like value offerings, typically cannot be linked to technology levels, such as SOA and Web services. Business value models, formulated in terms of economic values, have been recognized as the basis for eliciting the actors in a business scenario and their relationships. Recently, several business ontological frameworks have been proposed to facilitate the design of business value models. Aiming towards an MDA-aligned approach, in our study we consider business value models for creating a service-centric Computational Independent Model (CIM). By utilizing well-defined mappings, the model is further transformed into a UML-based system model at the Platform Independent Model (PIM) level, capturing both the static and behavioral specifications of elicited e-services.
Article
Model-driven approaches deal with the provision of models, transformations between them and code generators to address software development. This approach has the advantage of defining a conceptual structure, where the models used by business managers and analysts can be mapped into more detailed models used by software developers. This alignment between high-level business specifications and the lower-level information technologies (ITs) models is crucial to the field of service-oriented development, where meaningful business services and process specifications are those relevant to real business scenarios.
Conference Paper
Service-oriented architecture (SOA) is for flexibility and reuse, and enables organizations to easily integrate systems, data, applications and processes through the linking of services. SOA also addresses the critical security and privacy issues. This paper focuses on the investigation and studies on SOA based software engineering methods in the service engineering environment. Among the various SOA related software design and development methods available, service-oriented modeling and architecture (SOMA) service architectural environment is chosen as the target platform in the study. A web based service oriented ubiquitous Healthcare (u-Healthcare) software system was designed and implemented using the set of the software engineering methods developed in the study to gain empirical knowledge and experience on applying the approach to construct SOA service software.
Conference Paper
Service-oriented computing (SOC) has several unique features which are not typically presented in conventional object-oriented development (OOD) and component-based development (CBD), including the commonalty of service functionality, publish and discovery paradigm of services and dynamic composition of possibly 3rd party’s independent unit services. Hence, OOD and CBD-based analysis and design methods are not effective and expressive enough to model service-oriented applications. Rather, Service-Oriented Analysis and Design (SOAD) has to be defined by using some of the two modeling paradigms and by adding SOC-unique modeling mechanisms. In this paper, we first present a technical comparison among OOD, CBD and SOAD to derive the design criteria for SOAD. And, we define the key artifacts that have to be delivered during SOAD. Based on this, we present a SOAD process which takes service requirements as the initial input and delivers service specifications, compositions, and verified service components as the final deliverables. Each of the five phases in the process is defined with its overview, artifacts, and work instructions. Finally, we present a case study of applying our process to a service domain to reveal its effectiveness and applicability. Once the proposed SOAD is well applied, SOAD artifacts can be more systematically and efficiently implemented with current SOA standards.
Conference Paper
In this paper, we study legacy asset reuse for SOA design. Typically, the cost of reusing legacy assets is much lower than the cost of creating new services from scratch. As an extension of our SOA service modeling, we use top-down approaches to identify business services, and use asset modeling for legacy asset identification to find potential reusable assets for those services. Using service capacity analysis, we evaluate the maturity of a legacy asset for transformation to a service. Finally, we provide a model transformation to convert a service model with legacy assets into an SOA reference architecture model. Our effort integrates asset reuse as a part of the overall SOA design cycle and increases the possibility of asset reuse. To help architects use our method in engineering practice, we have implemented our method in the SOMA-ME tooling environment.
Conference Paper
Service-oriented Architecture (SOA) is an approach for building distributed systems that deliver application functionality as a set of business-aligned services with well-defined and discoverable contracts. This paper presents typical a service design process along with a set of service design principles and guidelines for systematically identifying services, designing them and deciding the service granularity and layering. The advocated principles stem from our experiences in designing services for a realistic Securities Trading application. Best practices and lessons learned during this exercise are also discussed.
Conference Paper
Migration of legacy systems to service-oriented environments has been achieved within a number of domains, including banking, insurance, manufacturing, and development tools, showing that the promise is beginning to be fulfilled. While migration to Service-Oriented Architecture (SOA) environments can have significant value, any specific migration requires a concrete analysis of the feasibility, risk and cost involved. The Service Migration and Reuse Technique (SMART) is a family of processes to help organizations in making initial decisions about the feasibility of exposing legacy systems as services within a SOA environment. This paper summarizes the SMART-MP (SMART --- Migration Planning) process which provides a plan for the migration of selected components to services and identifies the scope for a pilot effort. It presents an application of SMART-MP and also outlines emerging new SMART family members that have resulted from experiences in applying SMART-MP.
Conference Paper
Service-oriented architecture technically facilitates business process management as it enables software to evolve along with changing business processes by simply recomposing software services. From a theoretical point of view it is, thus, natural to take business processes as a starting point for software service design. However, deriving software services strictly top-down from business processes is awkward from a practical point of view: The resulting services are too fine-grained in scope and too vast in number, and particular process control flows become cemented in service orchestrations. In this paper, another approach of software service design is described that, though starting from process models, avoids these drawbacks. The approach is illustrated by a practical example. The presented service design approach has been successfully applied in industry for more than 14 years and enables agile service implementation.
Conference Paper
Service-oriented architecture (SOA) is an architectural approach to development that turns traditional techniques upside down. SOA encourages organizations to think in terms of actual business services and the associated data, rather than low level technology details. Instead of developing applications from the ground up, SOA frees organizations to start with high level business definitions for data, interfaces, documents, and processes. SOA then maps these high level service definitions onto new or existing infrastructure, regardless of the details, location, or programming language in which the systems were written. In this paper we share our practical experience regarding application of SOA to a very large and complex enterprise transformation. By transformation we mean modernization of legacy applications, operating systems, server components, development of new applications, and business process automation with incremental deployment option using either a traditional distributed heterogeneous environment or a set of Virtual machines deployed on a set of utility computing platforms (on-demand computing). Transforming a large and complex enterprise requires digital visibility into the holistic view of the enterprise. This holistic view is captured as a set of interrelated models. Models are digital representations of the enterprise business architecture, the associated technology architecture, and their semantic dependencies. Models are stored in a living and manageable repository with impact analysis capability to accommodate for SOA modernization to be driven by the business needs. We describe our 3D Visible Enterprise (3D-VE) modeling methodology as the analysis phase of our SOA approach. We then describe how such analysis guided us through modernization styles, where each style prescribes the transformation of a legacy entity into its modernized form while following our SOA governance. In this approach the modernization requirements are mapped into the appropriate transformation styles and finally to technical implementation. The mapping follows our SOA governance, a set of guidelines regarding transformation style selection, and the SOA design & run time governance. Relevant SOA standards and products supporting modernization implementation are used to carry the implementation. In particular, some aspect of modernization approach and Unisys SOA governance are described as well. In this paper we tried to describe three important areas of our overall SOA solution methodology, namely the 3D VE modeling, the Architecture Driven Modernization and applied SOA governance to the ADM style. Our plan is to publish subsequent papers each describing the details of our SOA solution methodology, specifically the modeling phase, the tools and methods used to implement the applied ADM styles, criteria selecting ADM style, the SOA governance and the associated SOA standards and products. The paper concludes with lessons learned through such a complex transformation, especially the importance of the front-end business process analysis leading us to identify the components or a subset of the enterprise computing environment for systematic and incremental SOA transformation. Finally we discuss some of the pros and cons of the transformation applying SOA.
Conference Paper
Service-Oriented Architecture (SOA) is a new approach for organizing and isolating application functionality, built on a flexible and reusable foundation of services. It has the capacity to expand the reach of the enterprise by enabling services to define and transform relationships and, in so doing, expand the scope of what Information Technology can make possible. Above all, service orientation focuses on the business imperative and offers opportunities to approach business issues in a different way. In short, SOA means the end of business as usual. This paper briefly outlines some of the key challenges businesses need to overcome in order to become Service-Oriented Enterprises. For more in depth discussion on the topic, read the book Mashup Corporations: The End of Business as Usual.
Conference Paper
A service-oriented software reengineering is essential for legacy systems to survive in the service-oriented computing environment. In this paper, a method for the identification of reusable legacy code is proposed to support Service-Oriented Software Reengineering (SOSR).Ontologies for SOSR, which consist of Domain Concept Ontology (DCO), Functionality Ontology (FO) and Software Component Ontology (SCO), are defined and developed. These ontologies store knowledge of both application domain and code entities, which support further legacy code analysis. Based on SCO, the identification of service candidates in legacy systems is achieved by mapping FO and SCO via a novel method combining Formal Concept Analysis (FCA) and Relational Concept Analysis (RCA). The case study shows that the method can help software developers and maintainers to reengineer the tightly coupled legacy information systems to the loosely coupled and agile information systems.
Conference Paper
This paper proposes and illustrates an approach to identify and specify requirements on information-based business services and their associated derived software services. The approach proposes first to identify business services by modeling business requirements using the goal oriented modeling notation i*. Then, in a second phase, the identified services are refined according to these requirements using UML activity and class diagrams. This specification is based on a method and a supporting toolset, called "Efficient". The approach is illustrated through the handling of a case study in the tourism sector.
Conference Paper
Many service identification methods (SIMs) have been proposed to support the determination of services that are appropriate for use in an SOA. However, these SIMs vary in terms of analysis objectives, identification procedures and service hierarchies. Due to the heterogeneity of the SIMs, practitioners often face the difficulty of choosing a SIM that copes with available resources and fits their needs. To gain a holistic view of existing SIMs and to support the selection of the right SIM, in this paper we present the results of a systematic literature review. A total number of 237 studies were examined, of which 30 studies were selected as primary studies. From these studies, we identified different types of inputs, outputs and processes used by the existing SIMs. Based on these results, we created a matrix which can be used in three different ways for practitioners to select among alternative SIMs.
Conference Paper
Recently, organizations face various business challenges because of rapidly changing user needs and expectations. SOA (Service-Oriented Architecture) is a promising technique for adequately handling them in organizations. In developing SOA based systems, service identification is one of the core activities, having a broad influence on the systems. To identify proper services, business goals and business change factors should be analyzed because the ultimate aim of SOA is to achieve business goals and business agility in turbulent business environment. To tackle this, we propose a service identification method based on goal-scenario modeling and a conceptual framework to elicit possible business changes. Traceability among business goals, business changes and identified services are also constructed in this approach. We applied our approach into the HRS (Hotel Reservation System) domain to demonstrate its feasibility.
Article
Web services are increasingly used as an effective means to create and streamline processes and collaborations among governments, businesses, and citizens. As the number of available Web services is steadily increasing, there is a growing interest in providing methodologies that address the design of Web services according to specific qualities of service (QoS) rather than functional descriptions only. In this paper, we present WSMoD (Web Services MOdeling Design), a methodology that explicitly addresses this issue. Furthermore, we exploit general knowledge available on services, expressed by ontologies describing services, their qualities, and the context of use, to help the designer in expressing service requirements. Ontologies are used to acquire knowledge among the entities involved in service design and to check the consistency of the Web service. The discussion of a QoS-based Web service design within a real case study bears evidence of the potentials of WSMoD.
Article
This paper describes a service-oriented solution framework designed for Internet banking in financial services. A pragmatic approach is developed to help migrate conventional n-tier e-commerce systems to a service-oriented computing paradigm, composed of Service-Oriented Architecture (SOA), Integration (SOI), Process (SOP), and Management (SOM). This comprehensive framework comprises Service Patterns, Architecture Process, Hybrid Methodology, Service-Oriented Enterprise Model, and Solution Platform. E-business patterns are applied to categorize diverse online services, which form the baseline for subsequent selection justifications of appropriate technologies, products/tools, and infrastructure. A multilevel architecture process is developed to cope with the architecture complexity in a disciplined way. Furthermore, a hybrid methodology is designed to leverage the benefits of both top-down and bottom-up approaches, in which a converging layer is conceived to incorporate the latest technologies such as portal, process orchestration, Web services, service aggregations, business rule engine, and so forth. In the enterprise model, common business functionalities are built as shared services to be reused across lines of business as well as delivery channels, and the Internet channel-specific SOA is defined by applying the hybrid methodology. Finally, a holistic solution plafform is introduced to address the key design artifacts in the implementation of service-oriented solutions. Challenges of conflicting specifications and immature cutting-edge technologies are also discussed in the context.
Article
This paper presents an integrated service-oriented enterprise system development framework (called the BITAM-SOA Framework) as well as an instantiated design process model (called the Service Engineering Schematic) that was a result from a three-year action research case study with a Fortune 50 company in the financial services industry. The BITAM-SOA Framework and Schematic advance are both business-IT alignment and software architecture analysis techniques supporting the engineering of enterprise-wide service-oriented systems-that is, service engineering.
Article
Service orientation (SO) is a relevant promising candidate for accommodating rapidly changing user needs and expectations. One of the goals of adopting SO is the improvement of reusability, however, the development of service-based system in practice has uncovered several challenging issues, such as how to identify reusable services, how to determine configurations of services that are relevant to users’ current product configuration and context, and how to maintain service validity after configuration changes. In this paper, we propose a method that addresses these issues by adapting a feature-oriented product line engineering approach. The method is notable in that it guides developers to identify reusable services at the right level of granularity and to map users’ context to relevant service configuration, and it also provides a means to check the validity of services at runtime in terms of invariants and pre/post-conditions of services. Moreover, we propose a heterogeneous style based architecture model for developing such systems.
Conference Paper
In an enterprise, it is quite common to find related business functions not only in the same domain but also across other domains. However, often these business functions are implemented in isolation primarily because they were developed independent of one another and in the absence of process centric approach towards implementation. In the recent years, developments in business process modeling [3][4] and support for executable syntax for business process models coupled with architectural paradigms like Service oriented architecture (SOA) [1] have made it easier to design and implement reusable process for generic business functions. Many approaches[7][8] have been proposed for identifying and designing common business processes but are limited to designing the Business process model and do not examine the challenges in propagating the same principles on to the implementation. Here, we propose an approach which covers the design & implementation to ensure reuse & flexibility while maintaining the other benefits of cost of ownership.
Article
This paper proposes using Service Responsibility Tables (SRTs) as a tool in analyzing e-service systems. First it discusses difficulties and deficiencies of using formal modeling languages such as UML in analyzing e-service systems. It proposes using SRTs as an informal language and lightweight analytical tool to be used by business professionals in analyzing e-service systems. SRTs are based on a service value chain framework but do not rely on abstract concepts and constructs, and therefore can be used by business professionals to supplement UML. We suggest a set of heuristics for transforming SRTs into two key UML diagrams, thereby illustrating how SRTs can be used as a bridge from relatively informal modeling by business professionals to formal modeling techniques for systems design and implementation by IT professionals.
Article
Software product line engineering (SPLE) is a paradigm of software reuse for developing a family of products with reduced time to market and improved quality. Most SPLE approaches, however, have focused on developing statically configured products using core assets. That is, all variations are instantiated before a product is delivered to the customers, making it difficult for them to make any changes to the product. However, various application areas are increasing the demand for dynamic product reconfiguration. A service-oriented product line (SOPL) is a DSPL application domain that's built on services and a service-oriented architecture. An example of an application area for an SOPL approach is a virtual office (VO). A VO includes many business peripherals with various services that interact with one another and that respond to their various environments to assist office workers.
Conference Paper
In this paper we introduce a framework for capturing and managing the requirements associated with the non-functional part of the services like service management, security management, assurance, for which norms, recommendations and good practices exist. The proposed framework considers these service requirements both from a business and a software perspective. The elicitation, the capture and the traceability issues related to these requirements are solved with goal-oriented requirements engineering techniques, while the structuring and the assessment of the requirements is based on the ISO/IEC-15504 standard. The overall framework is illustrated with a business case run by our research centre in a public/private partnership. It is associated with the design of project management services delivered through a portal and is focusing on the services management requirements in relation with the IT service management ISO/IEC 20000 norm.
Article
Service-Oriented Architecture (SOA) enables the re-engineering and migration of legacy software systems into loosely-coupled and interoperable sets of services. Existing approaches focus mainly on defining coarse-grained services corresponding to the key business requirements. An improved migration of legacy systems onto SOA-based systems requires identifying the ‘optimal’ services with an appropriate level of granularity. This paper proposes a novel framework which identifies the key services effectively. The framework approach focuses on defining these services based on a Model-Driven Architecture approach supported by a SOA meta-model. Effective guidelines are proposed for identifying the optimal service granularity over a wide range of possible service types.
Conference Paper
The service-oriented paradigm typically separates the development of systems into service engineering and application engineering. In our opinion, these two disciplines cannot be completely separated, as otherwise, there is no assurance that services provided by service engineering can actually be used by application engineering. In this paper, we describe service-oriented requirements engineering (SORE) as an appropriate means for mediating between the two disciplines, and we identify the provision of service capabilities on the right level of abstraction and variability as the most crucial aspects SORE has to assure. For this purpose, we present the adoption of product line technology in service- oriented architecture and its closer alignment with business process management as a promising approach, and list related principles as well as challenges we plan to address in our ongoing research.
Conference Paper
When developing a service-oriented architecture (SOA), analyzing the business process is even more important than in normal software projects. Nevertheless, most of the requirements artifacts used in normal software projects apply to SOA-projects, too. This results in competing requirement models (like use cases and business processes) that duplicate information in parts. Even worse, these models are often contradictory, belong to different types of stakeholders, and need much effort to be synchronized. However, these inconsistencies are an important source for requirements. We propose to deliberately switch between different perspectives onto the requirements to clarify them as soon as possible. In this way we a) enrich feedback and b) improve existing models as a by-product by confronting stakeholders with new perspectives. User interface mockups, data models, and business processes complement, enrich, and facilitate a pure use case perspective. We present a set of computer-supported techniques that leverage this friction between models and share our experiences in applying them.
Conference Paper
The model-to-model (M2M) transformation stage in a model-driven engineering (MDE) tool chain is used to bridge the large semantic gap between problem-domain abstractions and software artifacts. This transformation is typically specified in a closed, monolithic way. Since no two systems have identical requirements, some work has been done to create explicit support for customisation of the transformation process based on functional requirements. The same is not true for non-functional requirements.The contribution of this paper is a customizable M2M transformation process that takes as an input the users priorities, in terms of non-functional properties, to select between design trade-offs in the transformation. These trade-offs are expressed as contrasting architectural styles, which describe common patterns of interactions and constraints with well understood non-functional implications. The target of the M2M transformation is an architecture description language (ADL) that can be used to express styles. Model checking tools can be used to ensure that styles are adhered to during the entire MDE process. This early work focuses on describing contrasting architectural styles that address distribution issues, such as fault tolerance.
Conference Paper
Developments in the realm of business services have opened new challenges in the business consulting world. Consequently, new procedures for services system development are being proposed. In this work, we present a model driven approach for streamlining the service engineering process. An important aspect of our work is a method for model transformation, which is essential for providing and enhancing the management and governance capabilities of the service engineering process. We then introduce a novel infrastructure which leverages Web 2.0 technologies to address the challenge of developing semantic modeling editors. Finally, we use this infrastructure as the target platform to validate our work.
Conference Paper
This research concerns the definition of a service-oriented approach for business processes modeling. Business services are reusable process units that contain one or several process fragments for satisfying business goals. Business services may be composed in various manners to satisfy business process designer's needs. A goal-oriented business service model supports business knowledge representation for specifying and composing business services. Ontologies for business systems domain provide a common vocabulary for matching business process designer's request and available business services. A service composition process organizes the discovery, the selection and the assembly of business services to dynamically build business processes tailored to business designer's requirements.
Conference Paper
Business value evaluation of IT services is critical for an enterprise to develop an IT project portfolio aligned with its business operations. To lessen the dependency on subjective assumptions on how IT capabilities benefit the implementation of business strategies and operations, this paper proposes a business value modeling approach based on value driver trees which hierarchically model causal relationships from IT capability and performance to operational metrics, business metrics, and finally to business strategic metrics. This paper also presents an asset-based modeling framework and an analysis methodology which helps apply the business value analysis to various IT services. Besides depending on subject matter experts' experience and opinion, the methodology also proposes to apply a regression model to historical data of business metrics to discover and refine quantitative relationships among metrics. A case study is presented to illustrate how the proposed value-modeling and the regression method help in real-world business value analyses of IT services.