0% found this document useful (0 votes)
45 views21 pages

Chapter 3.2

The document discusses Service Oriented Architecture (SOA) and web services. It defines SOA and its characteristics. It describes the roles in SOA of service providers and consumers. It also discusses advantages and disadvantages of SOA. The document then explains the components and guiding principles of SOA. Finally, it defines web services and their components.

Uploaded by

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

Chapter 3.2

The document discusses Service Oriented Architecture (SOA) and web services. It defines SOA and its characteristics. It describes the roles in SOA of service providers and consumers. It also discusses advantages and disadvantages of SOA. The document then explains the components and guiding principles of SOA. Finally, it defines web services and their components.

Uploaded by

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

UNIVERSITY INSTITUTE OF ENGINEERING

COMPUTER SCIENCE ENGINEERING


Bachelor of Engineering (Computer Science & Engineering)
Subject Name: Cloud Computing & Distributed Systems
Subject Code: 21CST-378/21ITT-378

DISCOVER . LEARN . EMPOWER


Cloud Computing & Distributed Systems
Course Outcomes
CO1: Understanding of various paradigm of cloud computing
and distributed systems.
CO2: Articulate the basic concepts, key technologies,
strength and limitation of cloud computing and possible
applications.
CO3: Appraise the architecture and infrastructure of cloud
computing including SaaS, PaaS, IaaS, UCaaS/FaaS public
cloud, private cloud and hybrid cloud.
CO4: Interpret various data, scalability, security and cloud
services to acquire efficient database for cloud storage.
CO5: Develop the appropriate cloud computing solutions
and recommendations according to the application used.
2
Cloud Computing &
Distributed Systems

Contents
1. Cloud Services Models &
Features: SaaS
2. PaaS
3. IaaS
4. UcaaS/FaaS
5. Service oriented architecture
and web services
6. Features of cloud computing
architectures

3
Cloud Computing & Distributed Systems

UNIT 2
CLOUD INFRASTRUCTURE AND SERVICES

CHAPTER 3
CLOUD SERVICE MODELS

4
Service Oriented Architecture (CO-3)
Service-Oriented Architecture (SOA) is a stage in the evolution of application development and/or
integration. It defines a way to make software components reusable using the interfaces.

Formally, SOA is an architectural approach in which applications make use of services available in the
network. In this architecture, services are provided to form applications, through a network call over
the internet. It uses common communication standards to speed up and streamline the service
integrations in applications. Each service in SOA is a complete business function in itself. The services
are published in such a way that it makes it easy for the developers to assemble their apps using
those services. Note that SOA is different from microservice architecture.

SOA allows users to combine a large number of facilities from existing services to form applications.
SOA encompasses a set of design principles that structure system development and provide means
for integrating components into a coherent and decentralized system.
SOA-based computing packages functionalities into a set of interoperable services, which can be
integrated into different software systems belonging to separate business domains.
5
6
The different characteristics of SOA are as follows :
o Provides interoperability between the services.
o Provides methods for service encapsulation, service discovery, service composition,
service reusability and service integration.
o Facilitates QoS (Quality of Services) through service contract based on Service Level
Agreement (SLA).
o Provides loosely couples services.
o Provides location transparency with better scalability and availability.
o Ease of maintenance with reduced cost of application development and
deployment.

There are two major roles within Service-oriented Architecture:

1. Service provider: The service provider is the maintainer of the service and the organization
that makes available one or more services for others to use. To advertise services, the provider
can publish them in a registry, together with a service contract that specifies the nature of the
service, how to use it, the requirements for the service, and the fees charged.
2. Service consumer: The service consumer can locate the service metadata in the registry and
develop the required client components to bind and use the service. 7
Services might aggregate information and data retrieved from other services or create workflows of
services to satisfy the request of a given service consumer. This practice is known as service
orchestration Another important interaction pattern is service choreography, which is the
coordinated interaction of services without a single point of control.

8
Components of SoA

9
Guiding Principles of SOA:
1. Standardized service contract: Specified through one or more service description documents.
Loose coupling: Services are designed as self-contained components, maintain relationships that
minimize dependencies on other services.
2. Abstraction: A service is completely defined by service contracts and description documents. They
hide their logic, which is encapsulated within their implementation.
3. Reusability: Designed as components, services can be reused more effectively, thus reducing
development time and the associated costs.
4. Autonomy: Services have control over the logic they encapsulate and, from a service consumer point
of view, there is no need to know about their implementation.
5. Discoverability: Services are defined by description documents that constitute supplemental
metadata through which they can be effectively discovered. Service discovery provides an effective
means for utilizing third-party resources.
6. Composability: Using services as building blocks, sophisticated and complex operations can be
implemented. Service orchestration and choreography provide a solid support for composing services
and achieving business goals.

10
Advantages of SOA:
1. Service reusability: In SOA, applications are made from existing services. Thus, services can be reused to make
many applications.
2. Easy maintenance: As services are independent of each other they can be updated and modified easily without
affecting other services.
3. Platform independent: SOA allows making a complex application by combining services picked from different
sources, independent of the platform.
4. Availability: SOA facilities are easily available to anyone on request.
5. Reliability: SOA applications are more reliable because it is easy to debug small services rather than huge codes
6. Scalability: Services can run on different servers within an environment, this increases scalability
Disadvantages of SOA:
1.High overhead: A validation of input parameters of services is done whenever services interact this decreases
performance as it increases load and response time.
2. High investment: A huge initial investment is required for SOA.
3. Complex service management: When services interact they exchange messages to tasks. the number of messages
may go in millions. It becomes a c umbersome task to handle a large number of messages.
Practical applications of SOA: SOA is used in many ways around us whether it is mentioned or not.
1.SOA infrastructure is used by many armies and air forces to deploy situational awareness systems.
2.SOA is used to improve healthcare delivery.
3. Nowadays many apps are games and they use inbuilt functions to run. For example, an app might need GPS so it
uses the inbuilt GPS functions of the device. This is SOA in mobile solutions.
4. SOA helps maintain museums a virtualized storage pool for their information and content.
11
12
Web Services (CO-3)

The Internet is the worldwide connectivity of hundreds of thousands of computers belonging to many different
networks.
A web service is a standardized method for propagating messages between client and server applications on the World
Wide Web. A web service is a software module that aims to accomplish a specific set of tasks. Web services can be
found and implemented over a network in cloud computing.
The web service would be able to provide the functionality to the client that invoked the web service.
A web service is a set of open protocols and standards that allow data exchange between different applications or
systems. Web services can be used by software programs written in different programming languages and on different
platforms to exchange data through computer networks such as the Internet. In the same way, communication on a
computer can be inter-processed.

Any software, application, or cloud technology that uses a standardized Web protocol (HTTP or HTTPS) to connect,
interoperate, and exchange data messages over the Internet-usually XML (Extensible Markup Language) is considered a Web
service. Is.

Web services allow programs developed in different languages to be connected between a client and a server by exchanging
data over a web service. A client invokes a web service by submitting an XML request, to which the service responds with an
XML response.

13
Web Service Components
XML and HTTP is the most fundamental web service platform. All typical web services use the following components:
1. SOAP (Simple Object Access Protocol)
SOAP stands for "Simple Object Access Protocol". It is a transport-independent messaging protocol. SOAP is built on sending XML
data in the form of SOAP messages. A document known as an XML document is attached to each message.
Only the structure of an XML document, not the content, follows a pattern. The great thing about web services and SOAP is that
everything is sent through HTTP, the standard web protocol.
Every SOAP document requires a root element known as an element. In an XML document, the root element is the first element.
The "envelope" is divided into two halves. The header comes first, followed by the body. Routing data, or information that directs
the XML document to which client it should be sent, is contained in the header. The real message will be in the body.

2. UDDI (Universal Description, Search, and Integration)


UDDI is a standard for specifying, publishing and searching online service providers. It provides a specification that helps in hosting
the data through web services. UDDI provides a repository where WSDL files can be hosted so that a client application can search
the WSDL file to learn about the various actions provided by the web service. As a result, the client application will have full access
to UDDI, which acts as the database for all WSDL files.
The UDDI Registry will keep the information needed for online services, such as a telephone directory containing the name,
address, and phone number of a certain person so that client applications can find where it is.

3. WSDL (Web Services Description Language)


The client implementing the web service must be aware of the location of the web service. If a web service cannot be found, it
cannot be used. Second, the client application must understand what the web service does to implement the correct web service.
WSDL, or Web Service Description Language, is used to accomplish this. A WSDL file is another XML-based file that describes what a
web service does with a client application. The client application will understand where the web service is located and how to
access it using the WSDL document.
14
15
How does web service work?
The client will use requests to send a sequence of web service calls to the server hosting the actual web service.
Web Services in Cloud Computing
Remote procedure calls are used to perform these requests. The calls to the methods hosted by the respective web
service are known as Remote Procedure Calls (RPC). Example: Flipkart provides a web service that displays the
prices of items offered on Flipkart.com. The front end or presentation layer can be written in .NET or Java, but the
web service can be communicated using a programming language.

The data exchanged between the client and the server, XML, is the most important part of web service design. XML
(Extensible Markup Language) is a simple, intermediate language understood by various programming languages. It
is the equivalent of HTML.

As a result, when programs communicate with each other, they use XML. It forms a common platform for
applications written in different programming languages to communicate with each other.

Web services employ SOAP (Simple Object Access Protocol) to transmit XML data between applications. The data is
sent using standard HTTP. A SOAP message is data sent from a web service to an application. An XML document is
all that is contained in a SOAP message. The client application that calls the web service can be built in any
programming language as the content is written in XML.

16
Features of Web Service
(a) XML-based: A web service's information representation and record transport layers employ XML. There is no need for
networking, operating system, or platform bindings when using XML. At the mid-level, web offering-based applications are highly
interactive.
(b) Loosely Coupled: The subscriber of an Internet service provider may not necessarily be directly connected to that service
provider. The user interface for a web service provider may change over time without affecting the user's ability to interact with the
service provider. A strongly coupled system means that the decisions of the mentor and the server are inextricably linked, indicating
that if one interface changes, the other must be updated.
A loosely connected architecture makes software systems more manageable and easier to integrate between different structures.
(c) Ability to be synchronous or asynchronous: Synchronicity refers to the client's connection to the execution of the function.
Asynchronous operations allow the client to initiate a task and continue with other tasks. The client is blocked, and the client must
wait for the service to complete its operation before continuing in synchronous invocation. Asynchronous clients get their results
later, but synchronous clients get their effect immediately when the service is complete. The ability to enable loosely connected
systems requires asynchronous capabilities.
(d) Coarse Grain: Object-oriented systems, such as Java, make their services available differently. At the corporate level, an operation
is too great for a character technique to be useful. Building a Java application from the ground up requires the development of
several granular strategies, which are then combined into a coarse grain provider that is consumed by the buyer or service.
Corporations should be coarse-grained, as should the interfaces they expose. Building web services is an easy way to define coarse-
grained services that have access to substantial business enterprise logic.
(e) Supports remote procedural calls: Consumers can use XML-based protocols to call procedures, functions, and methods on
remote objects that use web services. A web service must support the input and output framework of the remote system.
Enterprise-wide component development Over the years, JavaBeans (EJBs) and .NET components have become more prevalent in
architectural and enterprise deployments. Several RPC techniques are used to both allocate and access them. A web function can
support RPC by providing its services, similar to a traditional role, or translating incoming invocations into an EJB or .NET component
invocation.
(f) Supports document exchanges: One of the most attractive features of XML for communicating with data and complex entities.
17
Summary
Cloud computing service models can be summarized into three main categories: Infrastructure as
a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). IaaS provides
virtualized computing resources, including virtual machines, storage, and networking, giving
users maximum control over their infrastructure. PaaS simplifies application development by
offering a platform with development tools, middleware, and database management, allowing
users to focus on coding while the platform manages the underlying infrastructure. SaaS delivers
software applications over the internet on a subscription basis, eliminating the need for local
installations and allowing users to access applications through web browsers. The choice among
these service models depends on factors such as control requirements, development needs, and
the level of responsibility users want to delegate to the cloud service provider.

18
QUIZ

1. What does SaaS stand for?


a. System as a Service b. Software as a Service c. Storage as a Service d. Security as a Service

2. In which cloud service model is the underlying infrastructure managed by the cloud provider, allowing users to focus on application development?
a. IaaS b. PaaS c. SaaS d. FaaS

3. Which service model is characterized by delivering software applications over the internet on a subscription basis?
a. IaaS b. PaaS c. SaaS d. FaaS

4. What does FaaS stand for?


a. Frontend as a Service b. Function as a Service c. Framework as a Service d. File as a Service

5. In FaaS, how are functions executed?


a. Continuously running instances b. On-demand, in response to events c. Through virtual machines d. Via scheduled tasks

6. Which cloud service model provides virtualized computing resources, including virtual machines, storage, and networking?
a. IaaS b. PaaS c. SaaS d. FaaS

7. Which service model allows users to run individual functions in response to events without managing the underlying infrastructure?
a. IaaS b. PaaS c. SaaS d. FaaS

8. In SaaS, how do users typically access applications?


a. Locally installed software b. Through a command line interface c. Via web browsers d. Through a centralized server

19
REFERENCES
TEXT BOOKS
1. Cloud Computing: A Practical Approach by Toby Velte, Anthony Velte, Robert C. Elsenpeter, McGraw Hill Professional, 22 Oct 2009
2. Buyya, Rajkumar, James Broberg, and Andrzej M. Goscinski, eds. Cloud computing: Principles and paradigms. Vol. 87. John Wiley & Sons, 2010.
3. Miller, Michael. Cloud computing: Web-based applications that change the way you work and collaborate online. Que publishing, 2008.
4. Hurwitz, Judith S., et al. Cloud computing for dummies. John Wiley & Sons, 2010.
5. Kris Jamsa. Cloud Computing: SaaS, PaaS, IaaS, Virtualization, Business Models, Mobile, Security and more, Jones &Bartlet Learning Company LC, 20012
REFRENCE BOOKS
1. G. Pfister. In Search of Clusters. Prentice Hall PTR, NJ, 2nd Edition, NJ, 1998.
2. Cloud Computing: Implementation, Management, and Security, by John Rittinghouse and James F.Ransome, CRC Press Taylor and Francis Group
3. Joshy Joseph and Craig Fellenstein, Grid Computing, Person Edition, (2004).
4. Maozhen Li, Mark Baker, “The Grid Core Technologies”, John Wiley & Sons (2005).
5. Cloud Computing: A Practical Approach for Learning and Implementation Paperback – 1 January 2014 by Srinivasan, Pearson Education
Video Links
https://www.youtube.com/watch?v=A3FPxuKlnkU&list=PLFW6lRTa1g82dte3YD_7-GoZXcBiK6K9G
Web Links
1. https://www.geeksforgeeks.org/what-is-a-distributed-system/
2. https://www.geeksforgeeks.org/difference-between-cloud-computing-and-distributed-computing/
3. https://www.ibm.com/topics/distributed-cloud
4. https://www.geeksforgeeks.org/cloud-computing/
5. https://learn.rumie.org/jR/bytes/learn-the-basics-of-cloud-computing-in-3-minutes/?
utm_source=bing&utm_medium=cpc&utm_campaign=RumieLearn-Bytes%20%28non-NA%29&utm_term=cloud%20computing&utm_content=TS 20
%20-%20Computing%20In%20Cloud%20Computing
THANK YOU

You might also like