SOA and cloud computing both rely on a service-oriented approach and loose coupling between services. SOA focuses on defining business services that can be combined to create business applications, while cloud computing provides layered services like infrastructure, platform, and software. While SOA is used for application architecture, cloud computing delivers IT services. The services in both can be reused. SOA uses web services standards that enable cloud computing to implement applications using a SOA approach.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
165 views25 pages
1.3.SOA and Cloud Computing
SOA and cloud computing both rely on a service-oriented approach and loose coupling between services. SOA focuses on defining business services that can be combined to create business applications, while cloud computing provides layered services like infrastructure, platform, and software. While SOA is used for application architecture, cloud computing delivers IT services. The services in both can be reused. SOA uses web services standards that enable cloud computing to implement applications using a SOA approach.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25
SOA and Cloud Computing
Dr. B.N.Gohil - SVNIT 1
Technological drivers for Cloud • The success of cloud computing is due to service- oriented architecture (SOA), virtualization, multicore technology, memory and storage technologies, networking technologies, Web 2.0, and Web 3.0. • Also, the advancements in programming models, software development models, pervasive computing, operating systems (OSs), and application environment have contributed to the successful deployment of various clouds.
Dr. B.N.Gohil - SVNIT 2
SOA – Service Oriented Architecture • SOA is a flexible set of design principles and standards used for systems development and integration. • A properly implemented SOA-based system provides a loosely coupled set of services that can be used by the service consumers for meeting their service requirements within various business domains. • Cloud computing is a service delivery model in which shared services and resources are consumed by the users across the Internet just like a public utility on an on- demand basis. • SOA is used by enterprise applications, and cloud computing is used for availing the various Internet-based services.
Dr. B.N.Gohil - SVNIT 3
• Different companies or service providers may offer various services such as financial services, health-care services, manufacturing services, and HR services. • Various users can acquire and leverage the offered services through the Internet. • The programs running on cloud could be implemented using SOA-related technologies. • A cloud user can combine the services offered by a cloud service provider (CSP) with other in-house and public cloud services to create SOA-based composite applications.
Dr. B.N.Gohil - SVNIT 4
Service • Definition: The performance of work (a function) by one for another.
• The notion of Service also includes:
➢The capability to perform work for another.
➢The specification of the work offered for another. ➢The offer to perform work for another.
• In SOA, services are the mechanisms by which needs
and capabilities are brought together.
Dr. B.N.Gohil - SVNIT 5
Example • An electric utility has the capacity to generate and distribute electricity (the underlying capability). The wiring from the electric company’s distribution grid (the service) provides the means to supply electricity to support typical usage for a residential consumer’s house (service functionality), and a consumer accesses electricity generated (the output of invoking the service) via a wall outlet (service interface). In order to use the electricity, a consumer needs to understand what type of plug to use, what is the voltage of the supply, and possible limits to the load; the utility presumes that the customer will only connect devices that are compatible with the voltage provided and load supported; and the consumer in turn assumes that compatible consumer devices can be connected without damage or harm (service technical assumptions).
Dr. B.N.Gohil - SVNIT 6
Cont. • A residential or business user will need to open an account with the utility in order to use the supply (service constraint) and the utility will meter usage and expects the consumer to pay for use at the rate prescribed (service policy). When the consumer and utility agree on constraints and polices (service contract), the consumer can receive electricity using the service and the consumer can have payment sent (e.g. a cash payment or electronic funds transfer) to the utility (reachability).
Dr. B.N.Gohil - SVNIT 7
What is Web Services? • “Software application identified by a URI, whose interfaces and bindings are capable of being defined, described, and discovered as XML artifacts” – W3C Web Services Architecture Requirements, Oct. 2002 • “Programmable application logic accessible using Standard Internet Protocols…” – Microsoft • “An interface that describes a collection of operations that are network accessible through standardized XML messaging …” – IBM • “Software components that can be spontaneously discovered, combined, and recombined to provide a solution to the user’s problem/request … “ - SUN
Dr. B.N.Gohil - SVNIT 8
User’s View • Software components designed to provide specific operations (“services”) accessible using standard Internet technology • Not tied to any one operating system or programming language • Should be self-describing: – publish a public interface to the services • Should be discoverable: – Mechanism for publishing what you have created – Can be found via a simple ‘find’ mechanism • Usually through SOAP (Simple Object Access Protocol) messages carrying XML documents, and a HTTP transport protocol or using REST (REpresentational STate)
Dr. B.N.Gohil - SVNIT 9
Client Server Model
• Client needs to:
– identify location of the required service – know how to communicate with the service to get what it required.
• Uses service registry - a third party
Dr. B.N.Gohil - SVNIT 10
SOA model • Services “published” in a Service registry.
• Service requestor asks Service registry to
locate the service.
• Service requestor “binds” with service
provider to invoke service.
Dr. B.N.Gohil - SVNIT 11
SOA Architectural model
Dr. B.N.Gohil - SVNIT 12
Web Services - Stack • Service providers publish the details of their services in the service registry using an Extensible Markup Language (XML) called Web Services Description Language (WSDL). • Service requestors find the suitable services from the service registry using specifications such as Universal Description, Discovery, and Integration (UDDI). • Service providers and service requestors communicate with each other using protocols such as Simple Object Access Protocol (SOAP). • SOAP allows a program or service running on one platform to communicate with another program or service running on a different platform, using the Hypertext Transfer Protocol (HTTP) and its XML as the mechanisms for information exchange.
Dr. B.N.Gohil - SVNIT 13
Web Services
Dr. B.N.Gohil - SVNIT 14
SOA: Benefits • SOA enables mutual data exchange between programs of different vendors without the need for additional programming or changes to the services. • The services should be independent, and they should have standard interfaces that can be called to perform their tasks in a standard way. • A service need not have prior knowledge of the calling application, and the application does not need to have knowledge about how the tasks are performed by a service.
Dr. B.N.Gohil - SVNIT 15
• Reuse of services: results in lower development/ maintenance costs and in quicker time to market. • 2. Agility: through the wide use of standards such as web services, the ability to change the business processes quickly when needed to support the change in the business activities. • 3. Monitoring: It helps to monitor the performance of various services to make the required changes. • 4. Extended reach: In the collaboration between enterprises or in the case of shared processes, it is the ability to get the service of various other processes for completing a particular task.
Dr. B.N.Gohil - SVNIT 16
Similarities – SOA and Cloud • both rely on the service concept to achieve the objectives • SOA and cloud computing use service delegation in that the required task is delegated either to service provider (in the case of cloud computing) or to other application or business components in the enterprise (in the case of SOA). • both cloud computing and SOA promote loose coupling among the components or services, which ensures the minimum dependencies among different parts of the system.
Dr. B.N.Gohil - SVNIT 17
Differences: SOA and Cloud • The services in SOA mainly focus on business. Each service in SOA may represent one aspect of the business process. • The services could be combined together to provide the required complete business application or business solution. Hence, in this sense, the services are horizontal. • Various services in cloud computing are usually layered such as infrastructure, platform, or software, and the lower layer services support the upper services to deliver applications. Hence, the services in this case are vertical
Dr. B.N.Gohil - SVNIT 18
• SOA is used for defining the application architecture. The various components or services of the application are divided based on their roles in the SOA applications. That means the solution for a business problem could be achieved by combining the various abstract services performing the required functions. The services in the SOA can be reused by other applications. • Cloud computing is a mechanism for delivering IT services. The various services can be divided or grouped based on their roles such as infrastructure, platform, or software. The services in this case could also be reused by other applications. Dr. B.N.Gohil - SVNIT 19 How SOA meets Cloud • The web services standards (WS*) used in SOA are also used in the cloud computing domain for solving various issues, such as asynchronous messaging, metadata exchange, and event handling. • SOA is an architecture, and cloud computing is an instance of architecture or an architectural option, not an architecture by itself. • When used with cloud computing, SOA helps to deliver IT resources as a service over the Internet, and to mix and match the resources to meet the business requirements. • SOA using cloud computing architecture provides the agility in such a way that it could easily be changed to incorporate the business needs since it uses services that are configured through a configuration or process layer.