Survey on Concern Separation in Service Integration

  • Tomas Cerny
  • Michael J. Donahoo
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9587)


Ever-changing business processes in large software systems, integration of heterogeneous data sources as well as the desire for legacy service integration drive software design towards reusable, platform-independent, web-accessible microservices. Such independently deployable services provide an interface for retrieval and data manipulation in machine-readable formats. While this approach brings many advantages from the perspective of service integration aiming to separate data manipulation from business processing, the standard approaches provide only limited structural semantics and constraints provided through the interface. This leads to considerable information restatement and repeated decisions in integrating components, which considerably impacts development and maintenance efforts. Integration component operability becomes highly sensitive to interaction with underlying services, which are possibly composed of other services. The sensitivity is especially apparent in the structural semantics of produced and consumed information that must correlate on both sides of the interaction. This paper surveys service integration from the perspective of separation of concerns. In order to reduce the coupling and information restatement on the integration component side, it suggests introducing multiple communication channels with additional information that apply in the service interaction, extending the integration component’s ability to derive service expected information structural semantics, constraints or business rules. Finally, we consider the impact of this new approach from the development and maintenance perspectives.


Web services Service integration Aspect-Oriented programming 



This work was supported by the Grant Agency of the Czech Technical University in Prague, grant No. SGS14/198/OHK3/3T/13.


  1. 1.
    Buelow, H., Deb, M., Kasi, J., LHer, D., Palvankar, P.: Getting Started with Oracle SOA Suite 11G R1 a Hands-On Tutorial. Packt Publishing, Birmingham (2009)Google Scholar
  2. 2.
    Cemus, K., Cerny, T.: Aspect-driven design of information systems. In: Geffert, V., Preneel, B., Rovan, B., Štuller, J., Tjoa, A.M. (eds.) SOFSEM 2014. LNCS, vol. 8327, pp. 174–186. Springer, heidelberg (2014) CrossRefGoogle Scholar
  3. 3.
    Cemus, K., Cerny, T., Donahoo, M.J.: Automated business rules transformation into a persistence layer. Procedia Comput. Sci. J. 62, 312–318. Elsevier (2015)Google Scholar
  4. 4.
    Cerny, T., Cemus, K., Donahoo, M.J., Song, E.: Aspect-driven, data-reflective and context-aware user interfaces design. In: Applied Computing Review, vol. 13, no. 4, pp. 53–65. ACM (2013)Google Scholar
  5. 5.
    Cerny, T., Donahoo, M.J.: On separation of platform-independent particles in user interfaces. Cluster Comput. 18(3), 1215–1228. Springer, USA (2015).
  6. 6.
    Cerny, T., Macik, M., Donahoo, J., Janousek, J.: On distributed concern delivery in user interface design. Comput. Sci. Inf. Syst. 12(2), 655–681. ComSIS Consortium (2015)Google Scholar
  7. 7.
    Chiba, S.: Proceedings of the ACM OOPSLA 1998 workshop on reflective programming in C++ and java. In: Javassist - A Reflection-Based Programming Wizard for Java (1998).
  8. 8.
    Czarnecki, K., Eisenecker, U.W.: Generative Programming: Methods, Tools, and Applications. ACM Press/Addison-Wesley Publishing Co., New York (2000) Google Scholar
  9. 9.
    DeMichiel, L., Shannon, B.: JSR 342: Java\(^{TM}\) Platform, Enterprise Edn. 7 Spec (2013).
  10. 10.
    Fowler, M.: Patterns of Enterprise Application Architecture. Addison-Wesley Longman Publishing Co. Inc., Boston (2002) Google Scholar
  11. 11.
    Kennard, R., Leaney, J.: Towards a general purpose architecture for UI generation. J. Syst. Softw. 83(10), 1896–1906 (2010). CrossRefGoogle Scholar
  12. 12.
    Kiczales, G., Irwin, J., Lamping, J., Loingtier, J.-M., Lopes, C.V., Maeda, C., Mendhekar, A.: Aspect-oriented programming. In: Akşit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241. Springer, Heidelberg (1997) Google Scholar
  13. 13.
    Lewis, J., Fowler, M.: Microservices (2014).
  14. 14.
    Macik, M., Cerny, T., Slavik, P.: Context-sensitive, cross-platform user interface generation. J. Multimodal User Interfaces, 8(2), 217–229. Springer, Heidelberg (2014).
  15. 15.
    Mernik, M., Heering, J., Sloane, A.M.: When and how to develop domain-specific languages. ACM Comput. Surv. 37(4), 316–344. ACM, New York (2005).
  16. 16.
    Proctor, M.: Drools: a rule engine for complex event processing. In: Schürr, A., Varró, D., Varró, G. (eds.) AGTIVE 2011. LNCS, vol. 7233, pp. 2–2. Springer, Heidelberg (2012). CrossRefGoogle Scholar
  17. 17.
    Voelter, M., Kolb, B., Warmer, J.: Projecting a modular future. IEEE Softw. 99, 1. IEEE Computer Society, Los Alamitos, CA, USA (2014)Google Scholar
  18. 18.
    Wu, J., Huang, L., Wang, D.: ASM-based model of dynamic service update in OSGi. SIGSOFT Softw. Eng. Notes 33(2), 8:1–8:8. ACM, New York (2008).

Copyright information

© Springer-Verlag Berlin Heidelberg 2016

Authors and Affiliations

  1. 1.Department of Computer ScienceCzech Technical UniversityPragueCzech Republic
  2. 2.Department of Computer ScienceBaylor UniversityWacoUSA

Personalised recommendations