Software Product Line Engineering to Develop Variant-Rich Web Services

  • Bardia Mohabbati
  • Mohsen Asadi
  • Dragan Gašević
  • Jaejoon Lee
Chapter

Abstract

Service-Oriented Architecture (SOA) enables enterprise for distributed and flexible software development. SOA aims at promoting effective software asset reuse by means of encapsulating functionalities as reusable services accessible through well-defined interfaces. However, one of the challenging problems for the realization of this vision is an need for design and management of variants of SOA-based solutions. Such SOA-based solutions require customization to meet stakeholders’ individual functional and non-functional requirements. In this chapter, a methodological foundation for modeling and developing variant-rich SOA-solutions by incorporating the principles of Software Product Line Engineering (SPLE) into the SOA development life cycle .

Keywords

Business Process Product Family Composite Service Business Process Model Reference Architecture 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

References

  1. 1.
    Apel, S., Kaestner, C., Lengauer, C.: Research challenges in the tension between features and services. In: Proceedings of the 2nd International Workshop on Systems Development in SOA Environments, pp. 53–58. ACM (2008)Google Scholar
  2. 2.
    Arsanjani, A., Ghosh, S., Allam, A., Abdollah, T., Ganapathy, S., Holley, K.: SOMA: a method for developing service-oriented solutions. IBM Syst. J. 47(3), 377–396 (2008)CrossRefGoogle Scholar
  3. 3.
    Asadi, M., Bagheri, E., Gašević, D., Hatala, M., Mohabbati, B.: Goal-driven software product line engineering. In: SAC ’11, pp. 691–698. ACM, NY, USA (2011)Google Scholar
  4. 4.
    Asikainen, T., Soininen, T., Männistö, T.: A Koala-based approach for modelling and deploying configurable software product families, pp. 225–249. Software Product-Family Engineering (2004)Google Scholar
  5. 5.
    Bachmann, F., Goedicke, M., Leite, J., Nord, R., Pohl, K., Ramesh, B., Vilbig, A.: A meta-model for representing variability in product family development, pp. 66–80. Software Product-Family Engineering (2004)Google Scholar
  6. 6.
    Benatallah, B., Nezhad, H.M.: Service oriented architecture: overview and directions. In: Advances in Software Engineering, Lecture Notes in Computer Science, vol. 5316, pp. 116–130. Springer, Berlin (2008)Google Scholar
  7. 7.
    Benavides, D., Segura, S., Cortés, A.R.: Automated analysis of feature models 20 years later: a literature review. Inf. Syst. 35(6), 615–636 (2010)CrossRefGoogle Scholar
  8. 8.
    Bussler, C.: The fractal nature of web services. Computer 40, 93–95 (2007)CrossRefGoogle Scholar
  9. 9.
    Chang, S.H., Kim, S.D.: A variability modeling method for adaptable services in service-oriented computing. In: SPLC ’07: Proceedings of the 11th International Software Product Line Conference, pp. 261–268. IEEE Computer Society, DC, USA (2007)Google Scholar
  10. 10.
    Chen, F., Li, S., Chu, W.C.C.: Feature analysis for service-oriented reengineering. In: APSEC ’05: Proceedings of the 12th Asia-Pacific Software Engineering Conference, pp. 201–208. IEEE Computer Society (2005)Google Scholar
  11. 11.
    Chen, L., Ali Babar, M., Ali, N.: Variability management in software product lines: a systematic review. In: Proceedings of the 13th International Software Product Line Conference, pp. 81–90. CMU (2009)Google Scholar
  12. 12.
    Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Reading (2001)Google Scholar
  13. 13.
    Cohen, S.G., Krut, R.: Managing variation in services in a software product line context. Technical Report SEI-2010-TN-007, CMU (2010)Google Scholar
  14. 14.
    Cohen, S.G.S., Krut, R.W.: Proceedings of the 1st workshop on service-oriented architectures and product lines: what is the connection? Technical Report CMU/SEI-2008-SR-006 (2008)Google Scholar
  15. 15.
    Czarnecki, K.: Mapping features to models: a template approach based on superimposed variants. In: GPCE 2005, pp. 422–437. Springer (2005)Google Scholar
  16. 16.
    Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley Professional, Reading (2000)Google Scholar
  17. 17.
    Czarnecki, K., Helsen, S., Eisenecker, U.: Formalizing cardinality-based feature models and their specialization. Softw. Process: Improve. Pract. 10(1), 7–29 (2005)CrossRefGoogle Scholar
  18. 18.
    Czarnecki, K., Helsen, S., Eisenecker, U.W.: Staged configuration through specialization and multilevel configuration of feature models. Softw. Process: Improve. Pract. 10(2), 143–169 (2005)CrossRefGoogle Scholar
  19. 19.
    Eriksson, M., Börstler, J., Borg, K.: The PLUSS approach—domain modeling with features, use cases and use case realizations, pp. 33–44. SPLC (2005)Google Scholar
  20. 20.
    Erl, T.: Service-Oriented Architecture: Concepts, Technology, and Design. Prentice Hall PTR, Upper Saddle River (2005)Google Scholar
  21. 21.
    Fantinato, M., de Toledo, M.B.F., de Souza Gimenes, I.M.: Ws-contract establishment with QoS: an approach based on feature modeling. Int. J. Cooperative Inf. Syst. 17(3), 373–407 (2008)Google Scholar
  22. 22.
    Frakes, W.B., Kang, K.: Software reuse research: status and future. IEEE Trans. Softw. Eng. 31, 529–536 (2005)CrossRefGoogle Scholar
  23. 23.
    Galster, M.: Describing variability in service-oriented software product lines. In: Proceedings of the Fourth European Conference on Software Architecture: Companion Volume, pp. 344–350 (2010)Google Scholar
  24. 24.
    Gomaa, H.: Advances in software design methods for concurrent, real-time and distributed applications. In: Software Engineering Advances, 2008. ICSEA’08. The 3rd International Conference on, pp. 451–456. IEEE (2008)Google Scholar
  25. 25.
    Griss, M.L., Favaro, J., Alessandro, M.d.: Integrating feature modeling with the RSEB. In: Proceedings of the 5th International Conference on Software Reuse, ICSR ’98, p. 76. IEEE Computer Society, Washington, DC, USA (1998)Google Scholar
  26. 26.
    Helferich, A., Herzwurm, G., Jesse, S., Mikusz, M.: Software product lines, service-oriented architecture and frameworks: worlds apart or ideal partners? In: Trends in Enterprise Application Architecture, pp. 187–201. IEEE Computer Society (2007)Google Scholar
  27. 27.
    van der Hoek, A.: Design-time product line architectures for any-time variability. Sci. Comput. Program. 53(3), 285–304 (2004)CrossRefGoogle Scholar
  28. 28.
    Huhns, M., Singh, M.: Service-oriented computing: key concepts and principles. IEEE Internet Comput. 9(1), 75–81 (2005)CrossRefGoogle Scholar
  29. 29.
    Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, A.: Feature-oriented domain analysis (FODA) feasibility study (1990)Google Scholar
  30. 30.
    Kang, K., Kim, S., Lee, J., Kim, K., Shin, E., Huh, M.: FORM: a feature-oriented reuse method with domain-specific reference architectures. Ann. Softw. Eng. 5, 143–168 (1998)CrossRefGoogle Scholar
  31. 31.
    Kästner, C., Apel, S., Kuhlemann, M.: Granularity in software product lines. In: Proceedings of the 30th International Conference on Software Engineering, pp. 311–320. ACM (2008)Google Scholar
  32. 32.
    Koning, M., Sun, C., Sinnema, M., Avgeriou, P.: VxBPEL: supporting variability for Web services in BPEL. Inf. Softw. Technol. 51(2), 258–269 (2009)CrossRefGoogle Scholar
  33. 33.
    Kozaczynski, W., Booch, G.: Component-based software engineering. IEEE Softw. 15(5), 34–36 (1998)CrossRefGoogle Scholar
  34. 34.
    Krafzig, D., Banke, K., Slama, D.: Enterprise SOA: Service-Oriented Architecture Best Practices. Prentice Hall PTR, Englewood Cliffs (2005)Google Scholar
  35. 35.
    Krut, R.W., Cohen, S.G.: 2nd Workshop on Service-Oriented Architectures and Software Product Lines: Putting Both Together, pp. 115–147. CMU (2009)Google Scholar
  36. 36.
    Krut, R.W., Cohen, S.G.: 3rd Workshop on Service-Oriented Architectures and Software Product Lines: Enhancing Variation, pp. 301–302. CMU (2009)Google Scholar
  37. 37.
    Lee, J., Kotonya, G.: Combining service-orientation with product line engineering. IEEE Softw. 27, 35–41 (2010)CrossRefGoogle Scholar
  38. 38.
    Lee, J., Muthig, D., Naab, M.: A feature-oriented approach for developing reusable product line assets of service-based systems. J. Syst. Softw. 83(7), 1123–1136 (2010)CrossRefGoogle Scholar
  39. 39.
    McGregor, J., Muthig, D., Yoshimura, K., Jensen, P.: Guest editors’ introduction: successful software product line practices. IEEE Softw. 27(3), 16–21 (2010)CrossRefGoogle Scholar
  40. 40.
    Mohabbati, B., Gašević, D., Hatala, M., Asadi, M., Bagheri, E., Bošković, M.: A quality aggregation model for service-oriented software product lines based on variability and composition patterns. In: ICSOC, pp. 436–451 (2011)Google Scholar
  41. 41.
    Mohabbati, B., Hatala, M., Gašević, D., Asadi, M., Bošković, M.: Development and configuration of service-oriented systems families. SAC ’11, pp. 1606–1613, NY, USA (2011)Google Scholar
  42. 42.
    Nguyen, T., Colman, A.: A feature-oriented approach for Web service customization. In: 2010 IEEE International Conference on Web Services, pp. 393–400. IEEE (2010)Google Scholar
  43. 43.
    Nguyen, T., Colman, A., Han, J.: Modeling and managing variability in process-based service compositions. In: Proceedings of the 9th International Conference on Service-Oriented Computing, ICSOC’11, pp. 404–420. Springer, Berlin (2011)Google Scholar
  44. 44.
    Northrop, L.: Sei’s software product line tenets. IEEE Softw. 19(4), 32–40 (2002)CrossRefGoogle Scholar
  45. 45.
    van Ommering, R.: Building product populations with software components. In: ICSE ’02, pp. 255–265. ACM (2002)Google Scholar
  46. 46.
    Papazoglou, M., Traverso, P., Dustdar, S., Leymann, F.: Service-oriented computing: a research roadmap. Int. J. Cooperative Inf. Syst. 17(2), 223–255 (2008)CrossRefGoogle Scholar
  47. 47.
    Papazoglou, M., Van Den Heuvel, W.: Service-oriented design and development methodology. Int. J. Web Eng. Technol. 2(4), 412–442 (2006)CrossRefGoogle Scholar
  48. 48.
    Papazoglou, M.P.: Service-oriented computing: concepts, characteristics and directions. Web Information Systems Engineering, International Conference on, vol. 0, p. 3 (2003)Google Scholar
  49. 49.
    Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, New York (2005)Google Scholar
  50. 50.
    Sinnema, M., Deelstra, S., Nijhuis, J., Bosch, J.: COVAMOF: A framework for modeling variability in software product families. SPLC’04 pp. 25–27 (2004)Google Scholar
  51. 51.
    Sochos, P., Riebisch, M.: Feature-oriented development of software product lines: mapping feature models to the architecture. In: Object-Oriented and Internet-Based Technologies, pp. 138–152. Springer (2004)Google Scholar
  52. 52.
    Sommerville, I., Sawyer, P.: Requirements Engineering. Wiley, London (1997)Google Scholar
  53. 53.
    Street, J., Gomaa, H.: Software architectural reuse issues in service-oriented architectures. In: HICSS, p. 316. IEEE Computer Society (2008)Google Scholar
  54. 54.
    Svahnberg, M., Van Gurp, J., Bosch, J.: A taxonomy of variability realization techniques. Softw.: Pract. Exp. 35(8), 705–754 (2005)Google Scholar
  55. 55.
    Thiel, S., Hein, A.: Systematic integration of variability into product line architecture design. Software Product Lines, pp. 67–102 (2002)Google Scholar
  56. 56.
    Tsai, W., Jin, Z., Wang, P., Wu, B.: Requirement engineering in service-oriented system engineering. In: e-Business Engineering, 2007. ICEBE 2007. IEEE International Conference on, pp. 661–668. IEEE (2007)Google Scholar
  57. 57.
    Van Gurp, J., Bosch, J., Svahnberg, M.: On the notion of variability in software product lines. In: Proceedings of the Working IEEE/IFIP Conference on Software Architecture, p. 45 (2001)Google Scholar
  58. 58.
    Webber, D.L., Gomaa, H.: Modeling variability in software product lines with the variation point model. Sci. Comput. Program. 53(3), 305–331 (2004)MathSciNetCrossRefMATHGoogle Scholar
  59. 59.
    Ye, E., Moon, M., Kim, Y., Yeom, K.: An approach to designing service-oriented product-line architecture for business process families. In: Advanced Communication Technology, The 9th International Conference on, vol. 2, pp. 1002, 999 (2007)Google Scholar

Copyright information

© Springer Science+Business Media New York 2014

Authors and Affiliations

  • Bardia Mohabbati
    • 1
  • Mohsen Asadi
    • 1
  • Dragan Gašević
    • 1
    • 2
  • Jaejoon Lee
    • 3
  1. 1.Simon Fraser UniversityBurnabyCanada
  2. 2.Athabasca UniversityBurnabyCanada
  3. 3.Lancaster UniversityLancasterUK

Personalised recommendations