"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.
Table of Contents
SECTION I The Different Paradigms
Chapter 1 Introduction
Chapter 2 Software Architectural Styles/Patterns for Middleware
SECTION II Enabling Technologies for Middleware
Chapter 3 Introduction to Internet Technologies
Chapter 4 Introduction to World Wide Web Technologies
Chapter 5 Security Basics
Chapter 6 Microsoft Technologies Basics
Chapter 7 Cloud Technologies Basics
SECTION III Middleware Using Distributed Object-Oriented Components
Chapter 8 Distributed Object-Oriented Components
SECTION IV Middleware Using Web Services
Chapter 9 Web Services Architectures
Chapter 10 Non-RESTful Web Services
Chapter 11 RESTful Web Services
SECTION V Middleware for the Cloud
Chapter 13 Introduction to the Cloud and Introduction to the OpenStack Cloud
Chapter 14 Introduction to Amazon Web Services and Introduction to the CloudStack Cloud
SECTION VI Message-Oriented Middleware
Chapter 15 Introduction to Message-Oriented Middleware
SECTION VII Comparison of Middlewares
Chapter 16 Introduction to Comparing Middlewares