Abstract
Context: With the recent trend of shifting from traditional architectures towards Service Oriented Architectures (SOA), an enterprise can create, choreograph new business functions, deploy and integrate multiple services that communicate with each other using service interfaces to pass messages from one service to another. So, to build an SOA that accommodate business scalability, and flexibility and facilitate ongoing and changing needs of business, an SOA modeling language is required.
Objective: The purpose of this work is to determine the current state of the art in the field of SOA modeling shedding light on techniques have been used to model a SOA, its importance and domains where it is applied.
Method: In order to fulfill the objective of the research, the method which we choose was a Systematic Literature Review (SLR). This served in collecting and structuring the information that exists in the field of SOA modeling.
Results: Service oriented applications have been modeled with different modeling languages. Choosing a suitable modeling language is depending on the criteria for what is being modeled; if is it structural view point or behavioral aspects or even both.
Conclusion: Summing up the results, it can be concluded firstly that modeling mitigates the complexity of huge and complicated data of service oriented applications. Secondly, the research that has been performed has shown that the Unified Modeling Language (UML), Business Process Modeling Notation (BPMN), Service Component Architecture (SCA) and Event-B are the most modeling languages used on large scale.
Access provided by Autonomous University of Puebla. Download conference paper PDF
Similar content being viewed by others
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.
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 3 gives an overview of the relevant papers, indicating their source.
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.
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.
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].
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.
References
Bliudze, S., Sifakis, J.: A notion of glue expressiveness for component-based systems. In: van Breugel, F., Chechik, M. (eds.) CONCUR 2008. LNCS, vol. 5201, pp. 508–522. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-85361-9_39
Booch, G., Rumbaugh, J., Jacobson, I.: The unified modeling language reference manual (1999)
Chaabane, M., Bouassida Rodriguez, I., Drira, K., Jmaiel, M.: Mining approach for software architectures’ description discovery. In: 14th IEEE/ACS International Conference on Computer Systems and Applications, AICCSA 2017, Hammamet, Tunisia, 30 October–3 November, 2017, pp. 879–886 (2017). https://doi.org/10.1109/AICCSA.2017.169
Chaabane, M., Krichen, F., Bouassida Rodriguez, I., Jmaiel, M.: Monitoring of service-oriented applications for the reconstruction of interactions models. In: Computational Science and Its Applications - ICCSA 2015–15th International Conference, Banff, AB, Canada, 22–25 June, 2015, Proceedings, Part I, vol. 9155, pp. 172–186 (2015). https://doi.org/10.1007/978-3-319-21404-7_13
Cimino, M.G., Palumbo, F., Vaglini, G., Ferro, E., Celandroni, N., La Rosa, D.: Evaluating the impact of smart technologies on harbor’s logistics via BPMN modeling and simulation. Inf. Technol. Manage. 18(3), 223–239 (2017)
Davis, A., Dieste, O., Hickey, A., Juristo, N., Moreno, A.M.: Effectiveness of requirements elicitation techniques: empirical results derived from a systematic review. In: 14th IEEE International Requirements Engineering Conference (RE 2006), pp. 179–188. IEEE (2006)
De Troyer, O., Bauzer Medeiros, C., Billen, R., Hallot, P., Simitsis, A., Van Mingroot, H. (eds.): ER 2011. LNCS, vol. 6999. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-24574-9
Elvesæter, B., Panfilenko, D., Jacobi, S., Hahn, C.: Aligning business and it models in service-oriented architectures using BPMN and SOAML. In: Proceedings of the First International Workshop on Model-Driven Interoperability, MDI 2010, pp. 61–68. Association for Computing Machinery, New York (2010). https://doi.org/10.1145/1866272.1866281
Faure, M.: Management of Scenarized User-centric Service Compositions for Collaborative Pervasive Environments. Theses, Université Montpellier II - Sciences et Techniques du Languedoc (2012). https://tel.archives-ouvertes.fr/tel-00790156
Graiet, M., Maraoui, R., Kmimech, M., Bhiri, M.T., Gaaloul, W.: Towards an approach of formal verification of mediation protocol based on web services. In: Proceedings of the 12th International Conference on Information Integration and Web-Based Applications & Services, iiWAS 2010, pp. 75–82. Association for Computing Machinery, New York (2010). https://doi.org/10.1145/1967486.1967502
Hoang, T.S.: An introduction to the event-b modelling method. Industrial Deployment of System Engineering Methods, pp. 211–236 (2013). https://doi.org/10.1007/978-3-642-33170-1
Jia, X., Ying, S., Zhang, T., Cao, H., Xie, D.: A new architecture description language for service-oriented architec. In: Sixth International Conference on Grid and Cooperative Computing (GCC 2007), pp. 96–103. IEEE (2007)
Kitchenham, B.: Procedures for performing systematic reviews. Keele, UK, Keele University 33(2004), 1–26 (2004)
Lee, C.A.: Open archival information system (OAIS) reference model. Encyclopedia of library and information. Sciences 3, 1–11 (2010)
Loniewski, G., Insfran, E., Abrahão, S.: A systematic review of the use of requirements engineering techniques in model-driven development. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MODELS 2010. LNCS, vol. 6395, pp. 213–227. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-16129-2_16
Loukil, S., Kallel, S., Zalila, B., Jmaiel, M.: AO4AADL: aspect oriented extension for AADL. Central Eur. J. Comput. Sci. 3(2), 43–68 (2013)
Soleimani Malekan, H., Afsarmanesh, H.: Overview of business process modeling languages supporting enterprise collaboration. In: Shishkov, B. (ed.) BMSD 2013. LNBIP, vol. 173, pp. 24–45. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-06671-4_2
Neto, A.J.R., Borges, M.M., Roque, L.: Preliminary study about the applicability of a service-oriented architecture in the OAIS model implementation. In: Proceedings of the 5th International Conference on Technological Ecosystems for Enhancing Multiculturality, TEEM 2017. Association for Computing Machinery, New York (2017). https://doi.org/10.1145/3144826.3145381
Riccobene, E., Potena, P., Scandurra, P.: Reliability prediction for service component architectures with the SCA-ASM component model. In: 2012 38th Euromicro Conference on Software Engineering and Advanced Applications, pp. 125–132 (2012)
Riccobene, E., Scandurra, P., Albani, F.: A modeling and executable language for designing and prototyping service-oriented applications. In: 2011 37th EUROMICRO Conference on Software Engineering and Advanced Applications, pp. 4–11 (2011)
de Souza, A.P., Rabelo, R.J.: A dynamic services discovery model for better leveraging BPM and SOA integration. Int. J. Inf. Syst. Serv. Sect. (IJISSS) 7(1), 1–21 (2015)
Souza, E., Moreira, A.: Deriving services from KAOS models. In: Proceedings of the 33rd Annual ACM Symposium on Applied Computing, SAC 2018, pp. 1308–1315. Association for Computing Machinery, New York (2018). https://doi.org/10.1145/3167132.3167273
Stachtiari, E., Mentis, A., Katsaros, P.: Rigorous analysis of service composability by embedding WS-BPEL into the BIP component framework. In: 2012 IEEE 19th International Conference on Web Services, pp. 319–326 (2012)
Todoran, I., Hussain, Z., Gromov, N.: SOA integration modeling: an evaluation of how SoaML completes UML modeling. In: 2011 IEEE 15th International Enterprise Distributed Object Computing Conference Workshops, pp. 57–66. IEEE (2011)
Zhang, H., Liu, J., Zheng, L., Wang, J.: Modeling of web service development process based on MDA and procedure blueprint. In: 2012 IEEE/ACIS 11th International Conference on Computer and Information Science, pp. 422–427 (2012)
Acknowledgement
This work was partially supported by the LABEX-TA project MeFoGL: “Méthodes Formelles pour le Génie Logiciel”.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Zaafouri, K., Chaabane, M., Rodriguez, I.B. (2021). Systematic Literature Review on Service Oriented Architecture Modeling. In: Gervasi, O., et al. Computational Science and Its Applications – ICCSA 2021. ICCSA 2021. Lecture Notes in Computer Science(), vol 12951. Springer, Cham. https://doi.org/10.1007/978-3-030-86970-0_15
Download citation
DOI: https://doi.org/10.1007/978-3-030-86970-0_15
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-86969-4
Online ISBN: 978-3-030-86970-0
eBook Packages: Computer ScienceComputer Science (R0)