Overview: SOA, REST, Web Services
& Virtualization
Foundations, patterns, and platforms for modern distributed systems
Dr. Srividhya G
Module 2 — Comprehensive Study Notes
Agenda
• Service-Oriented Architecture and REST
• Systems of Systems, Web Services, and Publish-Subscribe Model
• Basics and Types of Virtualization
• Virtualization Implementation Levels and Structures
• Virtualization of CPU, Memory, and I/O Devices
• Virtualization Support, Disaster Recovery, and Server Virtualization
1 · Service-Oriented Architecture and REST
Fundamentals of SOA
Service-Oriented Architecture (SOA) is a software architectural style that structures large systems as a
collection of discrete, independent services that communicate over a network using standard interfaces.
Each service represents a specific business function and can be reused across different applications.
Real-Time Examples
Banking System
Authentication Service verifies login → Account Service checks balance → Transaction Service
performs transfer → Notification Service sends SMS/email. Each service works independently but
communicates through standard protocols.
E-Commerce (Amazon)
Catalog Service (search) → Cart Service (add to cart) → Payment Gateway Service → Shipping
Service (track order). Each module is independent and reusable.
SOA, REST, Web Services & Virtualization — Module 2 Page 1
Airline Reservation
Flight Search, Seat Availability, Payment, Ticket Booking, and Notification services are all integrated
independently via SOA.
Core Principles of SOA
Loose Coupling
Services have minimal dependencies on each other — changes in one service don't require changes
in others.
Standardised Service Contracts
Every service is defined by a clear contract specifying inputs, outputs, and protocols.
Service Reusability
Services are designed to be reused across multiple contexts and applications, reducing duplication.
Service Autonomy
Each service controls its own logic and can operate independently.
Service Abstraction
Internal implementation is hidden; consumers interact only through the service's interface.
Service Discoverability
Services are registered in a directory so developers and systems can find and reuse them.
Service Composability
Services can be combined (orchestrated) into larger business processes or workflows.
REST in SOA
REST (Representational State Transfer) is an architectural style used to build web services that
communicate over HTTP. RESTful services are widely used in modern SOA and cloud applications.
Modern SOA often uses REST over SOAP because it is lightweight, faster, easy to implement, and
scalable.
HTTP Methods
• GET – retrieve data
• POST – create data
• PUT – update data
• DELETE – remove data
Key Characteristics of REST
SOA, REST, Web Services & Virtualization — Module 2 Page 2
Stateless
Each request from client to server contains all required information. The server does not store client
session.
Resource-Based
Everything is treated as a resource (data object). Example endpoints: /students, /orders,
/accounts/123
Uses HTTP Protocol
Works over HTTP, making it suitable for web and cloud. Supports multiple data formats: JSON (most
common), XML, HTML.
Banking Example: A mobile banking app uses REST APIs — GET /account/balance (check balance),
POST /transfer (transfer money), GET /transactions (view history).
REST vs SOAP
REST
Lightweight, uses HTTP, stateless, supports JSON/XML, ideal for cloud and web APIs. Faster and
easier to implement.
SOAP
Uses XML messages, strict protocol, high security and reliability. Best for banking transactions and
enterprise applications.
In SOA using REST, the client sends HTTP requests to the REST API layer. The API routes the request to
independent services (User, Order, Payment, Auth). Each service processes the request and interacts
with its own database.
2 · Systems of Systems, Web Services, and
Publish-Subscribe Model
Systems of Systems (SoS) Architecture
A System of Systems (SoS) Architecture is an approach where multiple independent systems interact and
cooperate to achieve a larger and more complex objective. Each individual system operates independently
but contributes to a collective capability when integrated with others.
Key Characteristics of SoS
Operational Independence
Each system can operate independently even if disconnected from the overall system.
Managerial Independence
Each system is developed, managed, and maintained by different organisations or teams.
SOA, REST, Web Services & Virtualization — Module 2 Page 3
Geographical Distribution
Individual systems are usually distributed across different locations and communicate through
networks.
Emergent Behaviour
When systems interact, new capabilities emerge that were not present in the individual systems.
Evolutionary Development
Systems can evolve independently and be upgraded without affecting the entire architecture.
Types of SoS
Directed SoS
A central authority manages overall system operations.
Acknowledged SoS
There is a recognised central authority, but individual systems retain independence.
Collaborative SoS
Systems voluntarily cooperate to achieve common goals with no single controlling authority.
Virtual SoS
No central authority exists; systems interact dynamically.
Applications of SoS Architecture
• Smart Cities – integration of traffic systems, energy grids, and communication networks.
• Air Traffic Management – coordination of radar, airline systems, and weather systems.
• Cloud Computing Platforms – integration of storage, computing, networking, and monitoring.
• Defence Systems – coordination of surveillance, communication, and command systems.
• Disaster Management – police, hospital, and fire department systems sharing information and
coordinating actions.
Advantages of SoS Architecture
• Handles large and complex systems
• Enables scalability and flexibility
• Allows independent system evolution
• Improves resource sharing
• Supports interoperability between systems
Web Services
A Web Service is a software system designed to support communication and data exchange between
different applications over the Internet using standard web protocols. Applications written in different
programming languages and running on different platforms can interact with each other.
SOA, REST, Web Services & Virtualization — Module 2 Page 4
Key Characteristics
Interoperability
Applications written in different programming languages can communicate.
Platform Independence
Works across different operating systems and hardware platforms.
Standard Protocols
Uses standard internet protocols: HTTP, XML, SOAP, REST.
Loose Coupling
The service provider and service consumer are independent.
Reusable Services
Services can be reused by many applications.
How Web Services Work
• Service provider publishes the service to a registry.
• Service consumer discovers the service from the registry.
• Consumer binds and sends a request to the provider.
• Provider processes the request and sends a response.
Types of Web Services
SOAP Web Services
Uses XML messages. Strict protocol with high security and reliability. Used in banking transactions
and enterprise applications.
REST Web Services
Uses HTTP methods (GET, POST, PUT, DELETE). Lightweight and faster. Widely used in cloud
applications (e.g. Google Maps API, social media APIs).
Publish–Subscribe (Pub/Sub) Model
A messaging communication pattern in which publishers send messages to a topic without knowing who
will receive them, and subscribers receive messages from topics they are interested in. Communication is
indirect and loosely coupled through a message broker or event bus.
Key Components
Publisher
The system that creates and sends messages; publishes messages to a topic or channel.
SOA, REST, Web Services & Virtualization — Module 2 Page 5
Subscriber
The system that receives messages; subscribes to specific topics.
Message Broker / Event Bus
Middleware that manages message distribution; delivers messages from publishers to subscribers.
Topic
A category or channel where messages are published.
How It Works
• Publisher sends a message to a specific topic.
• Message broker receives the message.
• Broker identifies subscribers interested in that topic.
• Message is delivered to all subscribed systems.
• Publisher does not know the subscribers, and vice versa.
Real-Time Examples
YouTube Notifications
Channel uploads a video (Publisher) → YouTube system (Broker) → Channel subscribers receive
notification (Subscribers).
Stock Market Updates
Stock exchange publishes price changes; investors' apps receive updates in real time.
Advantages
• Systems remain independent
• Supports large-scale distributed systems
• Easy addition of new subscribers
• Efficient event distribution
3 · Basics and Types of Virtualization
What is Virtualization?
Virtualization is the technology that creates a virtual version of computing resources such as servers,
storage, operating systems, or networks, allowing multiple virtual machines (VMs) to run on a single
physical machine. It enables efficient utilisation of hardware resources and is a key foundation of cloud
computing.
Traditionally, one physical server runs one OS. With virtualisation, one physical server can run multiple
VMs, each with its own OS and applications.
Key Components
SOA, REST, Web Services & Virtualization — Module 2 Page 6
Host Machine
The physical computer that provides hardware resources such as CPU, memory, and storage.
Virtual Machines (VMs)
Independent virtual computers running their own operating systems.
Hypervisor (VMM)
Software layer that manages VMs and allocates hardware resources. Examples: VMware, Hyper-V,
KVM.
Types of Virtualization
Server Virtualization
One physical server is divided into multiple virtual servers. Example: VMware vSphere running web
server, database server, and mail server VMs on one physical server.
Storage Virtualization
Multiple physical storage devices combined into a single logical storage pool. Example: Amazon S3
combines many storage devices to appear as one large storage system.
Network Virtualization
Creates virtual networks that operate independently of physical network hardware. Example: AWS
Amazon VPC creates isolated virtual networks for different customers.
Desktop Virtualization
User desktops run on a central server; users access them remotely. Example: Citrix Virtual Apps and
Desktops for remote office access from home.
Advantages of Virtualization
• Better hardware utilisation
• Reduced IT costs
• Scalability
• Easy backup and recovery
• Supports cloud computing infrastructure
Benefits and Challenges
Benefit – Resource Optimisation
Enables efficient use of hardware resources, reducing waste and maximising server utilisation.
Benefit – Faster Deployment
New virtual machines can be provisioned quickly, accelerating project timelines and IT
responsiveness.
SOA, REST, Web Services & Virtualization — Module 2 Page 7
Challenge – Performance Overhead
Virtualisation introduces an additional software layer that can impact system performance if not
managed properly.
Challenge – Security & Management
Complexity and potential vulnerabilities require robust monitoring, security frameworks, and careful
licensing management.
4 · Virtualization Implementation Levels and Structures
Implementation Levels
Virtualization can be implemented at different layers of a computing system, each providing virtualisation
for different resources such as hardware, operating systems, libraries, or applications.
1. ISA Level Virtualization
Emulates the processor's instruction set so software written for one hardware architecture can run on
another. Example: Running ARM applications on an x86 computer using QEMU. Advantage: Allows
software compatibility across different hardware platforms.
2. Hardware Level Virtualization
Most common technique — a hypervisor (VMM) runs directly on hardware and creates multiple VMs.
Example: VMware ESXi running multiple OSes on a single server. Advantage: Efficient resource
utilisation and strong isolation between VMs.
3. Operating System Level Virtualization
A single OS kernel supports multiple isolated user environments called containers. Example: Docker
containers running multiple applications on the same OS. Advantage: Lightweight virtualisation with
low overhead.
4. Library Support Level Virtualization
Special libraries or APIs intercept system calls and provide virtualised functionality. Example:
Compatibility libraries that allow apps designed for one OS to run on another. Advantage: Helps run
legacy applications without modifying them.
5. Application Level Virtualization
Virtualization within the application environment itself — apps run inside a virtual runtime environment.
Example: Applications running on the Java Virtual Machine (JVM). Advantage: Platform independence
for applications.
Virtualization Structures — Tools and Mechanisms
Virtualisation structures describe the software tools and mechanisms used to create and manage VMs,
allowing multiple OSes and applications to run on the same physical hardware efficiently.
SOA, REST, Web Services & Virtualization — Module 2 Page 8
Hypervisor (Virtual Machine Monitor)
The main tool for virtualisation. Creates and manages VMs and allocates hardware resources (CPU,
memory, storage).
Type 1 Hypervisor — Bare-Metal
Runs directly on physical hardware. Provides better performance and security. Examples: VMware
ESXi, Microsoft Hyper-V.
Type 2 Hypervisor — Hosted
Runs on top of an existing operating system. Simpler setup with added overhead. Example: Oracle
VM VirtualBox.
Virtualization Techniques
Full Virtualization
Entire hardware environment is simulated; unmodified OSes run inside VMs. Example: VMware
Workstation. Advantage: No modification required for guest OSes.
Para-Virtualization
Guest OS is modified to communicate efficiently with the hypervisor. Example: Xen. Advantage: Better
performance because the OS is aware of virtualisation.
Hardware-Assisted Virtualization
Modern processors provide built-in virtualisation support. Examples: Intel VT-x, AMD-V. Advantage:
Faster VM execution.
OS-Level Virtualization (Containers)
Multiple isolated environments share the same OS kernel. Example: Docker. Advantage: Lightweight
and efficient virtualisation.
Summary: Virtualisation Structure Types
Type 1 Hypervisors
Run directly on hardware for high efficiency and isolation.
Type 2 Hypervisors
Run atop an OS; simpler setup with added overhead.
Containers
OS-level isolation, fast startup, and low resource use.
Unikernels
Apps bundled with minimal OS for optimised cloud deploys.
SOA, REST, Web Services & Virtualization — Module 2 Page 9
5 · Virtualization of CPU, Memory, and I/O Devices
The hypervisor (VMM) manages and allocates system resources — CPU, memory, and I/O devices —
among different virtual machines, improving resource utilisation, scalability, and system efficiency.
CPU Virtualization
Allows multiple VMs to share a single physical processor. Each VM is given one or more virtual CPUs
(vCPUs). The hypervisor schedules CPU time, performs context switching between VMs, and intercepts
privileged instructions.
Techniques
Time Sharing
CPU time is divided among VMs; each VM gets a time slice.
Hardware-Assisted Virtualization
Modern processors support virtualisation via Intel VT-x and AMD-V for near-native performance.
Example: A physical server with 8 CPU cores can run 10 VMs, each assigned 1–2 vCPUs.
≈95%
Hardware-assisted CPU virtualisation reaches near-native speed, boosting performance for cloud and
multi-tenant workloads.
Memory Virtualization
Allows multiple VMs to share physical memory while maintaining isolation. The hypervisor translates
virtual addresses into physical addresses using paging and segmentation.
Paging
Divides memory into fixed-size pages, allowing efficient allocation and isolation between VMs.
Segmentation
Splits memory into variable-sized segments, providing flexibility for different application needs.
Shadow Page Tables
Hypervisor maintains mapping between guest virtual memory and host physical memory.
Ballooning
Dynamically reclaims unused memory from VMs to optimise utilisation.
Memory Overcommitment
Allocates more virtual memory than actual physical memory available.
SOA, REST, Web Services & Virtualization — Module 2 Page 10
Extended Page Tables (EPT)
Hardware-assisted translation reduces latency in memory access for VMs.
Example: A server with 32 GB RAM — the hypervisor allocates 8 GB RAM to each VM while managing
memory dynamically.
I/O Device Virtualization
Allows multiple VMs to share input/output devices such as network cards, storage disks, keyboards, and
printers. The hypervisor provides virtual I/O devices to each VM and translates requests into physical
device operations.
Device Emulation
The hypervisor emulates standard hardware devices for each VM.
Paravirtualized Drivers
Special drivers allow direct communication with the hypervisor, improving performance.
Direct Device Assignment
A VM directly accesses a physical device for maximum performance.
Advantages of I/O Virtualization
• Efficient device sharing
• Improved hardware utilisation
• Reduced cost of infrastructure
6 · Virtualization Support, Disaster Recovery, and Server
Virtualization
Virtualization for Disaster Recovery
Disaster Recovery (DR) is the process of restoring systems, applications, and data after a failure
(hardware failure, power outage, cyber attack, or natural disaster). Virtualisation plays a major role by
enabling fast backup, replication, and recovery of virtual machines.
Key DR Mechanisms
VM Snapshots
Captures the complete state of a VM (memory, disk, configuration) at a point in time. If a system
crashes, the VM can be restored to the previous snapshot. Benefit: quick rollback to a stable state.
VM Replication
VMs can be replicated to another server or data centre. If the main server fails, the replica VM starts
immediately. Tools: VMware vSphere Replication, Microsoft Hyper-V Replication.
SOA, REST, Web Services & Virtualization — Module 2 Page 11
Live Migration
Move VMs from one physical server to another without stopping them. Example: VMware vMotion.
Benefit: maintenance without downtime.
Backup and Restore
VMs are stored as files, making backup and restoration straightforward. Benefit: faster system
recovery compared to traditional physical servers.
Failover Mechanism
In case of failure, another server automatically starts the replicated VM. Example: High Availability
clusters in virtualised environments.
Summary: DR Benefits
Rapid Replication
VMs can be quickly duplicated across data centres, ensuring minimal downtime during disasters.
Snapshots & Backups
Automated snapshots and backups allow fast restoration to previous states, reducing data loss.
Live Migration
Move running VMs between hosts with no service interruption, supporting seamless failover.
Cloud Integration
Virtualisation tools connect with cloud platforms, enabling hybrid and multi-site DR strategies.
Advantages of Virtualisation in DR
• Faster recovery time
• Reduced hardware dependency
• Easy data replication
• Improved business continuity
• Lower operational cost
Server Virtualization Strategies
Core Strategies
Partition physical servers into multiple VMs, balance workloads across hosts, and pool compute,
memory, and storage resources to maximise utilisation and resilience.
Enabling Technologies
Hypervisors provide VM isolation, cluster managers coordinate hosts, and live migration moves VMs
with minimal downtime for maintenance and load shifting.
SOA, REST, Web Services & Virtualization — Module 2 Page 12
Orchestration & Scale
Integrating virtualisation with cloud orchestration enables elastic capacity, policy-based placement,
and efficient resource utilisation across hybrid environments.
Market Outlook
Data centres are forecast to exceed 85% virtualisation by 2027, accelerated by cloud adoption and
edge computing growth.
Conclusion: Integrating Architectures & Virtualization
Architectural Foundations
SOA and REST principles underpin systems of systems and web services design.
Virtualization in Practice
Diverse technologies across implementation levels power DR and server management.
Integrated Outcomes
Combining these approaches enables flexible, scalable, resilient IT infrastructures.
SOA, REST, Web Services & Virtualization — Module 2 Page 13