0% found this document useful (0 votes)
28 views8 pages

Csi Zg524 Course Handout Revised

The document is a course handout for 'Middleware Technologies' at Birla Institute of Technology & Science, Pilani, detailing course content, objectives, and evaluation methods. It covers various middleware technologies, architectures, and their applications, with a focus on practical deployment using tools like Apache Camel and cloud platforms. The course includes a structured contact session plan and evaluation scheme to assess student understanding and application of the material.

Uploaded by

Purva Deshpande
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views8 pages

Csi Zg524 Course Handout Revised

The document is a course handout for 'Middleware Technologies' at Birla Institute of Technology & Science, Pilani, detailing course content, objectives, and evaluation methods. It covers various middleware technologies, architectures, and their applications, with a focus on practical deployment using tools like Apache Camel and cloud platforms. The course includes a structured contact session plan and evaluation scheme to assess student understanding and application of the material.

Uploaded by

Purva Deshpande
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

BIRLA INSTITUTE OF TECHNOLOGY & SCIENCE, PILANI

WORK INTEGRATED LEARNING PROGRAMMES


COURSE HANDOUT

Part A: Content Design


Course Title Middleware Technologies
Course No(s) CSI ZG524/SE ZG589/SS ZG589
Credit Units 4
Course Author Mr Ravi Kiran Mallidi, Prof. Shan Balasubramaniam
Version No 1.0
Date Jun 25, 2018

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 First Semester 2024-2025

Course Title Middleware Technologies

Course No CSI ZG524/SE ZG589/SS ZG589

Lead Instructor PAWAN GUPTA

Course Contents

Contact List of Topic Title Text/Ref


Hours(#) (from content structure in Course Handout) Book/external
resource
1, 2 M1: Introduction and Evolution T1 – Chapter 1
 Introduction to Transactions
 Socket Data Structures
 Synchronous and Asynchronous Operations
 Distributed Object-Oriented Components
 Introduction to RPC
 Marshalling and Stubbing

3, 4 M1: Introduction and Evolution T1 – Chapter 8


 Component Middleware (CM)
 Object-Oriented Middleware (OOM)
 CM Vs OOM
 CORBA Basics
 Interface Description Language (IDL)
 CORBA IDL to Java Binding
 CORBA Addressing
o Interoperable Object Reference
o Interoperable Naming Service
 Sample Echo program
o Server Side
o Client Side
 Packaging the Echo program
 Deploying the Echo program in Application Server

5, 6 M2: Enterprise Middleware R1- Chapter 4

 Introduction to EAI T1- Chapter 5


 Introduction to Message Channels
o Point-to-Point
o Publish-Subscribe Model using JMS
 Introduction to Security
o Symmetric and Asymmetric public key
o Digital Keys and Message Authentication Codes
o SSL
 Enabling SSL for an application (CORBA program)
 Enabling public-private key access (Sample Program
and deployment)
 JMS Server Installation and Basic Configuration
 JMS Sample and Deployment

7, 8 M3: Middleware Design and Patterns R1 – All Chapters

 Integration Styles
 EAI Patterns Overview
o Messaging Systems
o Messaging Channels
o Message Construction
o Message Routing
o Message Transformation
o Messaging End Points

9, 10 M3: Middleware Design and Patterns R1, Apache Camel


(http://camel.apache.or
 Message Formats g)
 Message Protocols
o Introduction to Apache Camel / Fuse ESB
o Apache Camel Supported Protocols
 Installing Apache Camel / Fuse ESB
 Configuring Apache Camel
 Sample Application Creation and Deployment on
Apache Camel

11, 12 M3: Middleware Design and Patterns R1, Apache Camel


(http://camel.apache.or
 Service Mediation g)
 Message Routing
 Examples on Routing and Mediation
 Deploying the Samples on Apache Camel

13, 14 M3: Middleware Design and Patterns R1, Apache Camel


(http://camel.apache.or
 Resiliency g)
o Recovery Option
 Availability
o Load Balancing Capabilities
o Load balancing How to do
 Application Deploying on Load Balancing Environment

15, 16 M3: Middleware Design and Patterns T1- Chapter 9, Apache


Camel
 Performance (http://camel.apache.or
o Performance Testing
g)
o Installing JMeter and Usage
o Configuring JMeter Apache JMeter
o Capturing performance results using JMeter (https://jmeter.apache.
(Web Serices testing)
org)
 Security
o Security Scan
o Security Testing

17, 18 M4: Middleware for Web-based Application and Cloud-based T1 – Chapter 9, 10, 11
Applications

 Middleware Architectures – Recap


 Middleware using Web Services
 SOAP and Restful Services
 SOAP Vs Restful
 SOAP Message protocol
 SOAP Message Formats
 WSDL
 Java API for XML Web Services (JAX-WS)
 SOAP and JAX-WS Sample and deploying in Apache
Camel

19, 20 M4: Middleware for Web-based Application and Cloud-based T1 – Chapter 9, 10, 11
Applications

 Recap of SOAP Services


 Restful Web Services
 Java API for XML Web Services (JAX-RS)
 Samples on JAX-RS and deploying in Apache Camel
 Communication between JAX-RS and JAX-WS
programs using Apache Camel

21, 22 M4: Middleware for Web-based Application and Cloud-based T1 – Chapter 9


Applications

 Service Oriented Architecture (SOA)


 Services Middleware
 SOA Vs ESB
 SOA Principles
 Service Composition
 SOA Maturity Levels
 Examples are service orchestration and Deploying in
Different servers

23, 24 M4: Middleware for Web-based Application and Cloud-based T1- Chapter 13, 14
Applications
https://
 AWS Cloud Basic aws.amazon.com/
 Different Components in AWS Cloud
 Provisioning the Linux / Windows Server https://github.com/
 Installing Apache Camel in AWS Environment aws-samples
 LAMBDA Introduction
 LAMBDA usage in SOA context
 Sample programs on AWS and LAMBDA

25, 26 M4: Middleware for Web-based Application and Cloud-based T1- Chapter 13, 14
Applications
https://github.com/
 Basics on Hybrid Cloud Infrastructure aws-samples
 Multi Cloud Infrastructure
 Application communication between different clouds
 Samples applications (Deployed in two different clouds
and communication channels)
 Load balancer in Cloud Environment

27, 28 M5: Specialized Middleware R2

 RDBMS Vs NoSQL Database


 Installing NoSQL (MongoDB)
 Configuring NoSQL (MongoDB)
 Using NoSQL Data in Apache Camel
 Samples on Data exchange between WS and NoSQL
Database
 Provisioning NoSQL DB in AWS platform

29, 30 M5: Specialized Middleware https://


aws.amazon.com/
 Web Services Caching caching/
 Caching with AWS
 Caching with ElasticCache (AWS)
 Caching Use Case
 Validate usage of Caching to improve performance of
the Application (Sample on Web Services)

31, 32 Revision: Recap on T1- All Chapters

 CORBA
 Web Services (JAX-WS, JAX-RS)
 EAI Patterns
 SOA Vs EAI
 Apache Camel Installation and configuration
 Implementing SSL on Application
 Deploying the Loan Broker Application and usage

# The above contact hours and topics can be adapted for non-specific and specific WILP
programs depending on the requirements and class interests.

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,


(Contact CORBA Exercises Section 8.2.9 and
Hours 3, 4) 8.9.10

T1 – Chapter 8 –
CORBA Exercises

M3 Examples on Middleware (Apache Camel) https://


(Contact github.com/
Hours 9, apache/camel/
10) tree/master/
examples

M3 Examples on Message Routing (Apache Camel) https://


(Contact  POJO Routing github.com/
Hours 11, apache/camel/
12)  Spring Boot POJO tree/master/
examples

M3 Load Balancing Example using TCP / IP (Tomcat / Mina server) https://


(Contact github.com/
Hours 13, apache/camel/
14) tree/master/
examples

M3  Spring Security Example https://


(Contact  Web Services Security Examples github.com/
Hours 15, apache/camel/
16) tree/master/
examples

M4  SOAP Services Samples Execution https://


(Contact github.com/
Hours 17, apache/camel/
18) tree/master/
examples

M4  Rest Services Samples Execution https://


(Contact github.com/
Hours 19, apache/camel/
20) tree/master/
examples

M4  Application Samples on AWS environment https://


(Contact  LAMBDA Samples github.com/
Hours 23, apache/camel/
24, 25, 26)  Example showing AWS-S3 tree/master/
examples

https://
github.com/aws-
samples

M5  Example showing Camel using DataBase (NoSQL https://


(Contact  Example showing Camel using JDBC github.com/
Hours 27, apache/camel/
28, 29, 30) tree/master/
examples

Evaluation Scheme

No Name Type Duration Weight Day, Date, Session, Time


EC1 Quiz-1 20 questions, MCQ 5% September 1-10, 2024

Quiz-2 20 questions, MCQ 10% October 10-20, 2024

Quiz-3 20 questions, MCQ 10%


November 1-10, 2024

EC2 Mid Semester Test CLOSED BOOK 2 Hours 30% Saturday, 21/09/2024 (AN)
EC3 Comprehensive Open Book 2½ Hours 45%
Saturday, 30/11/2024 (AN)
Examination
Note - Evaluation components can be tailored depending on the proposed model.

Important Information

Syllabus for Mid-Semester Test (Closed Book): Topics in Weeks 1-8


Syllabus for Comprehensive Exam (Open Book): All topics given in plan of study
Evaluation Guidelines:
1. EC-1 consists of either two Assignments or three Quizzes. Announcements regarding the
same will be made in a timely manner.
2. For Closed Book tests: No books or reference material of any kind will be permitted.
Laptops/Mobiles of any kind are not allowed. Exchange of any material is not allowed.
3. For Open Book exams: Use of prescribed and reference text books, in original (not
photocopies) is permitted. Class notes/slides as reference material in filed or bound form is
permitted. However, loose sheets of paper will not be allowed. Use of calculators is
permitted in all exams. Laptops/Mobiles of any kind are not allowed. Exchange of any
material is not allowed.
4. If a student is unable to appear for the Regular Test/Exam due to genuine exigencies, the
student should follow the procedure to apply for the Make-Up Test/Exam. The
genuineness of the reason for absence in the Regular Exam shall be assessed prior to
giving permission to appear for the Make-up Exam. Make-Up Test/Exam will be
conducted only at selected exam centres on the dates to be announced later.
It shall be the responsibility of the individual student to be regular in maintaining the self-study
schedule as given in the course handout, attend the lectures, and take all the prescribed evaluation
components such as Assignment/Quiz, Mid-Semester Test and Comprehensive Exam according to
the evaluation scheme provided in the handout.

You might also like