A typical SOA based platform is shown in the diagram below
As shown in the above diagram, when you built applications that are based on SOA, you have to build services (which is not the same as web services). There are many vendors that provide SOA platform for application development. Oracle provides Oracle SOA Suite, Microsoft provides BizTalk Server in combination with Windows Communication Foundation; the list goes on and on. They are all based on creating services (not web services) that expose business functionality that can be reused by any application within or outside an organization in a loosely coupled manner (via XML messages which tend to utilize SOAP format)
Most of the COTS products that provide a SOA platform for application development provide a variation of the features mentioned in the above diagram. Cloud computing as stated before complements the SOA platform. A typical taxonomy for cloud computing as defined by “www.opencloudmanifesto.org” is shown below.
By building applications that are build on SOA platform (NOTE: its not a requirement to built applications on SOA platform in order for them to be hosted as Cloud Applications, however, SOA based applications are ideal candidates for Cloud Applications), it is possible to deploy the applications as Cloud applications thereby benefiting from what cloud computing has to offer in terms of Software sharing, Platform sharing and infrastructure sharing. The cloud could be
- Private cloud (intranet)
- Public cloud (internet)
- Community cloud (a group and/or organization)
- Hybrid cloud.
- Software as a Service (SaaS) - provides a software as a service, example salesforce.com
- Platform as a Service (PaaS) – provides the platform to develop the software which can be used as a service. The Service Provider does not have complete control over the hardware platform.
- Infrastructure as a Service (IaaS) – The infrastructure is provided as a service and the service provider has complete control over the hardware/infrastructure.