Skip to content
CS-802 (B) · Cloud Computing/Quick Revision Short Notes

Cloud Computing (CS-802 (B)) - Unit 1 Short Notes

How unit 1 is examined

This unit covers SOA, web services (SOAP, WSDL, UDDI, REST), the cloud service and deployment models, cloud monitoring and hypervisors. WSDL/UDDI and hypervisors carry the most marks; SOA, web-service architecture and SaaS/PaaS follow.

Introduction to Service Oriented Architecture

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Medium weight</span>

Definition. <mark>Service Oriented Architecture (SOA) is a design style in which an application is built from independent, loosely coupled services that publish a standard interface and communicate over a network.</mark>

Key points.

  1. A service is a self-contained unit of business function (for example "check balance") that is reached only through its published interface.
  2. Loose coupling means a consumer knows only the interface, so a service can change internally without breaking its consumers.
  3. Services are reusable: one service is composed into many applications instead of being rewritten.
  4. Interoperability comes from open standards (XML, SOAP, WSDL, UDDI, HTTP), so any platform or language can call any service.
  5. Services are discoverable through a registry and can be composed (orchestrated) into larger business processes, usually through an enterprise service bus (ESB).
  6. SOA supports cloud because IaaS, PaaS and SaaS are each exposed as services with published APIs that are published, found, composed and metered on demand.
  7. Benefits for cloud integration: reuse, easy integration of legacy and cloud systems, scalability of individual services, and pay-per-use.

Diagram. <figure class="ds-fig" style="margin:1.4rem 0;overflow-x:auto"><svg xmlns="http://www.w3.org/2000/svg" id="dsfig-u1-01" viewBox="0 0 431 166" width="431" height="166" role="img" aria-label="SOA triangle: Req = service requester, Reg = service registry, Prov = service provider"><style>#dsfig-u1-01 .e{stroke:#454C5A;stroke-width:1.4;fill:none}#dsfig-u1-01 .e.hi{stroke:#2340B8;stroke-width:2.6}#dsfig-u1-01 .n{fill:#FFFFFF;stroke:#16181D;stroke-width:1.4}#dsfig-u1-01 .n.hi{fill:#E3E9FC;stroke:#2340B8;stroke-width:2.2}#dsfig-u1-01 .n.rb-b{fill:#16181D;stroke:#16181D}#dsfig-u1-01 .n.rb-r{fill:#BD3227;stroke:#BD3227}#dsfig-u1-01 text{font-family:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;font-size:13px}#dsfig-u1-01 .t{fill:#16181D;font-weight:500}#dsfig-u1-01 .t.inv{fill:#FFFFFF;font-weight:700}#dsfig-u1-01 .kd{stroke:#16181D;stroke-width:1.2}#dsfig-u1-01 .dot{fill:#16181D}#dsfig-u1-01 .ann{fill:#2340B8;font-size:11px;font-weight:700}#dsfig-u1-01 .lbl{fill:#6F7787;font-family:system-ui,-apple-system,sans-serif;font-size:12px;font-weight:700}#dsfig-u1-01 .ptr{fill:#2340B8;font-size:12px;font-weight:700}#dsfig-u1-01 .ah{fill:#454C5A}#dsfig-u1-01 .ah.hi{fill:#2340B8}#dsfig-u1-01 .wl rect{fill:#FFFFFF;stroke:#DCE0E7}#dsfig-u1-01 .wl .t{font-size:12px;font-weight:700}#dsfig-u1-01 .wl.hi rect{fill:#2340B8;stroke:#2340B8}#dsfig-u1-01 .wl.hi .t{fill:#FFFFFF}html.dark #dsfig-u1-01 .e{stroke:#B1B7C3}html.dark #dsfig-u1-01 .e.hi{stroke:#8FA3FF}html.dark #dsfig-u1-01 .n{fill:#161920;stroke:#E6E8ED}html.dark #dsfig-u1-01 .n.hi{fill:#1E2748;stroke:#8FA3FF}html.dark #dsfig-u1-01 .n.rb-b{fill:#E6E8ED;stroke:#E6E8ED}html.dark #dsfig-u1-01 .n.rb-r{fill:#FF7E71;stroke:#FF7E71}html.dark #dsfig-u1-01 .t{fill:#E6E8ED}html.dark #dsfig-u1-01 .t.inv{fill:#0F1115}html.dark #dsfig-u1-01 .kd{stroke:#E6E8ED}html.dark #dsfig-u1-01 .dot{fill:#E6E8ED}html.dark #dsfig-u1-01 .ann{fill:#8FA3FF}html.dark #dsfig-u1-01 .lbl{fill:#858D9C}html.dark #dsfig-u1-01 .ptr{fill:#8FA3FF}html.dark #dsfig-u1-01 .ah{fill:#B1B7C3}html.dark #dsfig-u1-01 .ah.hi{fill:#8FA3FF}html.dark #dsfig-u1-01 .wl rect{fill:#161920;stroke:#2A2E37}html.dark #dsfig-u1-01 .wl.hi rect{fill:#8FA3FF;stroke:#8FA3FF}html.dark #dsfig-u1-01 .wl.hi .t{fill:#0F1115}</style><defs><marker id="ah1" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path class="ah" d="M0,1 L9,5 L0,9 z"/></marker><marker id="ahh1" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path class="ah hi" d="M0,1 L9,5 L0,9 z"/></marker></defs><path class="e" d="M195,48.5 L58.8,116.6" marker-end="url(#ah1)"/><path class="e" d="M360.7,114.4 L230.8,49.4" marker-end="url(#ah1)"/><path class="e" d="M59,126 L356,126" marker-end="url(#ah1)"/><g class="wl"><rect x="105.6" y="74" width="40.8" height="18" rx="9"/><text class="t" x="126" y="83" dy=".35em" text-anchor="middle">find</text></g><g class="wl"><rect x="267.3" y="74" width="61.5" height="18" rx="9"/><text class="t" x="298" y="83" dy=".35em" text-anchor="middle">publish</text></g><g class="wl"><rect x="191.6" y="117" width="40.8" height="18" rx="9"/><text class="t" x="212" y="126" dy=".35em" text-anchor="middle">bind</text></g><circle class="n" cx="40" cy="126" r="18"/><text class="t" x="40" y="126" dy=".35em" text-anchor="middle">Req</text><circle class="n" cx="212" cy="40" r="18"/><text class="t" x="212" y="40" dy=".35em" text-anchor="middle">Reg</text><rect class="n" x="359" y="111" width="50" height="30" rx="15"/><text class="t" x="384" y="126" dy=".35em" text-anchor="middle">Prov</text></svg><figcaption style="font-size:.82em;opacity:.72;margin-top:.45rem">SOA triangle: Req = service requester, Reg = service registry, Prov = service provider</figcaption></figure>

Answer frame. Open with the definition; draw the publish-find-bind triangle; develop points 1-5 (service, loose coupling, reuse, standards, registry and composition); then explain point 6 with IaaS/PaaS/SaaS as services; close with the benefits in point 7.

Asked: [7 marks] (May 2022, Dec 2024) What do you understand by Service Oriented Architecture (SOA)? How does it support cloud computing? What is cloud computing service oriented architecture?

Web Services

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. A web service is a software component that offers a function over the web through a standard XML-based interface, so different applications can talk to each other regardless of platform.

Key points.

  1. It uses HTTP for transport and XML for data, which makes it platform and language independent.
  2. It is self-describing (WSDL), discoverable (UDDI) and accessed by messages (SOAP).
  3. It is the most common way of implementing SOA.
  4. Two styles exist: SOAP-based (big) web services and RESTful services.

Basic Web Services Architecture

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Medium weight</span>

Definition. <mark>The basic web services architecture has three roles, service provider, service requester and service registry, that interact through the operations publish, find and bind.</mark>

Diagram. <figure class="ds-fig" style="margin:1.4rem 0;overflow-x:auto"><svg xmlns="http://www.w3.org/2000/svg" id="dsfig-u1-02" viewBox="0 0 431 252" width="431" height="252" role="img" aria-label="Web services architecture: Reg = service registry (UDDI), Req = service requester, Prov = service provider"><style>#dsfig-u1-02 .e{stroke:#454C5A;stroke-width:1.4;fill:none}#dsfig-u1-02 .e.hi{stroke:#2340B8;stroke-width:2.6}#dsfig-u1-02 .n{fill:#FFFFFF;stroke:#16181D;stroke-width:1.4}#dsfig-u1-02 .n.hi{fill:#E3E9FC;stroke:#2340B8;stroke-width:2.2}#dsfig-u1-02 .n.rb-b{fill:#16181D;stroke:#16181D}#dsfig-u1-02 .n.rb-r{fill:#BD3227;stroke:#BD3227}#dsfig-u1-02 text{font-family:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;font-size:13px}#dsfig-u1-02 .t{fill:#16181D;font-weight:500}#dsfig-u1-02 .t.inv{fill:#FFFFFF;font-weight:700}#dsfig-u1-02 .kd{stroke:#16181D;stroke-width:1.2}#dsfig-u1-02 .dot{fill:#16181D}#dsfig-u1-02 .ann{fill:#2340B8;font-size:11px;font-weight:700}#dsfig-u1-02 .lbl{fill:#6F7787;font-family:system-ui,-apple-system,sans-serif;font-size:12px;font-weight:700}#dsfig-u1-02 .ptr{fill:#2340B8;font-size:12px;font-weight:700}#dsfig-u1-02 .ah{fill:#454C5A}#dsfig-u1-02 .ah.hi{fill:#2340B8}#dsfig-u1-02 .wl rect{fill:#FFFFFF;stroke:#DCE0E7}#dsfig-u1-02 .wl .t{font-size:12px;font-weight:700}#dsfig-u1-02 .wl.hi rect{fill:#2340B8;stroke:#2340B8}#dsfig-u1-02 .wl.hi .t{fill:#FFFFFF}html.dark #dsfig-u1-02 .e{stroke:#B1B7C3}html.dark #dsfig-u1-02 .e.hi{stroke:#8FA3FF}html.dark #dsfig-u1-02 .n{fill:#161920;stroke:#E6E8ED}html.dark #dsfig-u1-02 .n.hi{fill:#1E2748;stroke:#8FA3FF}html.dark #dsfig-u1-02 .n.rb-b{fill:#E6E8ED;stroke:#E6E8ED}html.dark #dsfig-u1-02 .n.rb-r{fill:#FF7E71;stroke:#FF7E71}html.dark #dsfig-u1-02 .t{fill:#E6E8ED}html.dark #dsfig-u1-02 .t.inv{fill:#0F1115}html.dark #dsfig-u1-02 .kd{stroke:#E6E8ED}html.dark #dsfig-u1-02 .dot{fill:#E6E8ED}html.dark #dsfig-u1-02 .ann{fill:#8FA3FF}html.dark #dsfig-u1-02 .lbl{fill:#858D9C}html.dark #dsfig-u1-02 .ptr{fill:#8FA3FF}html.dark #dsfig-u1-02 .ah{fill:#B1B7C3}html.dark #dsfig-u1-02 .ah.hi{fill:#8FA3FF}html.dark #dsfig-u1-02 .wl rect{fill:#161920;stroke:#2A2E37}html.dark #dsfig-u1-02 .wl.hi rect{fill:#8FA3FF;stroke:#8FA3FF}html.dark #dsfig-u1-02 .wl.hi .t{fill:#0F1115}</style><defs><marker id="ah2" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path class="ah" d="M0,1 L9,5 L0,9 z"/></marker><marker id="ahh2" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path class="ah hi" d="M0,1 L9,5 L0,9 z"/></marker></defs><path class="e" d="M365.6,193.6 L226.8,54.8" marker-end="url(#ah2)"/><path class="e" d="M53.4,198.6 L197.2,54.8" marker-end="url(#ah2)"/><path class="e" d="M59,212 L356,212" marker-end="url(#ah2)"/><g class="wl"><rect x="249.7" y="117" width="96.6" height="18" rx="9"/><text class="t" x="298" y="126" dy=".35em" text-anchor="middle">publish-WSDL</text></g><g class="wl"><rect x="88.1" y="117" width="75.9" height="18" rx="9"/><text class="t" x="126" y="126" dy=".35em" text-anchor="middle">find-UDDI</text></g><g class="wl"><rect x="174.1" y="203" width="75.9" height="18" rx="9"/><text class="t" x="212" y="212" dy=".35em" text-anchor="middle">bind-SOAP</text></g><circle class="n" cx="212" cy="40" r="18"/><text class="t" x="212" y="40" dy=".35em" text-anchor="middle">Reg</text><circle class="n" cx="40" cy="212" r="18"/><text class="t" x="40" y="212" dy=".35em" text-anchor="middle">Req</text><rect class="n" x="359" y="197" width="50" height="30" rx="15"/><text class="t" x="384" y="212" dy=".35em" text-anchor="middle">Prov</text></svg><figcaption style="font-size:.82em;opacity:.72;margin-top:.45rem">Web services architecture: Reg = service registry (UDDI), Req = service requester, Prov = service provider</figcaption></figure>

Key points.

  1. The service provider hosts the service and publishes its WSDL description in the registry.
  2. The service registry (UDDI) stores service descriptions so that requesters can look them up.
  3. The service requester searches the registry (find), gets the WSDL, and then invokes the service (bind).
  4. Publish uses UDDI publishing, find uses UDDI inquiry, and bind uses SOAP messages over HTTP.
  5. The layered stack, from bottom to top, is transport (HTTP/SMTP), messaging (XML and SOAP), description (WSDL), discovery (UDDI) and composition (BPEL orchestration).
  6. In cloud, the provider is the cloud vendor, and services are deployed on its servers and are reached through their published WSDL.
  7. Significance: interoperability across platforms, reuse of services and loose coupling between requester and provider.

Answer frame. Open by defining web services; draw the triangle with publish, find and bind arrows labelled with WSDL, UDDI and SOAP; describe the three roles, then the three operations; add the layered stack in one line; close with interoperability, reusability and loose coupling.

Asked: [7 marks] (Jun 2025, May 2026) Explain the basic architecture of web services in cloud computing. Explain the basic architecture of Web Services and discuss the significance of service providers, service requesters and service registries.

Introduction to SOAP

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. SOAP (Simple Object Access Protocol) is an XML-based messaging protocol used to exchange structured information between web services, normally over HTTP.

Key points.

  1. A SOAP message is an XML document with an Envelope (root element), an optional Header (routing, security, transactions) and a mandatory Body (the actual call or response).
  2. A Fault element inside the Body reports errors.
  3. It is platform and language neutral, and it passes firewalls because it travels over HTTP.
  4. It is heavier than REST because every message carries XML tags and an envelope.

WSDL and UDDI

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">High weight</span>

Definition. <mark>WSDL (Web Services Description Language) is an XML document that describes what a web service does, where it is and how to call it; UDDI (Universal Description, Discovery and Integration) is the registry in which services are published and found.</mark>

Key points.

  1. SOAP is the messaging protocol: an XML Envelope with Header and Body carries requests and responses between requester and provider.
  2. WSDL is the contract: it lists the service's operations, message formats and network address.
  3. A WSDL document has these elements: types (data types), message (data exchanged), portType (abstract operations), binding (protocol and format, such as SOAP over HTTP), port (one endpoint) and service (collection of ports).
  4. UDDI is the directory in which providers publish services and requesters find them.
  5. UDDI has three kinds of pages. White pages hold business name, contact and identifiers; yellow pages classify services by industry or product category; green pages hold technical information on how to bind to the service.
  6. UDDI data structures are businessEntity (who provides), businessService (what is offered), bindingTemplate (where and how to access it) and tModel (technical model or specification, such as a pointer to the WSDL).
  7. UDDI provides an Inquiry API (find_business, find_service, get_serviceDetail) and a Publishing API (save_business, save_service, delete_service).
  8. Together in the publish-find-bind model: XML represents the data, WSDL describes the service, UDDI publishes and finds it, and SOAP carries the call, which gives communication and integration across systems.

Example. A bank publishes a "GetBalance" WSDL in UDDI; a mobile app finds it, reads the WSDL, and sends a SOAP request whose response carries the balance.

Diagram. <figure class="ds-fig" style="margin:1.4rem 0;overflow-x:auto"><svg xmlns="http://www.w3.org/2000/svg" id="dsfig-u1-03" viewBox="0 0 787 322" width="787" height="322" role="img" aria-label="UDDI data structures, each nested inside the one before it"><style>#dsfig-u1-03 .e{stroke:#454C5A;stroke-width:1.4;fill:none}#dsfig-u1-03 .e.hi{stroke:#2340B8;stroke-width:2.6}#dsfig-u1-03 .n{fill:#FFFFFF;stroke:#16181D;stroke-width:1.4}#dsfig-u1-03 .n.hi{fill:#E3E9FC;stroke:#2340B8;stroke-width:2.2}#dsfig-u1-03 .n.rb-b{fill:#16181D;stroke:#16181D}#dsfig-u1-03 .n.rb-r{fill:#BD3227;stroke:#BD3227}#dsfig-u1-03 text{font-family:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;font-size:13px}#dsfig-u1-03 .t{fill:#16181D;font-weight:500}#dsfig-u1-03 .t.inv{fill:#FFFFFF;font-weight:700}#dsfig-u1-03 .kd{stroke:#16181D;stroke-width:1.2}#dsfig-u1-03 .dot{fill:#16181D}#dsfig-u1-03 .ann{fill:#2340B8;font-size:11px;font-weight:700}#dsfig-u1-03 .lbl{fill:#6F7787;font-family:system-ui,-apple-system,sans-serif;font-size:12px;font-weight:700}#dsfig-u1-03 .ptr{fill:#2340B8;font-size:12px;font-weight:700}#dsfig-u1-03 .ah{fill:#454C5A}#dsfig-u1-03 .ah.hi{fill:#2340B8}#dsfig-u1-03 .wl rect{fill:#FFFFFF;stroke:#DCE0E7}#dsfig-u1-03 .wl .t{font-size:12px;font-weight:700}#dsfig-u1-03 .wl.hi rect{fill:#2340B8;stroke:#2340B8}#dsfig-u1-03 .wl.hi .t{fill:#FFFFFF}html.dark #dsfig-u1-03 .e{stroke:#B1B7C3}html.dark #dsfig-u1-03 .e.hi{stroke:#8FA3FF}html.dark #dsfig-u1-03 .n{fill:#161920;stroke:#E6E8ED}html.dark #dsfig-u1-03 .n.hi{fill:#1E2748;stroke:#8FA3FF}html.dark #dsfig-u1-03 .n.rb-b{fill:#E6E8ED;stroke:#E6E8ED}html.dark #dsfig-u1-03 .n.rb-r{fill:#FF7E71;stroke:#FF7E71}html.dark #dsfig-u1-03 .t{fill:#E6E8ED}html.dark #dsfig-u1-03 .t.inv{fill:#0F1115}html.dark #dsfig-u1-03 .kd{stroke:#E6E8ED}html.dark #dsfig-u1-03 .dot{fill:#E6E8ED}html.dark #dsfig-u1-03 .ann{fill:#8FA3FF}html.dark #dsfig-u1-03 .lbl{fill:#858D9C}html.dark #dsfig-u1-03 .ptr{fill:#8FA3FF}html.dark #dsfig-u1-03 .ah{fill:#B1B7C3}html.dark #dsfig-u1-03 .ah.hi{fill:#8FA3FF}html.dark #dsfig-u1-03 .wl rect{fill:#161920;stroke:#2A2E37}html.dark #dsfig-u1-03 .wl.hi rect{fill:#8FA3FF;stroke:#8FA3FF}html.dark #dsfig-u1-03 .wl.hi .t{fill:#0F1115}</style><defs><marker id="ah3" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path class="ah" d="M0,1 L9,5 L0,9 z"/></marker><marker id="ahh3" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path class="ah hi" d="M0,1 L9,5 L0,9 z"/></marker></defs><line class="e" x1="675.5" y1="37" x2="528.5" y2="101"/><line class="e" x1="528.5" y1="101" x2="381.5" y2="165"/><line class="e" x1="381.5" y1="165" x2="234.5" y2="229"/><line class="e" x1="234.5" y1="229" x2="87.5" y2="293"/><rect class="n" x="649.5" y="22" width="52" height="30" rx="8"/><text class="t" x="675.5" y="37" dy=".35em" text-anchor="middle">UDDI</text><rect class="n" x="463.5" y="86" width="130" height="30" rx="8"/><text class="t" x="528.5" y="101" dy=".35em" text-anchor="middle">businessEntity</text><rect class="n" x="313" y="150" width="137" height="30" rx="8"/><text class="t" x="381.5" y="165" dy=".35em" text-anchor="middle">businessService</text><rect class="n" x="166" y="214" width="137" height="30" rx="8"/><text class="t" x="234.5" y="229" dy=".35em" text-anchor="middle">bindingTemplate</text><rect class="n" x="54" y="278" width="67" height="30" rx="8"/><text class="t" x="87.5" y="293" dy=".35em" text-anchor="middle">tModel</text></svg><figcaption style="font-size:.82em;opacity:.72;margin-top:.45rem">UDDI data structures, each nested inside the one before it</figcaption></figure>

Answer frame. For roles of SOAP/WSDL/UDDI: open with one line each, draw the publish-find-bind triangle, then give point 8 and the bank example. For elements of UDDI: define UDDI, give the three pages, then the four data structures, then the APIs. For a WSDL short note: definition, the six elements, the example and the role in SOA.

Pitfall: Do not mix the two sets: white/yellow/green are the page types, while businessEntity, businessService, bindingTemplate and tModel are the data structures.

Asked: [7 marks] (Jun 2025, May 2026) Discuss the role of SOAP, WSDL and UDDI in web services. Analyze the role of XML, SOAP, WSDL and UDDI in web service communication and integration. Asked: [7 marks] (May 2023) What are the elements of UDDI? Explain in detail. Asked: [14 marks] (May 2023) Write a short note on any two: WSDL, Ajax, Cloud middleware, Sky computing (WSDL part here; Ajax is Unit 2, middleware and sky computing are Unit 5). Asked: [7 marks] (Dec 2024) Explain: cloud monitoring system, hypervisor, WSDL (WSDL part).

RESTful services: Definition

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. REST (Representational State Transfer) is an architectural style in which services expose resources identified by URIs and manipulated through the standard HTTP methods.

Key points.

  1. Each resource (a user, an order) has a unique URI, and the client works on a representation of it, usually JSON or XML.
  2. It uses plain HTTP, so it is lighter and faster than SOAP and needs no WSDL.
  3. The server keeps no client state between requests.

Characteristics

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. The characteristics of REST are the constraints that a service must follow to be called RESTful.

Key points.

  1. Client-server separation lets the client and the server evolve independently.
  2. Stateless: every request carries all the information needed to process it.
  3. Cacheable: responses say whether they can be cached, which improves speed.
  4. Uniform interface: resources are identified by URIs and handled with the same few methods.
  5. Layered system: proxies and gateways can sit between client and server.

Components

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. The components of REST are the resource, its URI, the representation and the HTTP method applied to it.

Key points.

  1. Resource: any named thing, such as a customer or a file.
  2. URI: the address that identifies the resource.
  3. Representation: the format in which the resource is sent, such as JSON or XML.
  4. HTTP methods: GET reads, POST creates, PUT updates and DELETE removes.

Types

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. RESTful services are classified by the kind of resource and representation they return, and are mainly CRUD-style data services.

Key points.

  1. Collection resources return a list (for example /students) and singleton resources return one item (/students/5).
  2. By representation, services are JSON REST services or XML REST services.
  3. By operation they map to Create (POST), Read (GET), Update (PUT) and Delete (DELETE).
  4. Unlike SOAP services, they are lightweight and best suited to mobile and web clients.

Software as a Service

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Medium weight</span>

Definition. <mark>Software as a Service (SaaS) delivers a complete application over the internet on a subscription basis, so the user only uses it through a browser and manages neither the servers nor the software.</mark>

Diagram. <figure class="ds-fig" style="margin:1.4rem 0;overflow-x:auto"><svg xmlns="http://www.w3.org/2000/svg" id="dsfig-u1-04" viewBox="0 0 1264 258" width="1264" height="258" role="img" aria-label="Layered cloud stack, from bare hardware (bottom) to user applications (top); each layer is built on the one below it"><style>#dsfig-u1-04 .e{stroke:#454C5A;stroke-width:1.4;fill:none}#dsfig-u1-04 .e.hi{stroke:#2340B8;stroke-width:2.6}#dsfig-u1-04 .n{fill:#FFFFFF;stroke:#16181D;stroke-width:1.4}#dsfig-u1-04 .n.hi{fill:#E3E9FC;stroke:#2340B8;stroke-width:2.2}#dsfig-u1-04 .n.rb-b{fill:#16181D;stroke:#16181D}#dsfig-u1-04 .n.rb-r{fill:#BD3227;stroke:#BD3227}#dsfig-u1-04 text{font-family:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;font-size:13px}#dsfig-u1-04 .t{fill:#16181D;font-weight:500}#dsfig-u1-04 .t.inv{fill:#FFFFFF;font-weight:700}#dsfig-u1-04 .kd{stroke:#16181D;stroke-width:1.2}#dsfig-u1-04 .dot{fill:#16181D}#dsfig-u1-04 .ann{fill:#2340B8;font-size:11px;font-weight:700}#dsfig-u1-04 .lbl{fill:#6F7787;font-family:system-ui,-apple-system,sans-serif;font-size:12px;font-weight:700}#dsfig-u1-04 .ptr{fill:#2340B8;font-size:12px;font-weight:700}#dsfig-u1-04 .ah{fill:#454C5A}#dsfig-u1-04 .ah.hi{fill:#2340B8}#dsfig-u1-04 .wl rect{fill:#FFFFFF;stroke:#DCE0E7}#dsfig-u1-04 .wl .t{font-size:12px;font-weight:700}#dsfig-u1-04 .wl.hi rect{fill:#2340B8;stroke:#2340B8}#dsfig-u1-04 .wl.hi .t{fill:#FFFFFF}html.dark #dsfig-u1-04 .e{stroke:#B1B7C3}html.dark #dsfig-u1-04 .e.hi{stroke:#8FA3FF}html.dark #dsfig-u1-04 .n{fill:#161920;stroke:#E6E8ED}html.dark #dsfig-u1-04 .n.hi{fill:#1E2748;stroke:#8FA3FF}html.dark #dsfig-u1-04 .n.rb-b{fill:#E6E8ED;stroke:#E6E8ED}html.dark #dsfig-u1-04 .n.rb-r{fill:#FF7E71;stroke:#FF7E71}html.dark #dsfig-u1-04 .t{fill:#E6E8ED}html.dark #dsfig-u1-04 .t.inv{fill:#0F1115}html.dark #dsfig-u1-04 .kd{stroke:#E6E8ED}html.dark #dsfig-u1-04 .dot{fill:#E6E8ED}html.dark #dsfig-u1-04 .ann{fill:#8FA3FF}html.dark #dsfig-u1-04 .lbl{fill:#858D9C}html.dark #dsfig-u1-04 .ptr{fill:#8FA3FF}html.dark #dsfig-u1-04 .ah{fill:#B1B7C3}html.dark #dsfig-u1-04 .ah.hi{fill:#8FA3FF}html.dark #dsfig-u1-04 .wl rect{fill:#161920;stroke:#2A2E37}html.dark #dsfig-u1-04 .wl.hi rect{fill:#8FA3FF;stroke:#8FA3FF}html.dark #dsfig-u1-04 .wl.hi .t{fill:#0F1115}</style><defs><marker id="ah4" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path class="ah" d="M0,1 L9,5 L0,9 z"/></marker><marker id="ahh4" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path class="ah hi" d="M0,1 L9,5 L0,9 z"/></marker></defs><line class="e" x1="1074.5" y1="37" x2="771.5" y2="101"/><line class="e" x1="771.5" y1="101" x2="468.5" y2="165"/><line class="e" x1="468.5" y1="165" x2="165.5" y2="229"/><rect class="n" x="994" y="22" width="161" height="30" rx="8"/><text class="t" x="1074.5" y="37" dy=".35em" text-anchor="middle">SaaS: applications</text><rect class="n" x="636.5" y="86" width="270" height="30" rx="8"/><text class="t" x="771.5" y="101" dy=".35em" text-anchor="middle">PaaS: runtime, middleware, tools</text><rect class="n" x="322" y="150" width="293" height="30" rx="8"/><text class="t" x="468.5" y="165" dy=".35em" text-anchor="middle">IaaS: VMs, virtual storage, network</text><rect class="n" x="38.5" y="214" width="254" height="30" rx="8"/><text class="t" x="165.5" y="229" dy=".35em" text-anchor="middle">Hardware: CPU, memory, storage</text></svg><figcaption style="font-size:.82em;opacity:.72;margin-top:.45rem">Layered cloud stack, from bare hardware (bottom) to user applications (top); each layer is built on the one below it</figcaption></figure>

Key points.

  1. Layer 1 is the bare machine hardware (processors, memory, storage); layer 2 is IaaS, which virtualizes the hardware into virtual machines, storage and networks.
  2. Layer 3 is PaaS, which adds runtime, middleware, frameworks and development tools on top of IaaS; layer 4 is SaaS, which builds end-user applications on top of PaaS.
  3. SaaS examples are Gmail, Salesforce and Google Docs; the provider controls everything and the user controls only their own data and settings.
  4. Benefits: no installation, automatic updates, pay-as-you-go, access from anywhere and easy scaling.
  5. The cloud reference model has the same three layers plus management and security running across all of them; the provider handles resource, monitoring, billing and identity management for every layer.

Answer frame. For layered diagram: draw four boxes bottom to top, hardware, IaaS, PaaS, SaaS, with contents in each and an upward arrow. For SaaS versus PaaS: define both, give examples, then the table below, then close with cost, scalability and quick deployment. For the reference model: draw the diagram, then the three layers with management and security.

Point IaaS PaaS SaaS
Delivers Virtual hardware Platform to build apps Ready application
User controls OS, apps, data Apps and data Only data and settings
User Administrator Developer End user
Example AWS EC2 Google App Engine, Azure Gmail, Salesforce

Asked: [7 marks] (May 2026) Explain Software as a Service (SaaS) and Platform as a Service (PaaS) models and discuss their significance in cloud computing environments. Asked: [? marks] (May 2024) Draw a layered diagram to relate the construction of IaaS, PaaS and SaaS clouds from bare machine hardware to the user applications. Asked: [7 marks] (May 2022) What are the fundamental components introduced in the cloud reference model? Explain.

Platform as a Service

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. Platform as a Service (PaaS) gives developers a ready platform (runtime, middleware, database and tools) over the internet to build, test and deploy applications without managing servers.

Key points.

  1. The provider manages the servers, OS and middleware, while the developer manages the application and its data.
  2. Examples are Google App Engine, Microsoft Azure App Service and Heroku.
  3. It speeds up development and scales automatically.
  4. The main drawback is vendor lock-in.

Organizational scenarios of clouds

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Low weight</span>

Definition. The deployment models describe who owns the cloud and who may use it: public, private, hybrid and community.

Key points.

  1. A public cloud is owned by a provider and shared by many customers over the internet (AWS, Azure), so it is cheap and scalable but gives less control.
  2. A private cloud is used by a single organization, in-house or hosted, so it gives the most security and control at a higher cost.
  3. A hybrid cloud combines private and public: sensitive data stays private and peak load bursts to the public cloud.
  4. A community cloud is shared by several organizations with common concerns, such as government departments or hospitals, and its cost is split among them.

Asked: [7 marks] (Dec 2024) How do the different service deployment models work? Explain.

Administering & Monitoring cloud services

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Low weight</span>

Definition. Cloud administration is provisioning, configuring and managing cloud resources and users; monitoring is continuously measuring the performance, availability and security of services against the agreed SLA.

Key points.

  1. Administration covers provisioning of VMs, user and access management, backups, patching and billing, done through the provider's management console or APIs.
  2. Monitoring tracks metrics such as CPU, memory, network, response time and uptime, shown on dashboards with alerts (for example Amazon CloudWatch, Azure Monitor).
  3. Metering measures usage for billing, and SLA monitoring checks that availability and performance promises are met.
  4. Security monitoring detects intrusions and unusual access through logs.
  5. The provider monitors the infrastructure, while the consumer monitors its own applications and data.

Asked: [7 marks] (May 2022) How is administration and monitoring of cloud services done? Asked: [7 marks] (Dec 2024) Explain: cloud monitoring system, hypervisor, WSDL (monitoring part).

Benefits and limitations

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. Cloud computing is the on-demand delivery of computing resources over the internet with pay-per-use pricing (NIST).

Key points.

  1. The five essential characteristics are on-demand self-service (users provision resources themselves), broad network access (over standard networks and devices), resource pooling (multi-tenant shared resources), rapid elasticity (scale up and down fast) and measured service (metered, pay-per-use).
  2. Benefits are lower cost, scalability, flexibility and access from anywhere.
  3. Limitations are security and privacy risk, dependence on internet, vendor lock-in and less control.

Asked: [7 marks] (May 2022, May 2023) Define cloud computing and describe its essential characteristics.

Study of a Hypervisor

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">High weight</span>

Definition. <mark>A hypervisor (virtual machine monitor) is software that creates and runs virtual machines by abstracting the physical hardware and sharing it among many isolated guest operating systems.</mark>

Key points.

  1. Virtualization is needed because it lets one physical server run many VMs, which raises utilization, cuts hardware and power cost, and gives isolation between users.
  2. A Type-1 (bare-metal) hypervisor runs directly on the hardware and gives high performance; examples are VMware ESXi, Microsoft Hyper-V and Xen.
  3. A Type-2 (hosted) hypervisor runs as an application on a host OS, so it is easy to install but slower; examples are Oracle VirtualBox and VMware Workstation.
  4. Working: the hypervisor abstracts CPU, memory, storage and network, schedules the VMs' CPU time, allocates memory and keeps each VM isolated.
  5. Hyper-V architecture: the hypervisor layer sits on the hardware and hosts one parent (root) partition and many child partitions; the parent runs Windows and the virtualization stack and drivers, and the child partitions run guest OSs and talk to the parent through the VMBus.
  6. Management software handles provisioning of VMs, monitoring, live migration, snapshots and load balancing (for example vCenter, System Center, OpenStack).
  7. In the cloud it enables consolidation, elasticity (VMs created or removed on demand), multi-tenancy and isolation.

Diagram. <figure class="ds-fig" style="margin:1.4rem 0;overflow-x:auto"><svg xmlns="http://www.w3.org/2000/svg" id="dsfig-u1-05" viewBox="0 0 338 338" width="338" height="338" role="img" aria-label="Hyper-V: HW = hardware, HV = hypervisor, P = parent partition, C1/C2 = child partitions, Bus = VMBus"><style>#dsfig-u1-05 .e{stroke:#454C5A;stroke-width:1.4;fill:none}#dsfig-u1-05 .e.hi{stroke:#2340B8;stroke-width:2.6}#dsfig-u1-05 .n{fill:#FFFFFF;stroke:#16181D;stroke-width:1.4}#dsfig-u1-05 .n.hi{fill:#E3E9FC;stroke:#2340B8;stroke-width:2.2}#dsfig-u1-05 .n.rb-b{fill:#16181D;stroke:#16181D}#dsfig-u1-05 .n.rb-r{fill:#BD3227;stroke:#BD3227}#dsfig-u1-05 text{font-family:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;font-size:13px}#dsfig-u1-05 .t{fill:#16181D;font-weight:500}#dsfig-u1-05 .t.inv{fill:#FFFFFF;font-weight:700}#dsfig-u1-05 .kd{stroke:#16181D;stroke-width:1.2}#dsfig-u1-05 .dot{fill:#16181D}#dsfig-u1-05 .ann{fill:#2340B8;font-size:11px;font-weight:700}#dsfig-u1-05 .lbl{fill:#6F7787;font-family:system-ui,-apple-system,sans-serif;font-size:12px;font-weight:700}#dsfig-u1-05 .ptr{fill:#2340B8;font-size:12px;font-weight:700}#dsfig-u1-05 .ah{fill:#454C5A}#dsfig-u1-05 .ah.hi{fill:#2340B8}#dsfig-u1-05 .wl rect{fill:#FFFFFF;stroke:#DCE0E7}#dsfig-u1-05 .wl .t{font-size:12px;font-weight:700}#dsfig-u1-05 .wl.hi rect{fill:#2340B8;stroke:#2340B8}#dsfig-u1-05 .wl.hi .t{fill:#FFFFFF}html.dark #dsfig-u1-05 .e{stroke:#B1B7C3}html.dark #dsfig-u1-05 .e.hi{stroke:#8FA3FF}html.dark #dsfig-u1-05 .n{fill:#161920;stroke:#E6E8ED}html.dark #dsfig-u1-05 .n.hi{fill:#1E2748;stroke:#8FA3FF}html.dark #dsfig-u1-05 .n.rb-b{fill:#E6E8ED;stroke:#E6E8ED}html.dark #dsfig-u1-05 .n.rb-r{fill:#FF7E71;stroke:#FF7E71}html.dark #dsfig-u1-05 .t{fill:#E6E8ED}html.dark #dsfig-u1-05 .t.inv{fill:#0F1115}html.dark #dsfig-u1-05 .kd{stroke:#E6E8ED}html.dark #dsfig-u1-05 .dot{fill:#E6E8ED}html.dark #dsfig-u1-05 .ann{fill:#8FA3FF}html.dark #dsfig-u1-05 .lbl{fill:#858D9C}html.dark #dsfig-u1-05 .ptr{fill:#8FA3FF}html.dark #dsfig-u1-05 .ah{fill:#B1B7C3}html.dark #dsfig-u1-05 .ah.hi{fill:#8FA3FF}html.dark #dsfig-u1-05 .wl rect{fill:#161920;stroke:#2A2E37}html.dark #dsfig-u1-05 .wl.hi rect{fill:#8FA3FF;stroke:#8FA3FF}html.dark #dsfig-u1-05 .wl.hi .t{fill:#0F1115}</style><defs><marker id="ah5" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path class="ah" d="M0,1 L9,5 L0,9 z"/></marker><marker id="ahh5" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path class="ah hi" d="M0,1 L9,5 L0,9 z"/></marker></defs><path class="e" d="M40,279 L40,231"/><path class="e" d="M40,193 L40,145"/><path class="e" d="M55.8,201.5 L153.2,136.5"/><path class="e" d="M58,206 L280,132"/><path class="e" d="M57.5,114.4 L151.5,51.6" marker-end="url(#ah5)" marker-start="url(#ah5)"/><path class="e" d="M169,61 L169,105" marker-end="url(#ah5)" marker-start="url(#ah5)"/><circle class="n" cx="40" cy="298" r="18"/><text class="t" x="40" y="298" dy=".35em" text-anchor="middle">HW</text><circle class="n" cx="40" cy="212" r="18"/><text class="t" x="40" y="212" dy=".35em" text-anchor="middle">HV</text><circle class="n" cx="40" cy="126" r="18"/><text class="t" x="40" y="126" dy=".35em" text-anchor="middle">P</text><circle class="n" cx="169" cy="126" r="18"/><text class="t" x="169" y="126" dy=".35em" text-anchor="middle">C1</text><circle class="n" cx="298" cy="126" r="18"/><text class="t" x="298" y="126" dy=".35em" text-anchor="middle">C2</text><circle class="n" cx="169" cy="40" r="18"/><text class="t" x="169" y="40" dy=".35em" text-anchor="middle">Bus</text></svg><figcaption style="font-size:.82em;opacity:.72;margin-top:.45rem">Hyper-V: HW = hardware, HV = hypervisor, P = parent partition, C1/C2 = child partitions, Bus = VMBus</figcaption></figure>

Point Type-1 (bare metal) Type-2 (hosted)
Runs on Hardware directly Host operating system
Performance High Lower
Use Data centres, cloud Desktop, testing
Examples ESXi, Hyper-V, Xen VirtualBox, VMware Workstation
Security Smaller attack surface Depends on host OS

Answer frame. For Hyper-V: define virtualization and its need, draw the Hyper-V diagram, explain point 5, then cloud use (point 7). For types: define hypervisor, draw two stacks, give the table. For working/architecture: definition, both types, then point 4 and close with elasticity and multi-tenancy. For management software: definition, then point 6 with examples.

Asked: [7 marks] (May 2022) What is the need of virtualization? Discuss the architecture of Hyper-V and its use in cloud computing. Asked: [7 marks] (May 2022) Explain virtualization hypervisor management software. Asked: [7 marks] (May 2023) Discuss different types of hypervisors with examples. Asked: [7 marks] (May 2026) Examine the architecture and working principles of a hypervisor in virtualization and cloud computing environments. Asked: [7 marks] (Dec 2024) Explain: cloud monitoring system, hypervisor, WSDL (hypervisor part).

Last-minute revision

  • SOA: loosely coupled, reusable, standards-based services found through a registry.
  • Web services roles: provider, requester, registry; operations publish, find, bind.
  • SOAP message: Envelope, optional Header, Body (and Fault).
  • WSDL elements: types, message, portType, binding, port, service.
  • UDDI pages: white (who), yellow (what category), green (how to bind).
  • UDDI structures: businessEntity, businessService, bindingTemplate, tModel.
  • REST: resources with URIs and HTTP methods GET, POST, PUT, DELETE; stateless.
  • Stack: hardware, IaaS, PaaS, SaaS.
  • Deployment models: public, private, hybrid, community.
  • NIST characteristics: on-demand self-service, broad network access, resource pooling, rapid elasticity, measured service.
  • Type-1 runs on hardware (ESXi, Hyper-V, Xen); Type-2 on a host OS (VirtualBox, VMware Workstation).
  • Hyper-V: parent partition, child partitions, VMBus.

Memory hooks

  • Web services triangle: "Publish-Find-Bind" is PFB, provider publishes, requester finds and binds.
  • UDDI pages: White = Who, Yellow = What, Green = How.
  • SOAP = Envelope, Header, Body, like a letter with an address and contents.
  • Stack: "H-I-P-S", Hardware, IaaS, PaaS, SaaS from bottom to top.
  • Type-1 "bare" means on the metal; Type-2 "hosted" means on the OS.

Coverage checklist

  • Introduction to Service Oriented Architecture: May 2022, Dec 2024 SOA question.
  • Web Services: no past question.
  • Basic Web Services Architecture: Jun 2025, May 2026 architecture question.
  • Introduction to SOAP: covered inside the WSDL and UDDI role question.
  • WSDL and UDDI: May 2023 UDDI elements, May 2023 short note (WSDL), Jun 2025 / May 2026 roles question, Dec 2024 WSDL.
  • REST ful services: Definition: no past question.
  • Characteristics: no past question.
  • Components: no past question.
  • Types: no past question.
  • Software as a Service: May 2026 SaaS and PaaS, May 2024 layered diagram, May 2022 reference model.
  • Plat form as a Service: covered by the May 2026 SaaS and PaaS question.
  • Organizational scenarios of clouds: Dec 2024 deployment models.
  • Administering & Monitoring cloud services: May 2022 administration and monitoring, Dec 2024 monitoring.
  • benefits and limitations: May 2022, May 2023 characteristics question.
  • Study of a Hypervisor: May 2022 (two), May 2023, May 2026, Dec 2024 hypervisor.
Go to where you left off?

Quick Add to Notes

Save questions, your own notes and screenshots into notes filed by unit. It takes a free account.

Create free account

Have an account? Log in