Abstract
Software architecture models are considered first-class artifacts in current software engineering best practices. Thus, usable and well-understood modeling methods are required for software architects. For this aim, several specific software architecture modeling methods as well as generic design methods included in software development methodologies are available. However, we believe, there is the lack of more specific guidance in current software architecture methods. One of the principal causes of such a lack of specific guidance is the general-purpose nature of these methods. Therefore, further efforts are required to define domain-specific software architecture methods. In this paper, we present SOCAM, a software architecture modeling method for Web Service-Oriented Systems. We illustrate the use of SOCAM with a customization of the well-known SOA test application case: the Sun Adventure Builder system. A comparative analysis of SOCAM with other methods reveals a number of benefits of our method over the other approaches. Also, a survey research method evaluation confirms some of these benefits such as the fact that SOCAM is perceived as more useful than certain general-purpose methods.
Similar content being viewed by others
Notes
The OPC is the application that defines how customer orders are processed.
There are some service integration middleware solutions that provide a richer set of integration services. For example, IBM Integration Bus offers the functionality of an ESB plus facilities for the integration with databases, ERP systems, email, and physical devices, among others.
A service connector is the programing code required for integrating an application with a service provider. This integration involves both data formatting and the mechanisms for web service access.
This database is used to keep information about the service providers such as name, location, and metadata about all the REST web services offered by the providers.
This document describes functional requirements, use cases, technical issues, and scenarios.
Describes the goals, needs and rationale of the planned software.
This document includes non-functional requirements.
This document, also named service portafolio, presents a hierarchical decomposition of goals-subgoals, key performance indicators, metrics and business services.
The vision document includes product background, driving factors, key value, market segments, and technological opportunities.
QoS requirements capture non-functional requirements whereas scenarios regards functional goals of the system.
Describes how a proposed new system will operated within its environment.
Describes functional and non-functional requirements
This involves capability requirements, level of service, system interface requirements, and project requirements.
References
Abrahamsson, P., Babar, M.A., Kruchten, P.: Agility and architecture: can they coexist? IEEE Softw. 27(2), 16–22 (2010). https://doi.org/10.1109/MS.2010.36
Al-Shammari, H.Q., Lawey, A.Q., El-Gorashi, T.E.H., Elmirghani, J.M.H.: Resilient service embedding in IoT networks. IEEE Access 8, 123571–123584 (2020). https://doi.org/10.1109/ACCESS.2020.3005936
Allen, E., Seaman, C.: Likert scales and data analyses. Qual. Prog. 40(7), 64–65 (2007)
Andriyanto, A., Doss, R., Yustianto, P.: Adopting soa and microservices for inter-enterprise architecture in sme communities. In: 2019 International Conference on Electrical, Electronics and Information Engineering (ICEEIE), vol. 6, pp. 282–287 (2019). https://doi.org/10.1109/ICEEIE47180.2019.8981437
Angelov, S., de Beer, P.: Designing and applying an approach to software architecting in agile projects in education. J. Syst. Softw. 127, 78–90 (2017). https://doi.org/10.1016/j.jss.2017.01.029
Arsanjani, A., Ghosh, S., Allam, A., Abdollah, T., Gariapathy, S., Holley, K.: Soma: a method for developing service-oriented solutions. IBM Syst. J. 47(3), 377–396 (2008)
Barclay, D., Higgins, C., Thompson, R.: The partial least squares (pls) approach to causal modeling: personal computer adoption and use as an illustration. Technol. Stud. 2(2), 285–309 (1995)
Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. Addison-Wesley Longman Publishing Co. Inc, Boston (2003)
Bianco, P., Kotermanski, R., Merson, P.: Evaluating a Service-Oriented Architecture. Technical Report CMU/SEI-2007-TR-015, SEI (2007)
Bianco, P., Lewis, G., Merson, P., Simanta, S.: Architecting Service-Oriented Systems. Technical Report CMU/SEI-2011-TN-008, SEI (2011)
Boehm, B., Egyed, A., Kwan, J., Port, D., Shah, A., Madachy, R.: Using the winwin spiral model: a case study. Computer 31(7), 33–44 (1998). https://doi.org/10.1109/2.689675
Boehm, B., Turner, R.: Management challenges to implementing agile processes in traditional development organizations. IEEE Softw. 22(5), 30–39 (2005). https://doi.org/10.1109/MS.2005.129
Bonham, A.: Microservices - when to react vs. orchestrate. https://bit.ly/336goG6 (2017). Accessed 15 May 2021
Bézivin, J., Dupé, G., Jouault, F., Pitette, G., Rougui, J.E.: First experiments with the atl model transformation language: Transforming xslt into xquery. In: 2nd OOPSLA Workshop on Generative Techniques in the context of Model Driven Architecture (2003)
Cabrera, O., Oriol, M., Franch, X., Marco, J.: A context-aware monitoring architecture for supporting system adaptation and reconfiguration. Computing (2021). https://doi.org/10.1007/s00607-021-00923-z
Chin, W.: Partial Least Squares Approach to Structural Equation Modeling, pp. 295–336. Springer, Berlin (1998)
Chin, W.W.: How to Write Up and Report PLS Analyses, pp. 655–690. Springer, Berlin (2010)
Clark, K.: Microservices, soa, and apis: Friends or enemies? https://ibm.co/3vYvwSn(2016). Accessed 15 May 2021
Clements, P., Garlan, D., Little, R., Nord, R., Stafford, J.: Documenting software architectures: Views and beyond. In: Proceedings of the 25th International Conference on Software Engineering, ICSE ’03. IEEE Computer Society, Washington, DC, USA (2003). http://dl.acm.org/citation.cfm?id=776816.776928
Corporation, M.: Msf process model v. 3.1 (2002). https://www.microsoft.com/en-us/download/confirmation.aspx?id=13870
Easterbrook, S., Singer, J., Storey, M.A., Damian, D.: Selecting Empirical Methods for Software Engineering Research, pp. 285–311. Springer, London (2008)
Falk, R., Miller, N.: A Primer for Soft Modeling. University of Akron Press, Akron (1992)
Fielding, R.T.: Architectural styles and the design of network-based software architectures. Ph.D. thesis, University of California, Irvine (2000). AAI9980887
Fornell, C.: Selecting Empirical Methods for Software Engineering Research, pp. 407–450. American Marketing Association, Chicago (1987)
Fowler, M., Highsmith, J.: The agile manifesto. Softw. Dev. 9(8), 28–35 (2001)
Garlan, D.: Software architecture: A travelogue. In: Proceedings on the of Future of Software Engineering. FOSE 2014, pp. 29–39. ACM, New York, NY, USA (2014)
Glass, R., Vessey, I., Ramesh, V.: Research in software engineering: an analysis of the literature. Inf. Softw. Technol. 44(8), 491–506 (2002)
Hoda, R., Salleh, N., Grundy, J.: The rise and evolution of agile software development. IEEE Softw. 35(5), 58–63 (2018). https://doi.org/10.1109/MS.2018.290111318
Höfer, A., Tichy, W.F.: Status of Empirical Research in Software Engineering, pp. 10–19. Springer, Berlin (2007)
Hofmeister, C., Kruchten, P., Nord, R.L., Obbink, H., Ran, A., America, P.: A general model of software architecture design derived from five industrial approaches. J. Syst. Softw. 80(1), 106–126 (2007)
Hofmeister, C., Nord, R., Soni, D.: Applied Software Architecture, 1st edn. Addison-Wesley Professional, London (1999)
Hofmeister, C., Nord, R.L., Soni, D.: Global analysis: moving from software requirements specification to structural views of the software architecture. IEE Proc. Softw. 152(4), 187–197 (2005)
IEEE: Ansi/IEEE 1471-2000-IEEE recommended practice for architectural description for software-intensive systems (2018). https://standards.ieee.org/findstds/standard/1471-2000.html
Ingole, S., Kumar, A., Prusti, D., Rath, S.K.: Service-based credit card fraud detection using oracle SOA suite. SN Comput. Sci. 2(3), 161 (2021). https://doi.org/10.1007/s42979-021-00539-2
Josuttis, N.: Soa in Practice: The Art of Distributed System Design. O’Reilly Media, Inc. (2007)
Karahanna, E., Straub, D.W., Chervany, N.L.: Information technology adoption across time: a cross-sectional comparison of pre-adoption and post-adoption beliefs. MIS Q. 23(2), 183–213 (1999)
Khalid, M.H., Murtaza, M., Habbal, M.: Study of security and privacy issues in internet of things. In: 2020 5th International Conference on Innovative Technologies in Intelligent Systems and Industrial Applications (CITISIA), pp. 1–5 (2020). https://doi.org/10.1109/CITISIA50690.2020.9371828
Kitchenham, B.A., Pfleeger, S.L.: Personal Opinion Surveys, pp. 63–92. Springer, London (2008)
Kruchten, P.: The Rational Unified Process: An Introduction, 3rd edn. Addison-Wesley Longman Publishing Co. Inc, Boston (2004)
Kruchten, P.: Software architecture and agile software development: a clash of two cultures? In: 2010 ACM/IEEE 32nd International Conference on Software Engineering, vol. 2, pp. 497–498 (2010). https://doi.org/10.1145/1810295.1810448
Kruchten, P., Capilla, R., Dueñas, J.C.: The decision view’s role in software architecture practice. IEEE Softw. 26(2), 36–42 (2009)
Kruchten, P., Obbink, H., Stafford, J.: The past, present, and future for software architecture. IEEE Softw. 23(2), 22–30 (2006)
Kruchten, P.B.: The 4+1 view model of architecture. IEEE Softw. 12(6), 42–50 (1995)
Kurniawan, N.B., Bandung, Y., Yustianto, P.: Services computing systems engineering framework: a proposition and evaluation through soa principles and analysis model. IEEE Syst. J. 14(3), 3105–3116 (2020). https://doi.org/10.1109/JSYST.2019.2939433
Lee, D., Park, J., Ahn, J.: On the explanation of factors affecting e-commerce adoption. In: Proceedings of the Twenty-Second International Conference on Information Systems, pp. 109–120 (2001)
Lewis, J., Fowler, M.: Microservices. https://martinfowler.com/articles/microservices.html (2014). Accessed 15 May 2021
Masood, T., Cherifi, C.B., Moalla, N.: A machine learning approach for performance-oriented decision support in service-oriented architectures. J. Intell. Inf. Syst. 56(2), 255–277 (2021). https://doi.org/10.1007/s10844-020-00617-6
Medvidovic, N., Taylor, R.N.: A classification and comparison framework for software architecture description languages. IEEE Trans. Software Eng. 26(1), 70–93 (2000)
Mendoza-Pitti, L., Calderón-Gómez, H., Vargas-Lombardo, M., Gómez-Pulido, J.M., Castillo-Sequera, J.L.: Towards a service-oriented architecture for the energy efficiency of buildings: a systematic review. IEEE Access 9, 26119–26137 (2021). https://doi.org/10.1109/ACCESS.2021.3057543
Mora, M.: Descripción del Método de Investigación Conceptual: Tipo Conductual o Tipo Diseño. Tech. Rep. Reporte Técnico 2009-3.5, Universidad Autónoma de Aguascalientes (2009)
Nadareishvili, I., Mitra, R., McLarty, M., Amundsen, M.: Microservice Architecture: Aligning Principles, Practices, and Culture, 1st edn. O’Reilly Media, Inc. (2016)
Papazoglou, M.P.: Service -oriented computing: Concepts, characteristics and directions. In: Proceedings of the Fourth International Conference on Web Information Systems Engineering, WISE ’03, pp. 3. IEEE Computer Society, Washington, DC, USA (2003). http://dl.acm.org/citation.cfm?id=960322.960404
Pautasso, C., Zimmermann, O., Amundsen, M., Lewis, J., Josuttis, N.: Microservices in practice, part 1: reality check and service design. IEEE Softw. 34(1), 91–98 (2017). https://doi.org/10.1109/MS.2017.24
Petriu, D.C., Happe, J.: Introduction to the theme issue on models for quality of software architecture. Softw. Syst. Model. 13(4), 1237–1238 (2014)
Pfleeger, S.L., Kitchenham, B.A.: Principles of survey research: part 1: turning lemons into lemonade. SIGSOFT Softw. Eng. Notes 26(6), 16–18 (2001)
Péraire, C., Edwards, M., A., F., Mancin, E., Carroll, K.: The IBM Rational Unified Process for System Z, pp. 1-252. IBM Rational Software, Red Books (2007)
Reyes-Delgado, P.Y., Duran-Limon, H.A., Mora, M., C., R.M.L.: Socam method: Complementary documents. https://github.com/hduran-limon/SOCAM (2021)
Reyes-Delgado, P.Y., Mora, M., Duran-Limon, H.A., Rodriguez-Martine, L.C., O’Connor, R.V., Mendoza-Gonzalez, R.: The strengths and weaknesses of software architecture design in the rup, msf, mbase and rup-soa methodologies: a conceptual review. Comput. Stand. Interfaces 47, 24–41 (2016)
Rumez, M., Grimm, D., Kriesten, R., Sax, E.: An overview of automotive service-oriented architectures and implications for security countermeasures. IEEE Access 8, 221852–221870 (2020). https://doi.org/10.1109/ACCESS.2020.3043070
Sanchez, E.S., Clemente, P.J., Conejero, J.M., Prieto, A.E.: Business process execution from the alignment between business processes and web services: a semantic and model-driven modernization process. IEEE Access 8, 93346–93368 (2020). https://doi.org/10.1109/ACCESS.2020.2993883
Selic, B.: Model-driven development: Its essence and opportunities. In: Proceedings of the Ninth IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing, ISORC ’06, pp. 313–319. IEEE Computer Society, Washington, DC, USA (2006). https://doi.org/10.1109/ISORC.2006.54
Selic, B.: Specifying dynamic software system architectures. Softw. Syst. Model. (2021). https://doi.org/10.1007/s10270-021-00875-0
Sheskin, D.J.: Handbook of Parametric and Nonparametric Statistical Procedures, 4th edn. Chapman & Hall/CRC, London (2007)
Sievi-Korte, O., Richardson, I., Beecham, S.: Software architecture design in global software development: an empirical study. J. Syst. Softw. 158, 110400 (2019). https://doi.org/10.1016/j.jss.2019.110400
Singh, R.: Microservice orchestration vs choreography. https://bit.ly/3xD4ZvC (2019). Accessed 15 May 2021
Center for Software Engineering, U.o.S.C.: Guidelines for model-based (system) architecting and software engineering (mbase) (2003)
Valderas, P., Torres, V., Pelochano, V.: Supporting a hybrid composition of microservices. The eucaliptool platform. J. Softw. Eng. Res. Dev. 8, 1:1-1:14 (2020). https://doi.org/10.5753/jserd.2020.457
Valerdi, R., Madachy, R.: Impact and contributions of mbase on software engineering graduate courses. J. Syst. Softw. 80(8), 1185–1190 (2007)
W3C: Simple object access protocol soap 1.1. http://www.w3.org/TR/SOAP (2019). http://www.w3.org/TR/SOAP
Wang, X., Conboy, K., Cawley, O.: Leagile software development: an experience report analysis of the application of lean approaches in agile software development. J. Syst. Softw. 85(6), 1287–1299 (2012). https://doi.org/10.1016/j.jss.2012.01.061. (Special Issue: Agile Development)
Wang, Y., Li, Q., Yang, Z.: Functional requirements analysis of militia emergency communication equipment based on soa architecture. In: 2021 Asia-Pacific Conference on Communications Technology and Computer Science (ACCTCS), pp. 310–314 (2021). https://doi.org/10.1109/ACCTCS52002.2021.00068
Waseem, M., Liang, P., Shahin, M.: A systematic mapping study on microservices architecture in devops. J. Syst. Softw. 170, 110798 (2020). https://doi.org/10.1016/j.jss.2020.110798
Weinreich, R., Buchgeher, G.: Towards supporting the software architecture life cycle. J. Syst. Softw. 85(3), 546–561 (2012)
Wohlin, C., Höst, M., Henningsson, K.: Empirical Research Methods in Software Engineering, pp. 7–23. Springer, Berlin (2003)
Wojcik, R., Bachmann, F., Bass, L., Clements, P., Merson, P., Nord, R., Wood, B.: Attribute-Driven Design (ADD), Version 2.0. Technical Report CMU/SEI-2006-TR-023, Software Engineering Institute, Carnegie Mellon Univ (2006)
Wood, G.: A Practical Example of Applying Attribute-Driven Design (ADD), Version 2.0. Tech. Rep. Technical Report CMU/SEI-2007-TR-005, Software Engineering Institute, Carnegie Mellon Univ (2007)
Yang, C., Liang, P., Avgeriou, P.: A systematic mapping study on the combination of software architecture and agile development. J. Syst. Softw. 111, 157–184 (2016). https://doi.org/10.1016/j.jss.2015.09.028
Zikmund, W.: Business Research Methods. Dryden (1997)
Zimmermann, O.: Microservices tenets. Comput. Sci. 32(34), 301–310 (2017). https://doi.org/10.1007/s00450-016-0337-0
Acknowledgements
We want to thank CONACYT for the scholarship provided to Paola Y. Reyes-Delgado.
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Antonio Vallecillo.
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendix A
Appendix A
Acronyms: ESS. - External Service Support, SP.- Service Provider, ISP.- Internal Service Provider, ESC.- External Service Component, ESP.- External Service Provider, ISP.- Internal Service Provider, ISC.- Internal Service Component, ES.- External Service (i.e. external business service), IS.- Internal Service (i.e. internal business service).
Rights and permissions
About this article
Cite this article
Reyes-Delgado, P.Y., Duran-Limon, H.A., Mora, M. et al. SOCAM: a service-oriented computing architecture modeling method. Softw Syst Model 21, 1551–1581 (2022). https://doi.org/10.1007/s10270-021-00946-2
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-021-00946-2