Keywords

1 Introduction

This paper presents an SLR on SOA modeling. A systematic review is a means of identifying, evaluating and interpreting all available research relevant to a particular research question (RQ), topic area, or phenomenon of interest in an unbiased and repeatable manner [13]. There are a number of different reasons why we should be employ systematic reviews. Some common ones are: to provide a detailed summary of current literature relevant to a RQ; to identify where there are limitations in current research in order to help determine where further study might be needed and to analyse how far a given hypothesis is supported or contradicted by the available proof.

The goal of this review is to aggregate the published empirical knowledge on the topic of SOA modeling. With the recent trend of shifting from traditional architectures towards SOA, services can be founded and reused to assemble new applications faster than in the traditional architectures [24], thanks to service interfaces that utilize standard network protocols in such a way that they can be rapidly integrated into new softwares without having to perform deep integration all time. So that, the structure and behavior of the architecture can be changing constantly [12] whenever the business process was changed.

This change becomes a difficult issue, due to complexity and strict requirements of such systems [16]. So, the need to model becomes increasingly apparent. For this reason, this review sheds light on the topic of SOA modeling.

The remainder of this paper is structured as follows: the research method is presented in Sect. 2, the results are presented in Sect. 3, the forth section discusses some possible limitations of the research, a conclusion and potential directions for the future are given in the last section.

2 Research Method

This section describes the RQ and search strategy aiming to find all relevant primary studies related to model SOA.

2.1 Research Questions

The RQ states the specific issue or problem that the research project will focus on. It also outlines the task that will need to complete. The process of developing our RQ follows several steps: Firstly, We choose a broad topic which is SOA. Secondly, preliminary reading was done to find out about topical issues. Then, we narrow down a specific field that we want to focus on which is SOA modeling language. The last step was to formulate the RQ taking into consideration such types of questions: Descriptive and Comparative RQ.

The following RQ were established:

  • RQ1: Which techniques have been used to model a SOA?

  • RQ2: What are the interests of modeling languages for SOA?

  • RQ3: Is the choice of modeling language particular for a type of system?

2.2 Search Strategy

The search strategy combines the key concepts of our search question in order to retrieve accurate results. Based on our RQ we create a list of seed keywords that our audience might be searching on. All we need to do it is describe our offering as simple as possible and brainstorm how other people might search for it.

As a result, our search strategy is an organized structure of key words, related to the broad concepts of our topic, which are Service Oriented Architecture and Modeling languages, used to search a database. Then, we added synonyms, variations, and related terms for each keyword. A Boolean operator (AND and OR) allow us to try different combinations of search terms. The final search string is (Service-Oriented Architecture OR Service Oriented Architecture OR SOA) AND (modeling OR model OR models OR design OR graphical notation OR graphical representation) AND (language OR method OR methodology OR procedure OR technique).

3 Search Results

This section presents the manner in which papers were identified, examined and selected, and the method used to extract and analyze data from papers deemed as relevant.

Table 1. Search results by resource

3.1 Data Collection

The search process was a manual search on specific online databases. The selected sources are shown in Table 1. Those sources identified as the most important and likely to contain relevant material, were searched for relevant content. The covered timeframe caught between a lower bound that was set from the beginning of 2010 and an upper bound that was set to the end of 2020.

Table 1 shows the number of papers found in each source.

3.2 Data Extraction and Analysis

Once the papers within the scope were identified, the next step was to extract the relevant information (data) from them by reading abstracts and after that by reading introductions.

Table 2 shows the number of relevant papers founded.

Table 2. Filtered search results

Table 3 gives an overview of the relevant papers, indicating their source.

Table 3. Filtered search results by resource

3.3 Overview of Results

Out of 412 papers, 112 selected for introduction reading and were thus opened and inspected, yielding 63 relevant papers.

RQ1: Which Techniques Have Been Used to Model a SOA? This section deals with the first RQ and looks at empirical work what technique have been used to model SOA. We found 32 over 63 papers that dealt with this RQ.

Fig. 1.
figure 1

Breakdown by empirical technique

Figure 1 reveals that a large majority of the papers contribute to UML (39%). On second place, BPMN is addressed by a quarter of the papers (26%). 16% of addressed papers are modeled using SCA and 10% of studies using Event-B method. Finally, each one of the modeling languages: Knowledge Acquisition in Automated Specification (KAOS), Open Archival Information System (OAIS) and Behavior-Interaction-Priority (BIP) are addressed by (3%) of the papers.

RQ2: What Are the Interests of Modeling Languages for SOA? This section discusses papers that contribute to the understanding of the interests of modeling languages for SOA. In the set of 63 papers, 32 of them highlighted the motivation of modeling languages for SOA.

In terms of UML’s effect on modeling SOA, three observations have been made on the topic: The peculiarity of UML is that a standard and understandable visual modeling language [25] that represent a natural, intuitive and expressive way to forge the behavioral and structural aspects of a system [2, 4], well-designed software requirements definitions have a great impact on final product quality [6] and reduce costs and minimize development time [15]. Due to this, it can be concluded that UML is a visual modeling language applicable to design the structural and behavioral aspects of the system.

In terms of the interesting of BPMN to model SOA two perceptions have been made on the subject: To help the business and system stakeholders to align their business requirements and IT system implementations [8], and to more flexibly execute business transactions [5, 21] thanks to the rich set of elements and attributes which mostly emphasize on illustrating the system behavior and its abstraction [17] using BPEL language [3]. So, BPMN as a visual modeling language can be readily used to design the behavioral view point of a system.

Regarding SCA’s interest in SOA modeling, two visualizations have been made on the topic: Thanks to SCA design primitives [20], SCA provide graphical representation of components structure and of components assemblies, those Components can be reused to create composite components [9]. Therefore, it could be interesting to define a component that manages scenario execution [9]. On the other hand, the combination of SCA and ASM [19, 20] tackles “the complexity of service oriented applications by offering a high degree of design and validation at early development phases”. Unlike BPMN, SCA as a visual modeling language is addressed to model the structural aspects of a system.

As for Event-B method’s interest to model SOA two observations have been made on the topic: It is a formal method. The key features of it are the use of set theory as a modelling notation, the use of refinement to represent systems at different abstraction levels and the use of mathematical proof to verify consistency between refinement levels. Event-B method is identical with UML on modeling structural and behavioral view points [11] of a system. Nevertheless, Event-B, which is a formal language is not a visual modeling language.

We discuss the interest of the remainder techniques in SOA modeling. For KAOS as a systematic approach to model SOA applications using goal-models [22], this approach can guide the service designer in identifying a set of services during SOA specification thanks to the use of a set of heuristics and model transformations.

Table 4. Breakdown by criterion

As for OAIS as a reference model [14] was developed to be applicable in any organisational context in which digital content is managed for the long term. It is used in order to provide a set of policies and procedures in the implementation of content preservation programs [18]. Most organisations that manage digital collections have indicated an intention to design and implement their digital repositories in accordance with the OAIS. But, it is not intended to promote or discuss specific details or technical recommendations in the different software implementations.

Regarding BIP [23], thanks to a powerful executable modeling language with formally defined operational semantics and mathematically proven expressiveness properties [1], BIP supports innovative formal analyses by reasoning on the model structure thus avoiding as much as possible the scalability limitations of model checking techniques.

Graiet et al. [10] proposes a sound approach to formalize Web services composition mediation with the ACME ADL using Armani, which provides a powerful predicate language in order to ensure service execution reliability.

Table 4 summarizes the criterion of each Modeling Language, blank cells indicate that the topic was not addressed.

In the light of the criterion mentioned in Table 4, we deduced that the modeling languages UML, BPMN and SCA are a visual modeling language, in contrast of Event-B which is a formal method.

The modeling language BPMN models the behavioral aspects of the system, while SCA models the structural aspects by defining components and wires to represent a network.

Whereas, both UML and Event-B forge the behavioral and the aspects of the system. Even though, SCA out-performs UML by explicitly defining Services and References with various bindings [7].

Table 5. Breakdown by domain

RQ3: Is the Choice of Modeling Language Particular for a Type of System? Modelling language is applied on large scale, depending on the criteria for what is being modeled; if is it structural view point or behavioral aspects or even both. Regarding our research we extract five domains where modelling language was applied (Education, Healthcare, Transport, Marketing and Industry).

Table 5 shows that the most applied modelling language are UML and BPMN. UML is used in education, healthcare, transport and marketing field. While BPMN is applicable on the field of education, transport and industry.

From the outcome of our research it is possible to conclude that there are strong chances that BPMN will be adopted by the industry as a modeling language for modeling the integration of SOAs. While UML is intended to use mainly in areas like web applications, commercial applications and embedded systems.

4 Threats to Validity

The purpose of this section is to analyze the threats to validity regarding the conclusions of our SLR.

The main threats to the validity of our review we have identified are these:

Choice of Papers: relevant papers may not be identified because they do not match to the search criteria. To resolve this problem, we have taken into consideration the recommendations of the experts at each stage of our SLR to avoid this threat to validity.

Unbalanced Results: Impartiality in such papers can affect the interpretation of the results. In fact, the rather low number of existing research materials about Event-B method, KAOS, OAIS and BIP and the increased prevalence of modeling with UML, BPMN and SCA. Thus, the papers analyzed for those modeling language were not entirely numerically balanced. Nevertheless, the fact that our choice of papers is validated by experts, ensures that our interpretation reflects the reality of the literature.

UML Limitation: A potential limitation of the literature study is that: Regarding the findings we have obtained, we conclude that UML is the most modeling language that used in order to model softwares that follow SOA. Whereas De Troyer et al. [7] shows that SCA out-performs UML by explicitly defining Services and References with various bindings. Nevertheless, UML 2.x version could be very adequate to model Service Oriented application while replacing UML, SCA and BPMN to model both structural and behavioral aspects of SOA. In addition, it could model different instances of the modeled Web Services using the object diagram.

5 Conclusion and Further Research

The goal of this review is to aggregate the published empirical knowledge on the topic of SOA modeling. We started by developing our RQ aiming to find all relevant primary studies related to model SOA. When our RQ were established, we create a list of seed keywords that our audience might be searching on. Based on those words a search strategy was created. Using the search strategy that we established, we search manually on specific online databases. Out of 412 papers, 112 selected for introduction reading and were thus opened and inspected, yielding 63 relevant papers. Only 32 over 63 papers deals with our RQ.

From the research that has been carried out, we conclude that Service oriented applications have been modeled with various modeling languages: UML, BPMN, SCA, Event-B method, KAOS, OAIS and BIP. We analyzed those seven main languages for SOA modeling; having an evaluation between them, based on a defined set of criteria.

The main conclusions can be drawn is that UML, BPMN, SCA and Event-B are the most modeling languages used to model applications that follow a SOA. BPMN for designing the behavioral aspect of the system and SCA for modeling the structural view point of the system. Moreover, to support both modeling capabilities (behavioral and structural) a formal modeling language was proposed which is Event-B method, while UML is popular for software systems modeling and widely accepted as the standard for this, thanks to the visual modeling language.

The study can be continued by taking a more practical approach by modeling “Smart City” of SOA integration using those modeling language, and trying to identify the benefits and limitations resulting from the concrete practical modeling.