Service-oriented architecture is set of design principle to provide business solution by integrating different services which is a business solution, it normally adopted by enterprise which promote loose coupling and reusability. Instead, Cloud computing is a delivery solution to provide another form of loose coupling in infrastructure level, utilizing the computing resource, providing a high level quality of service, it is a platform as a service (PaaS), some people may consider cloud computing as a evolution of SOA in the sense that service-oriented for different resource like, storage, computing and bandwidth etc. This is the basic relationship of cloud computing and SOA.
So SOA is business solution and cloud computing is a delivery solution/platform, we can simply deploy the enterprise SOA solution on the cloud, it can take the advantage of both size, we can still enjoy the loose coupled SOA solution, building different solution by reuse integrating different existing service or adding new service (business process), at the meantime, we can enjoy the quality of service of the platform, the high reliability and scalability etc., this is pretty good, isn't it? This relationship increase the value of the entire enterprise solution in many aspect
One more step forward, as with the cloud, we can expose the business solution to the public, business service/process may not restricted to internal only, it may be sensitive to some enterprise to disclose some business process to the public and security indeed is a concern, but the concept can be applied to general public as well, take the public point of view, everyone can develop their own business service and put it on the cloud, the loose coupling and reusability of SOA can be extended to an further level, if someone want to solve a business problem, he can simply integrate the existing business service on the cloud without reinvent every business process by himself, which is a more cost-effective solution in general. Going back to the enterprise point of view, they can selectively to expose their service to the public or selectively integrate the necessary service into their business solution. This approach is already developing into real business, in Apple iOS, mobile phone users buy the application in the AppStore, they buy and sell in application level , but in the newly introducing Microsoft Cloud Platform, Windows Azure Platform, Microsoft is also introducing the marketplace for developers to buy and sell many different kind of product, including the business component(service).
With the discussion of the previous paragraph, this relationship between cloud computing and SOA is very valuable and useful, which heavily adpoted the concept of SOA in the sense of loose coupling and reusability. In order to justify the value-added in this process, it is not difficult to find out that the overhead cost can be extremely high, if someone is developing a business solution by integrating different business component form the cloud, he may take a considerable time to do the interfacing work for different business component if it is not standardized. Standardization of the service interface will be an essential topic to reduce the overhead cost and justify the value of the SOA-Cloud model.
Before cloud become popular, web services have been developed for many years, web services basically comply with the SOA concept, so it would be hugely beneficial to the adoption of cloud computing, standardizing the web service standard means that every standard web service can communicate with each other, when we put all the standard web services to the cloud, the cloud is already a rich market of many business component which can be reused. That's why the standardized is so important.
Reference:
沒有留言:
張貼留言