Abstract
In the context of IT applications and systems, the integration of information systems into new IT environments poses many challenges. One of the biggest issues in this regard is dealing with systems heterogeneity in terms of used programming languages, operating systems, and data formats. In order to ensure communication between different applications and information systems, developers must establish common interfaces. This chapter introduces middleware and Web services to facilitate applications and systems integration. Besides a brief definition and overview of middleware, the author describes several of its characteristics. Furthermore, the differences between the three middleware categories (message-oriented, transaction-oriented, and object-oriented middleware) are defined. Web services are a very popular approach for facilitating automated intra-organizational and inter-organizational communication. This chapter provides a thorough introduction to the Web service concept and the different associated standards and technologies, such as Simple Object Access Protocol (SOAP), RESTful interfaces, and GraphQL.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
ACM (2017) Acm Software System Award. https://awards.acm.org/software-system/award-winners. Accessed 7 July 2023
Aiken B, Strassner J, Carpenter BE, Foster I, Lynch C, Mambretti J, Moore R, Teitelbaum B (2000) Rfc 2768 - network policy and services: a report of a workshop on middleware. Internet Engineering Task Force (IETF). https://tools.ietf.org/html/rfc2768. Accessed 7 July 2023
Alonso G (2018) Transactional middleware. In: Liu L, Özsu MT (eds) Encyclopedia of database systems. Springer, New York, NY, pp 4201–4204
Alonso G, Casati F, Kuno H, Machiraju V (2004) Web services. Data-centric systems and applications. Springer, Berlin, Heidelberg
Amazon Web Services I (2023) What is Aws marketplace? https://docs.aws.amazon.com/marketplace/latest/userguide/what-is-marketplace.html. Accessed 6 April 2023
Balasubramanian J, Schmidt DC, Dowdy L, Othman O (2004) Evaluating the performance of middleware load balancing strategies. Paper presented at the 8th IEEE international enterprise distributed object computing conference, Monterey, CA, 24 September 2004
Bernstein PA (1996) Middleware: a model for distributed system services. Commun ACM 39(2):86–98
Bernstein PA, Newcomer E (2009) Principles of transaction processing, 2nd edn. Morgan Kaufmann, San Francisco, CA
Bernstein PA, Goodman N, Hadzilacos V (1995) Concurrency control and recovery in database systems. Addison-Wesley, Boston, MA
Birrell AD, Nelson BJ (1984) Implementing remote procedure calls. ACM Trans Comput Syst 2(1):39–59
Bouchenak S, de Palma N (2009) Message queuing systems. In: Liu L, ÖZsu MT (eds) Encyclopedia of database systems. Springer, Boston, MA, pp 1716–1717
Bray T (2017) The JavaScript Object Notation (Json) Data interchange format. https://tools.ietf.org/html/rfc8259. Accessed 7 July 2023
Brito G, Valente MT (2020) Rest vs GraphQL: a controlled experiment. In: Proceedings of the 2020 IEEE international conference on software architecture (ICSA), Salvador, 16–20 March 2020, pp 81–91
Capra L, Emmerich W, Mascolo C (2001) Middleware for mobile computing: awareness vs. transparency. Paper presented at the 8th workshop on hot topics in operating systems, Elmau, 20-22 May 2001
Cattell R (2011) Scalable SQL and NoSQL data stores. SIGMOD Rec 39(4):12–27
Curry E (2005) Message-oriented middleware. In: Mahmoud Q (ed) Middleware for communications. Wiley, Chichester, West Sussex, pp 1–29
Czaja L (2018) Remote procedure call. In: Czaja L (ed) Introduction to distributed computer systems: principles and features. Lecture Notes in Networks and Systems. Springer, Cham, pp 141–155
Emerald P, Yennun C, Yajnik S, Liang D, Shih JC, Wang C-Y, Wang Y-M (1998) DCOM and CORBA side by side, step by step, and layer by layer.. http://course.ece.cmu.edu/~ece749/docs/DCOMvsCORBA.pdf. Accessed 7 July 2023
Fielding RT (2000) Architectural styles and the design of network-based software architectures. Dissertation, University of California, Irvine, CA
Fielding RT, Reschke J (2014) Hypertext transfer protocol (HTTP/1.1): message syntax and routing. https://www.rfc-editor.org/rfc/rfc7230. Accessed 11 June 20204
Georgakopoulos D, Papazoglou MP (2009) Overview of service-oriented computing. In: Georgakopoulos D, Papazoglou MP (eds) Service-oriented computing. The MIT Press, London, pp 1–29
Gokhale A (2009) Request broker. In: Liu L, ÖZsu MT (eds) Encyclopedia of database systems. Springer, Boston, MA, pp 2415–2418
Gray J (1981) The transaction concept: virtues and limitations. In: Gray J (ed) Readings in database systems. Morgan Kaufmann, San Francisco, CA, pp 140–150
Gudgin M, Hadley M, Mendelsohn N, Moreau J-J, Frystyk Nielsen H, Karmarkar A, Lafon Y (2007) Soap version 1.2 part 1: messaging framework (2nd edn).. https://www.w3.org/TR/soap12-part1. Accessed 7 July 2023
Haerder T, Reuter A (1983) Principles of transaction-oriented database recovery. ACM Comput Surv 15(4):287–317
Hapner M (2002) Jsr-000914 java message service Api. Oracle Corporation.. https://jcp.org/aboutJava/communityprocess/final/jsr914/index.html. Accessed 7 July 2023
Huang AS, Olson E, Moore DC (2010) Lcm: lightweight communications and marshalling. Paper presented at the IEEE/RSJ international conference on intelligent robots and systems, Taipei, 18–22 October 2010
Huhns MN, Singh MP (2005) Service-oriented computing: key concepts and principles. IEEE Internet Comput 9(1):75–81
Lawi A, Panggabean BLE, Yoshida T (2021) Evaluating GraphQL and rest Api services performance in a massive and intensive accessible information system. Computers 10(11):138
Lins S, Schneider S, Sunyaev A (2018) Trust is good, control is better: creating secure clouds by continuous auditing. IEEE Trans Cloud Comput 6(3):890–903
Mahmoud Q (2005) Middleware for communications. Wiley, Chichester, West Sussex
Mateusz M, Mariusz D (2020) Comparison of rest and GraphQL web technology performance. J Comput Sci Inst 16(1):309–316
Mohamed K, Wijesekera D (2012) Performance analysis of web services on mobile devices. Proc Comput Sci 10:744–751
Naur P, Randell B (1986) Report on NATO software engineering conference. NATO Science Committee, Brussels
Nelson BJ (1981) Remote procedure call CMU report CS-81-119. XEROX Palo Alto Research Center, Palo Alto, CA
Netflix Inc. (2023) Zuul. https://github.com/Netflix/zuul. Accessed 6 April 2023
NIST (2013) Security and privacy controls for federal information systems and organizations. https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-53r4.pdf. Accessed 8 July 2023
OASIS (2019) Advanced message queuing protocol. https://www.amqp.org/about/what. Accessed 7 July 2023
Object Management Group Inc. (2019) DDS standard for the IoT. https://www.omgwiki.org/dds/. Accessed 7 July 2023
Pang C-L, Lam K-Y On using similarity for resolving conflicts at commit in mixed distributed real-time databases. In: Proceedings of the international conference on real-time computing systems and applications, Hiroshima, October 27–29 1998. IEEE, pp 277–285
Papazoglou MP (2012) Web services and SOA: principles and technology, 2nd edn. Pearson, Harlow
Poduval A, Todd D (2011) Do more with SOA integration: best of Packt. Packt Publishing, Birmingham
Ragab K, Helmy T, Hassanien AE (2010) Developing advanced web services through P2p computing and autonomous agents: trends and innovations. Information Science Reference, Hershey, PA
Richter F (2021) Netflix passes 200 million milestone. Statista. https://www.statista.com/chart/3153/netflix-subscribers/. Accessed 6 April 2023
Ruh WA, Maginnis FX, Brown WJ (2002) Enterprise application integration: a Wiley tech brief. Wiley, New York, NY
Siegel J (2000) CORBA 3: fundamentals and programming, 2nd edn. Wiley, New York, NY
Sturm B, Sunyaev A (2019) Design principles for systematic search systems: a holistic synthesis of a rigorous multi-cycle design science research journey. Bus Inf Syst Eng 61(1):91–111
The GraphQL Foundation (2021) GraphQL specification. https://spec.graphql.org/October2021. Accessed 6 April 2023
The GraphQL Foundation (2023) Introduction to GraphQL: caching. https://graphql.org/learn/caching/. Accessed 6 April 2023
The Open Group (2009) Soa source book. Van Haren Publishing, Zaltbommel
Vadlamani SL, Emdon B, Arts J, Baysal O (2021) Can GraphQL replace rest? A study of their efficiency and viability. In: International workshop on software engineering research and industrial practice (SER&IP), virtual, 4 June 2021, pp 10-17
W3C (2004) Web service architecture. https://www.w3.org/TR/ws-arch/. Accessed 7 July 2023
W3C (2007) Web services description language (WSDL) Version 2.0 part 1: core language. https://www.w3.org/TR/wsdl20/. Accessed 7 July 2023
W3C (2008) extensible Markup Language (Xml) 1.0 (5th edn). https://www.w3.org/TR/xml/. Accessed 7 July 2023
Waldo J, Wyant G, Wollrath A, Kendall S (1994) A note on distributed computing. Sun Microsystems Laboratories, Inc. https://web.cs.wpi.edu/~cs3013/a11/Papers/Waldo_NoteOnDistributedComputing.pdf. Accessed 7 July 2023
Wang Q, Yuan Y, Zhou J, Zhou A (2003) Peer-Serv: a framework of web services in Peer-to-Peer environment. Paper presented at the advances in web-age information management, Chengdu, 17–19 August 2003
White JE (1976) Rfc 707 - a high-level framework for network-based resource sharing. Stanford Research Institute, Menlo Park, CA
Wirsing M, Nivat M (1996) Algebraic methodology and software technology: 5th international conference, AMAST ’96 Munich, July 1–5, 1996 proceedings. Lecture notes in computer science. Springer, Berlin, Heidelberg
Wittern E, Cha A, Davis JC, Baudart G, Mandel L (2019) An empirical study of GraphQL schemas. In: International conference on service-oriented computing (ICSOC) Toulouse, October 28–31, 2019. Springer, pp 3–19
Further Reading
Alonso G, Casati F, Kuno H, Machiraju V (2004) Web services. Data-centric systems and applications. Springer, Berlin, Heidelberg
Bernstein PA (1996) Middleware: a model for distributed system services. Commun ACM 39(2):86–98
Papazoglou MP (2012) Web services & SOA: principles and technology. Pearson, Harlow
Pautasso C, Wilde E, Alarcon R (2014) REST: advanced research topics and practical applications. Springer, New York City, NY
The GraphQL Foundation (2021) “GraphQL Specification”. Retrieved Apr 6, 2023. https://spec.graphql.org/October2021
Umar A (2004) Third generation distributed computing environments. NGE Solutions, Incorporated, Fort Lauderdale, FL
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this chapter
Cite this chapter
Sunyaev, A. (2024). Applications and Systems Integration. In: Internet Computing. Springer, Cham. https://doi.org/10.1007/978-3-031-61014-1_5
Download citation
DOI: https://doi.org/10.1007/978-3-031-61014-1_5
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-61013-4
Online ISBN: 978-3-031-61014-1
eBook Packages: Computer ScienceComputer Science (R0)