Search This Blog

Saturday 20 November 2010

Relation of SOA with Cloud Computing and Web Services Standardization in adoption of Cloud Computing


Service Oriented Architecture (SOA) is a flexible set of design principles used during the phases of systems development and integration. A deployed SOA-based architecture will provide a loosely-integrated suite of services that can be used within multiple business domains. According to prof. Lee (Hong Kong University), SOA is an architectural style that promotes implementation and delivery of business functions as software services. Services are published for invocation by the applications inside or outside an enterprise in a loosely coupled and interoperable fashion. Business applications are built by reusing and integrating services provided internally and externally. SOA is not Web Services but can be implemented using Web Services standards.


Cloud Computing is Internet-based computing, whereby shared resources, software and information are provided to computers and other devices on-demand, like a public utility. According to Galen Gruman and Eric Knorr, cloud computing can include everything from SaaS (Software as a Service providers) through development environment services (building applications on the service provider's infrastructure which can then be delivered to users over the Internet.)


In short, SOA is mainly for enterprise while the cloud computing definition is for Internet-based services.

Cloud Computing and SOA have two aspects in common:
1.      Both emphasize the service concept. Both Cloud Computing Architecture and SOA delegate work to other parts of the system, either by the service provider or other business components. People can use these services without worrying about the implementation details and scalability.
2.      They promote loose coupling. Both architectures demand minimum dependencies among different parts of the system. As a result, any single change on one part of the system has limited impact on the overall system.

Differences between Cloud Computing and SOA
1.      SOA services are focused on business and Cloud Computing Services are typical layered software stacks.
2.      SOA is for application architecture and Cloud Computing is for IT delivery.

According to Paul Fremantle, Cloud based systems must be built on SOA and modern Enterprise Architecture principals if they are to be effective. This is because; today's cloud applications are often well-defined, clean, insular applications. That is because the typical messy, interconnected enterprise app simply cannot be built in the cloud today. The data isn't available and so companies looking to create cloud applications tend naturally to avoid those. For companies to bring cloud experience to their SOA, they may start by creating clouds of their physical infrastructure, storage, or networking capabilities, which are all worthy pursuits. But the best way to cloud-enable a SOA is to create cloud of services. This is easier said than done, but as a general outline it would be a two step process:
  1. Virtualized services
  2. Manage the virtualization
Virtualizing the services in a SOA is a logical first step towards a cloud-enabled SOA. There are solutions in the marketplace today, the WebSphere CloudBurst Appliance being one, which provide users a virtual packaging that includes an operating system, service infrastructure, and service. After successfully virtualizing the services in SOA, capabilities to manage such virtualization need to be put in place. These include the ability to create, deploy, dynamically allocate, and track usage of these virtualized services. Once both service virtualization and management of that virtualization are in place, the result is a cloud of services


Whichever way we put in, it is a debatable statement that should SOA n Cloud Computing used together or not. They both are different yet complement each other very well. Hence, for now, it can be said that the future of the industries do hold on the successful merger of the two services.

Web Services Standardization and Cloud Computing
The W3C defines a "web service" as "a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically Web Services Description Language WSDL)


Standardization of these web services has far more importance than just being the first step to cloud, as it makes the transition much faster and more secure.
According to Richard Martin J. Nicholas Hoover, everyone agrees that cloud services such as Amazon Web Services, Google Apps, and Salesforce.com CRM have become bona fide enterprise options, but there are also questions about privacy, data security, industry standards, vendor lock-in, and high-performing apps that have yet to be vaporized as cloud services.

At a meeting in February 2010, ITU-T’s Telecommunication Standardization Advisory Group (TSAG) proposed to establish a Focus Group on cloud computing to identify and study the standards needs in this area. The vision of Liberty Alliance is to build open standard-based specifications for federated identity and identity-based Web services where consumers, citizens, businesses and governments can more easily conduct online transactions while protecting the privacy and security of identity information

Standardization in Web Services is important for Cloud Computing because of the following reasons: For different clouds to be interoperable, To ensure that their cloud provider meets the requirements in confidentiality, integrity, non-repudiation, availability, reliability, efficient retrieval, and data sharing, Successful cloud migration.

The above mentioned reasons show us the importance of the standardization required in the Cloud Computing and also the fact that how much its architecture away from being perfect. But as the future is held with this key technology, everyone is looking ahead for the ideal consistency in Cloud Computing

No comments:

Post a Comment