Skip to main content

Middleware

  • Chapter
  • First Online:
Internet Computing

Abstract

In the context of IT applications and especially in large organizations, integration of existing information systems into new IT environments poses many challenges. One of the biggest issue in this regard is dealing with the systems’ heterogenity in terms of used programming languages, operating systems, or even data formats. In order to ensure communication between different information systems, developers must establish common interfaces. This chapter introduces middleware as a type of software which manages and facilitates interactions between applications across computing platforms. Besides a brief definition and overview of middleware, several of its characteristics are described. Furthermore, the differences between the three middleware categories (message-oriented, transaction-oriented and object-oriented middleware) are defined. In addition to these theoretical foundations, some practical implementations are presented.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 64.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 84.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  • ACM (2017) ACM software system award. https://awards.acm.org/software-system/award-winners. Accessed 7 Sept 2019

  • 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. https://tools.ietf.org/html/rfc2768. Accessed 17 Sept 2019

  • Albano M, Ferreira L, Pinho L, Rahman Alkhawaja A (2014) Message-oriented middleware for smart grids. Comput Stand Interfaces 38(C):133–143

    Google Scholar 

  • Alonso G (2018) Transactional middleware. In: Liu L, Ă–zsu MT (eds) Encyclopedia of database systems. Springer, New York, NY, pp 4201–4204

    Chapter  Google Scholar 

  • Alonso G, Casati F, Kuno H, Machiraju V (2004) Web services. In: Alonso G, Casati F, Kuno H, Machiraju V (eds) Web services: concepts, architectures and applications. Data-centric systems and applications, 1st edn. Springer, Berlin

    Google Scholar 

  • Amazon Web Services (2019) Amazon simple queue service. https://aws.amazon.com/sqs/?nc1=h_ls. Accessed 1 Apr 2019

  • Apache Software Foundation (2019) Apache ActiveMQ. http://activemq.apache.org/. Accessed 1 Apr 2019

  • Baker S (1997) CORBA distributed objects: using Orbix, vol 7. Addison-Wesley, New York, NY

    Google Scholar 

  • 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 Sept 2004

    Google Scholar 

  • Belokosztolszki A, Eyers DM, Pietzuch PR, Bacon J, Moody K (2003) Role-based access control for publish/subscribe middleware architectures. Paper presented at the 2nd international workshop on distributed event-based systems, San Diego, CA, 8 June 2003

    Google Scholar 

  • Bernstein PA (1996) Middleware: a model for distributed system services. Commun ACM 39(2):86–98

    Article  MathSciNet  Google Scholar 

  • Bernstein PA, Newcomer E (2009) Principles of transaction processing, 2nd edn. Morgan Kaufmann, San Francisco, CA

    MATH  Google Scholar 

  • Bernstein PA, Goodman N, Hadzilacos V (1995) Concurrency control and recovery in database systems. Addison-Wesley, Boston, MA

    Google Scholar 

  • Birrell AD, Nelson BJ (1984) Implementing remote procedure calls. ACM Trans Comput Syst 2(1):39–59

    Article  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Google Scholar 

  • Cattell R (2011) Scalable SQL and NoSQL data stores. SIGMOD Rec 39(4):12–27

    Article  Google Scholar 

  • Chorafas DN (1998) Functions of transaction processing monitors. In: Chorafas DN (ed) Transaction management: managing complex transactions and sharing distributed databases. Palgrave Macmillan, London, pp 111–131

    Chapter  Google Scholar 

  • Clark M, Fletcher P, Hanson JJ, Irani R, Waterhouse M, Thelin J (2002) Web services business strategies and architectures. Apress, Berkeley, CA

    Google Scholar 

  • Cugola G, Jacobsen H-A (2002) Using publish/subscribe middleware for mobile systems. SIGMOBILE Mob Comput Commun Rev 6(4):25–33

    Article  Google Scholar 

  • Curry E (2005) Message-oriented middleware. In: Mahmoud Q (ed) Middleware for communications. Wiley, Chichester, pp 1–29

    Google Scholar 

  • 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

    Chapter  Google Scholar 

  • 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 17 Sept 2019

  • Eugster PT, Felber PA, Guerraoui R, Kermarrec A-M (2003) The many faces of publish/subscribe. ACM Comput Surv 35(2):114–131

    Article  Google Scholar 

  • Gokhale A (2009) Request broker. In: Liu L, Ă–zsu MT (eds) Encyclopedia of database systems. Springer, Boston, MA, pp 2415–2418

    Google Scholar 

  • Gokhale A, Schmidt DC (1996) The performance of the CORBA dynamic invocation interface and dynamic skeleton interface over high-speed ATM networks. Paper presented at the IEEE global telecommunications conference, London, 18–28 Nov 1996

    Google Scholar 

  • Gokhale A, Schmidt DC (1998) Principles for optimizing CORBA internet inter-ORB protocol performance. Paper presented at the 31st Hawaii international conference on system sciences, Kohala Coast, HI, 9 Jan 1998

    Google Scholar 

  • Goos G, Hartmanis J, Van Leeuwen J (2001) Cooperative environments for distributed systems engineering: the distributed systems environment report. Lecture notes in computer science. Springer, Berlin

    Google Scholar 

  • 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

    Google Scholar 

  • Gray J (1993) Why TP-Lite will dominate the TP market. Paper presented at the 5th international workshop on high performance transaction systems, Asilomar, CA, Sept 1993

    Google Scholar 

  • Gray J, Reuter A (1992) Transaction processing: concepts and techniques. The Morgan Kaufmann series in data management systems, 1st edn. Morgan Kaufmann, San Francisco, CA

    Google Scholar 

  • Haerder T, Reuter A (1983) Principles of transaction-oriented database recovery. ACM Comput Surv 15(4):287–317

    Article  MathSciNet  Google Scholar 

  • Hapner M (2002) JSR-000914 Java message service API. Oracle corporation. https://jcp.org/aboutJava/communityprocess/final/jsr914/index.html. Accessed 1 Apr 2019

  • 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 Oct 2010

    Google Scholar 

  • IBM (2019) IBM WebSphere MQ version 7.5 documentation. https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_7.5.0/com.ibm.mq.helphome.v75.doc/WelcomePagev7r5.htm. Accessed 1 Apr 2019

  • Khosrowpour M (2002) Issues and trends of information technology management in contemporary organizations. IGI Publishing, Seattle, WA

    Google Scholar 

  • Limprecht R (1997) Microsoft transaction server. Paper presented at the IEEE COMPCON, San Jose, CA, 23–26 Feb 1997

    Google Scholar 

  • Maffeis S, Schmidt DC (1997) Constructing reliable distributed communication systems with CORBA. IEEE Commun Mag 35(2):56–60

    Article  Google Scholar 

  • Mahmoud Q (2005) Middleware for communications. Wiley, Chichester

    Google Scholar 

  • Marin J (2003) BEA WebLogic server 7.X unleashed. Sams, Indianapolis, IN

    Google Scholar 

  • Micro Focus International plc (2019a) Orbacus 4.3.2 documentation. https://www.microfocus.com/de-de/documentation/orbacus/orbacus432/. Accessed 1 Apr 2019

  • Micro Focus International plc (2019b) VisiBroker. https://www.microfocus.com/de-de/products/corba/visibroker/. Accessed 1 Apr 2019

  • Microsoft (2016) Message queuing (MSMQ). https://msdn.microsoft.com/en-us/library/ms711472.aspx. Accessed 1 Apr 2019

  • Microsoft (2017) What is windows communication foundation. https://docs.microsoft.com/de-de/dotnet/framework/wcf/whats-wcf. Accessed 1 Apr 2019

  • Microsoft (2018) The component object model. https://docs.microsoft.com/en-us/windows/desktop/com/the-component-object-model. Accessed 1 Apr 2019

  • Muppidi S, Krawetz N, Beedubail G, Marti W, Pooch U (1996) Distributed computing environment (DCE) porting tool. In: Schill A, Mittasch C, Spaniol O, Popien C (eds) Distributed platforms. Springer, Boston, MA, pp 115–129

    Chapter  Google Scholar 

  • Naur P, Randell B (1986) Report on NATO software engineering conference. http://homepages.cs.ncl.ac.uk/brian.randell/NATO/nato1968.PDF. Accessed 17 Sept 2019

  • Nelson BJ (1981) Remote procedure call. Carnegie-Mellon University, Pittsburgh, PA, May 1981

    Google Scholar 

  • OASIS (2019) Advanced message queuing protocol. https://www.amqp.org/about/what. Accessed 1 Apr 2019

  • Object Computing I (2019) The ACE ORB (TAO). https://objectcomputing.com/products/tao. Accessed 17 Sept 2019

  • Object Management Group Inc. (2012) About the common object request broker architecture specification version 3.3. https://www.omg.org/spec/CORBA/About-CORBA/. Accessed 1 Apr 2019

  • Object Management Group Inc. (2019) DDS standard for the IoT. https://www.omgwiki.org/dds/. Accessed 1 Apr 2019

  • Oracle (2019a) Oracle RDBMS. https://www.oracle.com/technetwork/database/windows/index-088762.html. Accessed 1 Apr 2019

  • Oracle (2019b) Remote method invocation home. https://www.oracle.com/technetwork/java/javase/tech/index-jsp-136424.html. Accessed 1 Apr 2019

  • Pivotal Software (2019) RabbitMQ. https://www.rabbitmq.com/. Accessed 1 Apr 2019

  • Pyarali I, Schmidt DC (1998) An overview of the CORBA portable object adapter. StandardView 6(1):30–43

    Article  Google Scholar 

  • Ray C (2009) Distributed database systems. Pearson, Dorling Kindersley, Delhi

    Google Scholar 

  • Ruh WA, Maginnis FX, Brown WJ (2002) Enterprise application integration: a Wiley tech brief. Wiley, New York, NY

    Google Scholar 

  • Shen H (2010) Content-based publish/subscribe systems. In: Shen X, Yu H, Buford J, Akon M (eds) Handbook of peer-to-peer networking. Springer, Boston, MA, pp 1333–1366

    Chapter  Google Scholar 

  • Siegel J (2000) CORBA 3: fundamentals and programming, 2nd edn. Wiley, New York, NY

    Google Scholar 

  • Umar A (2004) Third generation distributed computing environments. NGE Solutions, Fort Lauderdale, FL

    Google Scholar 

  • Uramoto N, Maruyama H (1999) InfoBus repeater: a secure and distributed publish/subscribe middleware. Paper presented at the ICPP workshops on collaboration and mobile computing, group communications, internet, industrial applications on network computing, Aizu-Wakamatsu, 24 Sept 1999

    Google Scholar 

  • Vinoski S (1993) Distributed object computing with CORBA. C++ Rep 5(6):32–38

    Google Scholar 

  • Vinoski S (1997) CORBA: integrating diverse applications within distributed heterogeneous environments. IEEE Commun Mag 35(2):46–55

    Article  Google Scholar 

  • Wang J, Bigham J, Wu J (2011) Enhance resilience and QoS awareness in message oriented middleware for mission critical applications. Paper presented at the 8th international conference on information technology, Las Vegas, NV, 11–13 Apr 2011

    Google Scholar 

  • White JE (1976) RFC 707 – a high-level framework for network-based resource sharing. https://tools.ietf.org/html/rfc707. Accessed 17 Sept 2019

  • Wirsing M, Nivat M (1996) Algebraic methodology and software technology. In: 5th international conference, AMAST ’96 Munich, 1–5 July, 1996 proceedings. Lecture notes in computer science. Springer, Berlin

    Google Scholar 

Further Reading

  • Alonso G, Casati F, Kuno H, Machiraju V (2004) Web services. In: Alonso G, Casati F, Kuno H, Machiraju V (eds) Web services: concepts, architectures and applications. Data-centric systems and applications, 1st edn. Springer, Berlin

    Google Scholar 

  • Bernstein PA (1996) Middleware: a model for distributed system services. Commun ACM 39(2):86–98

    Article  MathSciNet  Google Scholar 

  • Curry E (2005) Message-oriented middleware. In: Mahmoud Q (ed) Middleware for communications. Wiley, Chichester, pp 1–29

    Google Scholar 

  • Siegel J (2000) CORBA 3: fundamentals and programming, 2nd edn. Wiley, New York, NY

    Google Scholar 

  • Umar A (2004) Third generation distributed computing environments. NGE Solutions, Fort Lauderdale, FL

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Sunyaev, A. (2020). Middleware. In: Internet Computing. Springer, Cham. https://doi.org/10.1007/978-3-030-34957-8_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-34957-8_5

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-34956-1

  • Online ISBN: 978-3-030-34957-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics