"A stereotype of computer science textbooks is that they are dry, boring, and sometimes even intimidating. As a result, they turn students’ interests off from the subject matter instead of enticing them into it. This textbook is the opposite of such a stereotype. The author presents the subject matter in a refreshing story-telling style and aims to bring the Internet-generation of students closer to her stories." 

--Yingcai Xiao, The University of Akron

Introduction to Middleware: Web Services, Object Components, and Cloud Computing provides a comparison of different middleware technologies and the overarching middleware concepts they are based on. The various major paradigms of middleware are introduced and their pros and cons are discussed. This includes modern cloud interfaces, including the utility of Service Oriented Architectures. The text discusses pros and cons of RESTful vs. non-RESTful web services, and also compares these to older but still heavily used distributed object/component middleware. The text guides readers to select an appropriate middleware technology to use for any given task, and to learn new middleware technologies as they appear over time without being greatly overwhelmed by any new concept.

The book begins with an introduction to different distributed computing paradigms, and a review of the different kinds of architectures, architectural styles/patterns, and properties that various researchers have used in the past to examine distributed applications and determine the quality of distributed applications. Then it includes appropriate background material in networking and the web, security, and encoding necessary to understand detailed discussion in this area. The major middleware paradigms are compared, and a comparison methodology is developed. Readers will learn how to select a paradigm and technology for a particular task, after reading this text.

Detailed middleware technology review sections allow students or industry practitioners working to expand their knowledge to achieve practical skills based on real projects so as to become well-functional in that technology in industry. Major technologies examined include: RESTful web services (RESTful cloud interfaces such as OpenStack, AWS EC2 interface, CloudStack; AJAX, JAX-RS, ASP.NET MVC and ASP.NET Core), non-RESTful (SOAP and WSDL-based) web services (JAX-WS, Windows Communication Foundation), distributed objects/ components (Enterprise Java Beans, .NET Remoting, CORBA).

The book presents two projects that can be used to illustrate the practical use of middleware, and provides implementations of these projects over different technologies.

This versatile and class-tested textbook is suitable (depending on chapters selected) for undergraduate or first-year graduate courses on client server architectures, middleware, and cloud computing, web services, and web programming.

section I|52 pages

The Different Paradigms

chapter 1|28 pages


section II|88 pages

Enabling Technologies for Middleware

chapter 3|16 pages

Introduction to Internet Technologies

chapter 5|10 pages

Security Basics

chapter 6|6 pages

Microsoft Technologies Basics

chapter 7|20 pages

Cloud Technologies Basics

section III|144 pages

Middleware Using Distributed Object-Oriented Components

chapter 8|142 pages

Distributed Object-Oriented Components

section IV|236 pages

Middleware Using Web Services

chapter 9|14 pages

Web Services Architectures

chapter 10|62 pages

Non-RESTful Web Services

chapter 11|76 pages

RESTful Web Services

chapter 12|82 pages

RESTful Web Services in .NET

section V|94 pages

Middleware for the Cloud

section VI|14 pages

Message-Oriented Middleware

chapter 15|12 pages

Introduction to Message-Oriented Middleware

section VII|26 pages

Comparison of Middlewares

chapter 16|24 pages

Introduction to Comparing Middlewares