Top Banner
Department of Computer Science University of Lahore Term Paper Adv. Software Engineering Topic Service Oriented Architecture and Cloud Computing Presented By: Presented to: Raza Mahmood Sir Zishan Hussain University of Lahore, Lahore 1
12

Topic Service Oriented Architecture and Cloud Computing

Mar 27, 2023

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Topic Service Oriented Architecture and Cloud Computing

Department of Computer ScienceUniversity of Lahore

Term Paper

Adv. Software Engineering

Topic

Service Oriented Architecture and Cloud Computing

Presented By: Presented to:Raza Mahmood Sir Zishan Hussain

University of Lahore, Lahore

1

Page 2: Topic Service Oriented Architecture and Cloud Computing

Table of Content

1. Abstract 3

2. Cloud Computing 3

1. Characteristics of Cloud Computing 3

2. Service models of Cloud-Computing 4

3. Deployment models of Cloud-Computing 5

4. Benefits and risks of Cloud-Computing 5

3. Service-Orientated Architectures 6

1. Components of SOA 7

2. Benefits and risks of SOA 8

4. Cloud Computing and SOA 9

1. Prerequisites of providing services in cloud 10

2. Prerequisites of consuming services in cloud 10

5. Conclusion 11

6. References 12

2

Page 3: Topic Service Oriented Architecture and Cloud Computing

1) Abstract: The cloud is the future. It provides almost infinite flexible and scalable

external computing and processing services, offering significant cost benefits. However, without Service- Oriented Architecture (SOA), organizations will find it almost impossible to reach the cloud. It will enable real-time delivery of products, services and solutions over the Internet and will become essential to business because of its capability to deal with rapid change in external markets. SOA, a flexible, modular approach to deliver IT services, is an essential foundation for emerging technologies like cloud and it provides significant advantages over current IT architectures.

The way organizations do business, is changing at a rapid pace. Now a days, organizations no longer operate in a fixed, predictable environment. Moreover, in this constantly changing environment, the role of IT is also changing. The immediate benefit of combining SOA and Cloud Computing is the need of hour. Cloud computing allows SOA to compress time to value. In the longer term, the benefits include improved collaboration, customer satisfaction and business growth. By offering SOA based business capabilities to the cloud, businesses can improve interactions with business partners and existing customers.

2) Cloud Computing: Cloud Computing describes a broad movement toward the use

of wide area networks ,i.e. the Internet, to enable interaction between IT service providers and consumers. It is a model that enables convenient, on demand network access to a shared pool of configurable computing resources (e.g., servers, storage, applications, services etc) that can be released with minimal service provider interaction. It enables real-time delivery of products, services and solutions over the Internet. It will become essential to business because of its capability to deal with rapid change in external markets. Cloud computing is basically about providing ease of 'access to' and usage of services. It is basically the usage of applications on the virtual servers on the internet. There are come characteristics, service models and deployment models of cloud computing that are described below:

Characteristics of cloud computing: Flexibility: Cloud computing can be used to handle very small or large

processing tasks that can be adjusted in real-time to match demand. If an organization needs 10 servers one day and 100 the next, the cloud can handle such a dynamically varying request.

Efficiency: Clouds offer pooled computing power in a non-dedicated manner, performing like a single large machine. Sharing tasks across this pool reduces costs and improves processing speeds.

Scalability: Cloud computing systems incorporate tens of thousands of servers, offering processing power vastly greater than a traditional data center. IT resources are able to scale 'out and in' quickly and on need basis.

On demand self service: Users are able to monitor and manage computing resources as needed without the help of human administrators.

Broad network access: Computing services are delivered over standard networks and on general devices.

Measured service: IT resource utilization is tracked for each application and tenant, typically in public cloud model.

3

Page 4: Topic Service Oriented Architecture and Cloud Computing

Service models of cloud computing:Service providers are expanding their available offerings to include

the entire traditional IT stack, from platforms, software services to whole applications, as shown in figure. The common thread in cloud computing offerings across all levels of the stack is the consumer/provider relationship and a dependence on the network that connects consumer and the provider.

Infrastructure as a service(Iaas): Cloud Infrastructure provides the distributed physical components to support cloud computing, e.g. storage and processing resources. It allows the provider to abstract the details, such as, which exact hardware an application is using and in which data center the application is running. Server virtualization have made infrastructure as a service more efficient, allowing a higher utilization of processing resources. Virtual machine concepts have also enabled the ability to more rapidly scale server resources in response to changing demand. Once infrastructure is created, the customer can load any operating system they choose on the machine instance and put any data they’d like on the storage.

Platform as a service(Paas): Cloud Platform provides the end-user a developing and operating web-based software applications. PaaS model make all facilities required for development e.g. application design, application development, testing etc. Developer teams frequently work together through their browsers to leverage the virtual cloud platform. Virtual servers running in the cloud can include web servers, application servers, and database engines. Sometimes application programming interfaces(APIs) are also provided to predefined network-based functions. Platform as a service is generally a multi-tenant architecture in which many unrelated organizations may be supported by the same platform infrastructure. The PaaS provider is responsible for ensuring that the application scales appropriately, that storage expands as needed by the customer and that the platform is secure from unauthorized access. Examples of PaaS include force.com and Google app Engine.

4

Page 5: Topic Service Oriented Architecture and Cloud Computing

Software as a service(Saas): Software as a Service (SaaS) is a model of software deployment where an application is provided to the customers as a service across the Internet. A single application is delivered to the customer through the browser. There is no need of installing and running the application on the customer’s own computer. The SaaS provider is completely responsible for availability, security and responsiveness of application. The advantage of this is that when the user logs in, he/she will get the latest version of the application and it relieves the customer’s burden of software maintenance. Disadvantage of this is that the customers gives up the rights over software versions, costs to use the service become a continuous expense, rather than a single expense at time of purchase. The Saas is completely dependent on the network. When network is down, user cannot do any work on the web based application.

Cloud clients: Another application-related function of cloud computing focuses on the distribution of business and personal data across servers on the Internet. For example, an individual may have personal data on Facebook, Flickr, banking data in bank servers and on and on, all available in distributed servers and data centers around the world. These users are using the “cloud” to hold and maintain their data. This distribution of data across the Internet rather than in local desktop repositories resonates with end users because it often compares the use of presentation layer(Cloud Applications) in Cloud Clients such as a browser, the top of the cloud stack.

Deployment models of cloud computing: According to NIST definition of cloud computing there are four

deployment models:

Public: Services and resources are reachable to the public by using the internet. This environment emphasizes the advantages of rationalization, operational simplicity (hosted by a third party) and scalability. The main concern in this type of cloud environment is the security; since this environment is accessible to the public and user data in one stage is hosted by a third party.

Private: Services and resources are reachable within a private institute. This environment emphasizes the advantages of integration, optimization of hardware and scalability. The main concern is the complexity. Security is not a main issue compared to the public cloud as the services are reachable only through private and internal networks.

Community: Services and resources are shared by various institutes with a common aim. It may be organized by one of the institutes or a third party.

Hybrid: It is the combination of the private and the public clouds, where resources can be used either in a public or a private cloud environment. The advantages and the concerns are a mixture of the both.

Benefits and risks of cloud computing:There are some key benefits and risks of cloud computing that

should be examined by leadership team while realignment of its enterprise computing IT portfolio.

Outsourcing to cloud providers: Portions of cloud computing IT stack are effectively outsourced to cloud providers, ranging from hardware

5

Page 6: Topic Service Oriented Architecture and Cloud Computing

through applications. Cloud computing allows a consumer to benefit from the significant capital investment made by a provider. The consumers also benefit significantly by being able to dynamically scale their demand of the cloud services.

Dependence on the network: Availability of the network is necessary to connect the service provider with the consumer. Those who have redundant network connections, this will not be an issue, but for those who don’t, serious consideration should be given to this issue, that how business continues when the network is unavailable or unreliable.

Dependence on specific cloud provider (lock-in): Vendor lock-in is a risk with the current maturity of cloud computing. Cloud provider’s neutrality is often best achieved by utilizing open standards.

Contract and service level agreements(SLA): Cloud offerings are defined with a interface and performance expectation. This agreement can be captured in an Service Level Agreement between the provider and consumer,that can be made a part of the contractual relationship between them.

3) Service-Orientated Architecture: Service-oriented Architecture is a software architecture

design pattern based on distinct pieces of software, providing application functionality as a service to other applications. It is a collection of services that communicate with each other either by simple data passing or it could involve interaction between loosely coupled services that function independently. Service-oriented architecture (SOA) is an approach used to create an architecture based upon the use of services that can be reused in multiple applications as shown in figure.

6

Page 7: Topic Service Oriented Architecture and Cloud Computing

Services (such as RESTful Web services) carry out some small function, i.e. producing data, validating a customer etc. SOA has the ability to use these services again and again within applications (known as composite applications). SOA helps in fixing existing architectures by addressing major systems as services, and abstracting those services into a single domain. SOA allows the reuse of services, and making it unnecessary to start from scratch while upgrading or when modifications are needed.

Service is the important concept. It is a vehicle by which consumer's need are satisfied according to a negotiated contract. A web service is a designed software system that allows machine-to-machine interaction over a network. It has the interface that the machines can process. Other systems interact with the web-services by using HTTP and other web related standards.

Service Oriented Architecture (SOA) has been a point of argument among enterprise architects, solution architects and application architects. Enterprise architects, view SOA as a business initiative and how they relate to the business’ goals and mission. Solution architects, view SOA as a means to deliver solutions faster using services, which enable faster construction. Finally, application architects see SOA as an infrastructure on which to deliver applications based on service interfaces. SOA, as implemented through the common Web Services standards, offers leadership teams having diverse and complex IT portfolio a path forward allowing them to focus on the improvement of their IT support systems.

Components of SOA:Many organizations are transforming to utilize a service-oriented architecture

after seeing its benefits of increased agility and reduces cost. Figure shows SOA framework for providing efficient IT infrastructure.

SOA Governance: It is the definition and implementation of enterprise-wide policies for activities, like:

proposing and developing new services modifying existing services retiring old services after their lifecycle Access of services to third parties Publishing and reuse of services monitoring the progress SOA.

One of the most difficult aspects of SOA governance is establishing lines of responsibility and to create escalation procedures for situations when things go wrong.

7

Page 8: Topic Service Oriented Architecture and Cloud Computing

SOA Service Management: It is the second key management process. SOA governance is concerns how services are created and how they work, while service management also deals with what happens when error occurs. Policies must specify who is responsible foe reporting and resolving errors.

SOA Quality Management: SOA quality management makes sure that the services that are created meet their requirements of business and can be trusted.

Benefits and risks of SOA:SOA brings with it a number of key benefits and risks, that should be

examined by any leadership team while considering a realignment of its enterprise computing IT portfolio, which includes:

Language-neutral integration: The Web Services standards use extensible Markup Language(XML), which is focused on the creation and consumption of delimited text, regardless of the development language used. Programming language neutrality is a key differentiator from previous integration approaches.

Component reuse: In current Web Service technology, once an organization has built a software component and offered it as a service, the rest of the organization can then utilize that service.

Leveraging existing systems: One common use of SOA is to define elements or functions of existing application systems and make them available to the enterprise, leveraging the substantial investment already made in existing applications. The most compelling business case for SOA is often made regarding leveraging this legacy investment, enabling integration between new and old systems components.

Dependence on the network: SOA is fundamentally dependent on the network to connect the service provider with the consumer. For example, Web Service protocols are dependent on Internet protocols to invoke software functions distributed across the network. Poorly performing

8

Page 9: Topic Service Oriented Architecture and Cloud Computing

networks can make a large impact on the availability of Web Services to the consumer.

Provider costs: Creating a generic reusable software component for a broad audience takes more resources than creating a less generic point solution. The cost of reuse, therefore, shifts to the service providers, which benefits the consumers.

Enterprise standards:When many components are being simultaneously developed by individual teams, it becomes critical for the interface of a service to match up to the “call” of a consumer. Similarly, it helps everyone involved, if the interfaces across services have something common in structure and security access mechanisms. Choosing and communicating a comprehensive set of enterprise standards is a responsible approach to aid in enterprise SOA integration.

Agility: When we discuss “agility”, it refers to organizational agility, or the ability of adapting an organization’s tools to meet their current requirements. An organization’s requirements might change over time, e.g. changes in the business or mission, reporting requirements, changes in the law etc. The larger promise of an enterprise SOA is that once a legacy-wrapped components exist, and are accessible on the wide area network (WAN), they can be reassembled to solve new problems.

4) Cloud Computing and SOA: Cloud computing and SOA have overlapping concerns and common

considerations, as shown in Figure. The most important overlap occurs near the top of the cloud computing stack, in the area of Cloud Services, in network accessible application components and software services, such as Web Services.

Both cloud computing and SOA share the concepts of service orientation. Services are available on a common network, Cloud computing focuses on turning aspects of the IT computing stack into commodities that can be purchased from the cloud providers. For example, large-scale online storage can be supplied and automatically allocated in terabyte from the cloud. Similarly, a platform to operate web-based applications can be provided from redundant data centers in the cloud. However, cloud

9

Page 10: Topic Service Oriented Architecture and Cloud Computing

computing is currently a broader term than SOA and covers the entire stack from hardware through the presentation layer software systems.

For successful cloud implementation, a solid service-orientated architecture is required. SOA provides a backbone that allow both front-end application user and enterprise back-end servers to easily access cloud services. With SOA already in place, cloud computing will be easier, faster and more secure. Together SOA and cloud can provide a complete services-based solution.

There are two components to consider when thinking about services in a cloud environment. One is the providing of services to the cloud. And the other is the consuming of those services. Each has different requirements.

Prerequisites for providing services in a cloud: Before providing services into a cloud computing environment, there

are number of requirements that need to be in place if you want to take advantage of cloud computing. If you have implemented SOA, most of the decisions would have been made. For example, to provide 'Software as a Service' requires tools for creating new software services, and these will already be in place.

Virtualization: It is required to run the services in most cost-effective place. This relates to the horizontal view of services in SOA across the organization. Cloud just extends that definition beyond a single organization.

Reusability support: Multiple people can use the service at the same time. A consistent deployment methodology makes sure that each service does not have to be treated individually.

Governance and management of services: This is to provide improved governance and management of services within a cloud environment where they may not be under direct control.

Security and access control: Along with consistent deployment, a well-defined security and access control policies should be provided.

Chargeback and pricing for services: This requirement is also a key SOA focus area: chargeback and pricing for services developed using an industry standard process like the SOA Governance and Management Method.

Prerequisites for consuming services in a cloudOn the service consumption side of cloud computing is another set of

requirements to run and exploit services in the cloud. Ease of access of services: It is a key value proposition for cloud

that can be provided by a user interface, such as WebSphere Portal. High availability of services: Along with easy access, service usage

must be fast and have high availability within IT organization. Service discovery: To consume a service, the discovery of that

service is required, which is a key capability provided by a registry product.

Security and data privacy: As with the provisioning side of the equation, enforcement of security and data privacy will be key requirements.

10

Page 11: Topic Service Oriented Architecture and Cloud Computing

Cloud and SOA need to work together to provide service visibility and governance. In the world of SOA, governance is divided into design-time governance (defining policies to services) and runtime governance (actually applying those policies to real-time traffic). Service visibility and governance will provide service discovery within a cloud and the SOA governance for managing the lifecycle of services that are available in the cloud.

5) Conclusion: Cloud and SOA are not an either/or situation; cloud computing and SOA are

complementary, not replacements for each other. They work best together. Both have a number of common characteristics,like focus on agility and flexibility, and reuse of services. Having SOA and service orientation in place can make moving to cloud easier and less complex because a cloud computing environment is also based on services. Having a service oriented architecture already in place helps businesses achieve value from cloud computing more quickly. Both cloud and SOA are all about delivering services to the business with increased agility, speed and cost effectiveness that can lead to greater innovation and improved return on investment.

Cloud computing demonstrates strong leadership in the delivery of IT services and uses service level agreements as a means of communication with the customer, whereas SOA has not focused on this level of commitment with users. In the end, these two should influence each other to ensure success in the enterprise. Cloud computing, due to its data center and operational foundation, bring a level of maturity that is lacking in SOA. SOA, on the other hand, contributes through governance and interoperability.

11

Page 12: Topic Service Oriented Architecture and Cloud Computing

6) References:

http://www.mitre.org/sites/default/files/pdf/09_0743.pdf

http://www.engpaper.com/service-oriented-modeling-and-architecture.htm

http://www.service-architecture.com/articles/web-services/service-

oriented_architecture_soa_definition.html

http://www.service-architecture.com/articles/cloud-computing/service-

oriented_architecture_soa_and_cloud_computing.html

http://msdn.microsoft.com/en-us/library/aa480021.aspx

http://searchsoa.techtarget.com/definition/service-oriented-architecture

http://msdn.microsoft.com/en-us/library/bb833022.aspx

http://www-01.ibm.com/software/solutions/soa/newsletter/nov09/article_soaandcloud.html

http://www.infoworld.com/article/2676125/cloud-computing/the-cloud-soa-connection.html

http://www.infoworld.com/article/2676125/cloud-computing/the-cloud-soa-connection.html

http://www.infoq.com/articles/Cloud-Realigns-SOA

http://www.service-architecture.com/articles/cloud-

computing/cloud_computing_definition.html

http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf

http://www.ijreat.org/Papers%202013/Issue5/IJREATV1I6035.pdf

http://www.ijcsit.com/docs/Volume%205/vol5issue01/ijcsit2014050153.pdf

12