BIRLA INSTITUTE OF TECHNOLOGY & SCIENCE, PILANI
WORK-INTEGRATED LEARNING PROGRAMMES DIVISION
BITS-WIPRO Collaborative Program
M Tech Computing Systems and Infrastructure
Second Semester 2019-2020
COURSE HANDOUT
Part A
Course Title Middleware Technologies
Course No(s) CSIW ZG524
Credit Units
Course Author
Course Description
Evolution of Middleware Technologies: Transaction Processing, Remote Procedure Calls, Message-
Oriented-Middleware, Object Request Brokers, Web services and REST; Forms of Middleware:
Enterprise Middleware, Web Middleware, and Cloud / Services Middleware; Middleware Elements:
communication protocols, middleware protocols, data representation, server process control, naming
and directory services, security, system management; Select case studies such as MS .NET, J2EE.
Service Oriented Architecture: Loosely Coupled Systems, Business processes, Tiers, Architectural
Choices; Resiliency in Middleware: resiliency techniques, hardware failures, communication
failures, software failures; Performance and scalability in Middleware; Security in Middleware;
Implementation Aspects: business process implementation, enterprise integration, web and database
middleware (e.g. NoSQL middleware) change management. Case studies of Enterprise application
architecture (EAI) - Eg. Tibco, Websphere
Course Objectives
No Objectives
CO1 Describe the architecture and applications of CORBA and its elements such as IDLs, naming
service, and demonstrate how to deploy an application on Application server such as JBoss
CO2 Demonstrate understanding of EAI concepts and deploy applications in Application Server such
as Apache Camel / Fuse ESB
CO3 Demonstrate ability to apply 64 design patterns, Message Oriented Middleware and clustering of
the application server (Apache Camel / Fuse ESB)
CO4 Compare different architectures in web based applications such as SOAP and REST, protocols in
Middleware, and demonstrate ability to deploy applications on a Cloud platform (such as AWS)
CO5 Describe the fundamentals of NoSQL Database, its usage along with middleware and
performance tuning of the application and server
Text Book(s)
No Author(s), Title, Edition, Publishing House
T1 INTRODUCTIONTOMIDDLEWARE (Web Services, Object Components,and Cloud
Computing) by Letha Hughes Etzkorn
T2 Java RMI (Designing & Building Distributed Applications) by William Grosso
Reference Book(s) & other resources
No Author(s), Title, Edition, Publishing House
R1 Enterprise Integration Patterns by Bobby Woolf
R2 MongoDB in Action
Content Structure
No Title of the Module References
M1 Introduction and Evolution T1, T2
Transaction Processing
Remote Procedure Calls (Marshalling, Stubs) (4Hrs.)
Messaging Middleware (Request Brokers)
CORBA as a standard
Remote Methods (Java RMI)
M2 Enterprise Middleware T1, R1
EAI,Enterprise Bus (e.g. TIBCO)and Publish-Subscribe Models
Real-time requirements (2Hrs.).
Security aspects
Business Processes and Middleware Implementations
M3 Middleware Design and Patterns T1, R1
Objects and Services vs. Messages and Requests
Lookup and Discovery – Registry and Broker Patterns (10Hrs.)
Message Formats and Protocols
Service Mediation
Failure and Resiliency – Availability, Recovery
Performance and Security
M4 Middleware for Web-based Application and Cloud-based Applications T1
Tiered Architectures and
Loosely Coupled Systems - Services (WS, REST, SOA), Services (10Hrs.)
Middleware
Deployment of applications on the cloud – middleware
configurations
Cloud Middleware and usage (Load Balancers, Provisioning
middleware, Hybrid Cloud Infrastructure, Multi-cloud
Infrastructure).
M5 Specialized Middleware T1
Peer-to-Peer systems and Middleware (Overlays, SuperPeers)
Performance Middleware (Caching, Content Distribution) (4Hrs.)
Middleware for NoSQL databases
Learning Outcomes:
No Learning Outcomes
LO1 Demonstrate understanding on CORBA and EJB’s, and ability to deploy applications in Java
servers
L02 Describe relevant integration concepts for middleware, integration patterns and usage, and
demonstrate ability to deploy applications in middleware servers
LO4 Describe the various architecture styles and usages, deploy applications and enable integration
between different systems by the application of the right protocol / communication between them
LO5 Describe the usage of NoSQL database in middleware, performance tuning and sizing of the
application server based on Load (Java)
Part B: Contact Session Plan
Academic Term II SEMESTER 2019 - 20
Course Title CSIW ZG524
Course No Middleware Technologies
Course Contents
Contact Session 1
M1: Introduction and Evolution
Time Type Description Text/Ref Book/external
resource
Pre CS RL1.1 Introduction to Transactions
RL1.1 Sockets overview
RL1.1 Early middleware technologies T1 – Chapter 1,8
During CS CS 1 Cover the topics in detail
Contact Session 2
M1: Introduction and Evolution
Time Type Description Text/Ref Book/external
resource
Pre CS RL1.2 Cobra basics
RL1.2 IDL
RL1.2 IDL Addressing Naming T1 – Chapter 1,8
During CS CS 2 All the remaining topics of module 1
Contact Session 3
M2: Enterprise Middleware
Time Type Description Text/Ref Book/external
resource
Pre CS RL 2.1 Introduction to EAI-Message Channels
R1- Chapter 4
RL 2.1 Middleware Security
T1- Chapter 5
During CS CS 3 All remaining topics of module 2
Contact Session 4,5
M3: Middleware Design and Patterns
Time Type Description Text/Ref Book/external
resource
Pre CS RL 3.1 Integration styles R1 – All Chapters, Apache
Camel
RL 3.1 Messaging Systems
(http://camel.apache.org),
RL 3.1 Message Construction T1- Chapter 9, Apache
JMeter
RL 3.1 Message routing
(https://jmeter.apache.org)
During CS CS 4,5 All the remaining topics of module 3
MID EXAMINATION
Contact Session 7,8
M4: Middleware for Web-based Application and Cloud-based Applications
Time Type Description Text/Ref Book/external
resource
Pre CH RL 4.1 Intro-Middleware-Web
T1 – Chapter 9, 10, 11
RL 4.1 Non-REST-WebServices
T1- Chapter 13, 14
RL 4.1 REST-WebServices
RL 4.1 CloudMiddleware-AWS https://aws.amazon.com/
RL 4.1 Hybrid-Multi-Cloud https://github.com/aws-
samples
During CH 7, 8 All the remaining topics from module 4
Contact Session 9
M5: Specialized Middleware
Time Type Description Text/Ref Book/external
resource
Pre CH RL 5.1 No SQL
RL 5.1 Caching
During CH CS 9 All the remaining topics from module 5
Contact Session 10: Review
Lab Details
Title Access URL
Lab Setup Instructions
Lab Capsules
Additional References
Select Topics and Case Studies from business for experiential learning
Topic No. Select Topics in Syllabus for experiential learning Access URL
M1 Echo Example using Java T1 – Chapter 8,
CORBA Exercises Section 8.2.9 and
8.9.10
T1 – Chapter 8 –
CORBA Exercises
M3 Examples on Middleware (Apache Camel) https://github.com/
apache/camel/tree/
master/examples
M3 Examples on Message Routing (Apache Camel) https://github.com/
POJO Routing apache/camel/tree/
master/examples
Spring Boot POJO
M3 Load Balancing Example using TCP / IP (Tomcat / Mina server) https://github.com/
apache/camel/tree/
master/examples
M3 Spring Security Example https://github.com/
apache/camel/tree/
Web Services Security Examples
master/examples
M4 SOAP Services Samples Execution https://github.com/
apache/camel/tree/
master/examples
M4 Rest Services Samples Execution https://github.com/
apache/camel/tree/
master/examples
M4 Application Samples on AWS environment https://github.com/
apache/camel/tree/
LAMBDA Samples
master/examples
Example showing AWS-S3
https://github.com/
aws-samples
M5 Example showing Camel using DataBase (NoSQL https://github.com/
apache/camel/tree/
Example showing Camel using JDBC
master/examples