Skip to main content
Log in

SOCAM: a service-oriented computing architecture modeling method

  • Regular Paper
  • Published:
Software and Systems Modeling Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19

Similar content being viewed by others

Notes

  1. The OPC is the application that defines how customer orders are processed.

  2. 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.

  3. 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.

  4. 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.

  5. http://www.eclipse.org/modeling/

  6. This document describes functional requirements, use cases, technical issues, and scenarios.

  7. Describes the goals, needs and rationale of the planned software.

  8. This document includes non-functional requirements.

  9. This document, also named service portafolio, presents a hierarchical decomposition of goals-subgoals, key performance indicators, metrics and business services.

  10. The vision document includes product background, driving factors, key value, market segments, and technological opportunities.

  11. QoS requirements capture non-functional requirements whereas scenarios regards functional goals of the system.

  12. Describes how a proposed new system will operated within its environment.

  13. Describes functional and non-functional requirements

  14. This involves capability requirements, level of service, system interface requirements, and project requirements.

References

  1. 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

    Article  Google Scholar 

  2. 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

    Article  Google Scholar 

  3. Allen, E., Seaman, C.: Likert scales and data analyses. Qual. Prog. 40(7), 64–65 (2007)

    Google Scholar 

  4. 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

  5. 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

    Article  Google Scholar 

  6. 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)

    Article  Google Scholar 

  7. 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)

    Google Scholar 

  8. Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. Addison-Wesley Longman Publishing Co. Inc, Boston (2003)

    Google Scholar 

  9. Bianco, P., Kotermanski, R., Merson, P.: Evaluating a Service-Oriented Architecture. Technical Report CMU/SEI-2007-TR-015, SEI (2007)

  10. Bianco, P., Lewis, G., Merson, P., Simanta, S.: Architecting Service-Oriented Systems. Technical Report CMU/SEI-2011-TN-008, SEI (2011)

  11. 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

    Article  Google Scholar 

  12. 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

    Article  Google Scholar 

  13. Bonham, A.: Microservices - when to react vs. orchestrate. https://bit.ly/336goG6 (2017). Accessed 15 May 2021

  14. 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)

  15. 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

    Article  MathSciNet  Google Scholar 

  16. Chin, W.: Partial Least Squares Approach to Structural Equation Modeling, pp. 295–336. Springer, Berlin (1998)

    Google Scholar 

  17. Chin, W.W.: How to Write Up and Report PLS Analyses, pp. 655–690. Springer, Berlin (2010)

    Google Scholar 

  18. Clark, K.: Microservices, soa, and apis: Friends or enemies? https://ibm.co/3vYvwSn(2016). Accessed 15 May 2021

  19. 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

  20. Corporation, M.: Msf process model v. 3.1 (2002). https://www.microsoft.com/en-us/download/confirmation.aspx?id=13870

  21. Easterbrook, S., Singer, J., Storey, M.A., Damian, D.: Selecting Empirical Methods for Software Engineering Research, pp. 285–311. Springer, London (2008)

    Google Scholar 

  22. Falk, R., Miller, N.: A Primer for Soft Modeling. University of Akron Press, Akron (1992)

    Google Scholar 

  23. Fielding, R.T.: Architectural styles and the design of network-based software architectures. Ph.D. thesis, University of California, Irvine (2000). AAI9980887

  24. Fornell, C.: Selecting Empirical Methods for Software Engineering Research, pp. 407–450. American Marketing Association, Chicago (1987)

    Google Scholar 

  25. Fowler, M., Highsmith, J.: The agile manifesto. Softw. Dev. 9(8), 28–35 (2001)

    Google Scholar 

  26. 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)

  27. Glass, R., Vessey, I., Ramesh, V.: Research in software engineering: an analysis of the literature. Inf. Softw. Technol. 44(8), 491–506 (2002)

    Article  Google Scholar 

  28. 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

    Article  Google Scholar 

  29. Höfer, A., Tichy, W.F.: Status of Empirical Research in Software Engineering, pp. 10–19. Springer, Berlin (2007)

    Google Scholar 

  30. 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)

    Article  Google Scholar 

  31. Hofmeister, C., Nord, R., Soni, D.: Applied Software Architecture, 1st edn. Addison-Wesley Professional, London (1999)

    Google Scholar 

  32. 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)

    Article  Google Scholar 

  33. 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

  34. 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

    Article  Google Scholar 

  35. Josuttis, N.: Soa in Practice: The Art of Distributed System Design. O’Reilly Media, Inc. (2007)

  36. 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)

    Article  Google Scholar 

  37. 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

  38. Kitchenham, B.A., Pfleeger, S.L.: Personal Opinion Surveys, pp. 63–92. Springer, London (2008)

    Google Scholar 

  39. Kruchten, P.: The Rational Unified Process: An Introduction, 3rd edn. Addison-Wesley Longman Publishing Co. Inc, Boston (2004)

    Google Scholar 

  40. 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

  41. Kruchten, P., Capilla, R., Dueñas, J.C.: The decision view’s role in software architecture practice. IEEE Softw. 26(2), 36–42 (2009)

  42. Kruchten, P., Obbink, H., Stafford, J.: The past, present, and future for software architecture. IEEE Softw. 23(2), 22–30 (2006)

    Article  Google Scholar 

  43. Kruchten, P.B.: The 4+1 view model of architecture. IEEE Softw. 12(6), 42–50 (1995)

    Article  Google Scholar 

  44. 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

    Article  Google Scholar 

  45. 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)

  46. Lewis, J., Fowler, M.: Microservices. https://martinfowler.com/articles/microservices.html (2014). Accessed 15 May 2021

  47. 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

    Article  Google Scholar 

  48. Medvidovic, N., Taylor, R.N.: A classification and comparison framework for software architecture description languages. IEEE Trans. Software Eng. 26(1), 70–93 (2000)

    Article  Google Scholar 

  49. 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

    Article  Google Scholar 

  50. 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)

  51. Nadareishvili, I., Mitra, R., McLarty, M., Amundsen, M.: Microservice Architecture: Aligning Principles, Practices, and Culture, 1st edn. O’Reilly Media, Inc. (2016)

  52. 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

  53. 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

    Article  Google Scholar 

  54. 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)

    Article  Google Scholar 

  55. 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)

    Article  Google Scholar 

  56. 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)

  57. 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)

  58. 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)

  59. 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

    Article  Google Scholar 

  60. 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

    Article  Google Scholar 

  61. 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

  62. Selic, B.: Specifying dynamic software system architectures. Softw. Syst. Model. (2021). https://doi.org/10.1007/s10270-021-00875-0

    Article  Google Scholar 

  63. Sheskin, D.J.: Handbook of Parametric and Nonparametric Statistical Procedures, 4th edn. Chapman & Hall/CRC, London (2007)

    MATH  Google Scholar 

  64. 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

    Article  Google Scholar 

  65. Singh, R.: Microservice orchestration vs choreography. https://bit.ly/3xD4ZvC (2019). Accessed 15 May 2021

  66. Center for Software Engineering, U.o.S.C.: Guidelines for model-based (system) architecting and software engineering (mbase) (2003)

  67. 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

    Article  Google Scholar 

  68. Valerdi, R., Madachy, R.: Impact and contributions of mbase on software engineering graduate courses. J. Syst. Softw. 80(8), 1185–1190 (2007)

    Article  Google Scholar 

  69. W3C: Simple object access protocol soap 1.1. http://www.w3.org/TR/SOAP (2019). http://www.w3.org/TR/SOAP

  70. 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)

    Article  Google Scholar 

  71. 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

  72. 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

    Article  Google Scholar 

  73. Weinreich, R., Buchgeher, G.: Towards supporting the software architecture life cycle. J. Syst. Softw. 85(3), 546–561 (2012)

    Article  Google Scholar 

  74. Wohlin, C., Höst, M., Henningsson, K.: Empirical Research Methods in Software Engineering, pp. 7–23. Springer, Berlin (2003)

    Book  Google Scholar 

  75. 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)

  76. 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)

  77. 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

    Article  Google Scholar 

  78. Zikmund, W.: Business Research Methods. Dryden (1997)

  79. Zimmermann, O.: Microservices tenets. Comput. Sci. 32(34), 301–310 (2017). https://doi.org/10.1007/s00450-016-0337-0

    Article  Google Scholar 

Download references

Acknowledgements

We want to thank CONACYT for the scholarship provided to Paola Y. Reyes-Delgado.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Hector A. Duran-Limon.

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-021-00946-2

Keywords

Navigation