Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Based on experience, while technically consulting with software architects of Czech banks.
- 2.
The highest number of simultaneously running service copied versions was reported\(^3\) 22.
- 3.
Java Architecture for XML Binding, Java API for {RESTful/XML} Web Services.
References
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)
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)
Cemus, K., Cerny, T., Donahoo, M.J.: Automated business rules transformation into a persistence layer. Procedia Comput. Sci. J. 62, 312–318. Elsevier (2015)
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)
Cerny, T., Donahoo, M.J.: On separation of platform-independent particles in user interfaces. Cluster Comput. 18(3), 1215–1228. Springer, USA (2015). http://dx.doi.org/10.1007/s10586-015-0471-7
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)
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). http://www.csg.is.titech.ac.jp/~chiba/oopsla98/proc/chiba.pdf
Czarnecki, K., Eisenecker, U.W.: Generative Programming: Methods, Tools, and Applications. ACM Press/Addison-Wesley Publishing Co., New York (2000)
DeMichiel, L., Shannon, B.: JSR 342: Java\(^{TM}\) Platform, Enterprise Edn. 7 Spec (2013). https://jcp.org/en/jsr/detail?id=342
Fowler, M.: Patterns of Enterprise Application Architecture. Addison-Wesley Longman Publishing Co. Inc., Boston (2002)
Kennard, R., Leaney, J.: Towards a general purpose architecture for UI generation. J. Syst. Softw. 83(10), 1896–1906 (2010). http://www.sciencedirect.com/science/article/pii/S0164121210001597
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)
Lewis, J., Fowler, M.: Microservices (2014). http://martinfowler.com/articles/microservices.html
Macik, M., Cerny, T., Slavik, P.: Context-sensitive, cross-platform user interface generation. J. Multimodal User Interfaces, 8(2), 217–229. Springer, Heidelberg (2014). http://dx.doi.org/10.1007/s12193-013-0141-0
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). http://doi.acm.org/10.1145/1118890.1118892
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). http://dx.doi.org/10.1007/978-3-642-34176-2_2
Voelter, M., Kolb, B., Warmer, J.: Projecting a modular future. IEEE Softw. 99, 1. IEEE Computer Society, Los Alamitos, CA, USA (2014)
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). http://doi.acm.org/10.1145/1350802.1350815
Acknowledgments
This work was supported by the Grant Agency of the Czech Technical University in Prague, grant No. SGS14/198/OHK3/3T/13.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Cerny, T., Donahoo, M.J. (2016). Survey on Concern Separation in Service Integration. In: Freivalds, R., Engels, G., Catania, B. (eds) SOFSEM 2016: Theory and Practice of Computer Science. SOFSEM 2016. Lecture Notes in Computer Science(), vol 9587. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-49192-8_42
Download citation
DOI: https://doi.org/10.1007/978-3-662-49192-8_42
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-49191-1
Online ISBN: 978-3-662-49192-8
eBook Packages: Computer ScienceComputer Science (R0)