Where to Deploy SOA?
Processes developed under the SOA model have a strong demonstrated ability to function on a stand alone basis. The other great aspect of SOA is that these indigenous processes can be further combined to orchestrate a whole application.
This block wise approach is suitable in scenarios where a largely standardized solution is required by many potential users in various application scenarios. As SOA based applications are built from smaller processes, slight tweaks are quite possible.
Software as a Service – SaaS
This is one of the many forms of cloud computing solutions. In this model, a Cloud Service Provider (CSP) offers a fully functional software solution in a virtualized environment to end users. In exchange for usage, the user pays a fee to the CSP.
In a SaaS model, all the hardware that is required to deliver the software is the sole responsibility of the CSP. The user simply logs into the CSPs architecture and avails the functionality of the software solution.
In addition to the hardware and software, all the licensing requirements for the software are also the responsibility of the CSP. Keeping the software solution fully updated and patched for security updates is also the domain of the CSP.
A SaaS model is highly convenient for the end user as the cloud tenant does not need to invest in procuring hardware to run the software solution. The CSP in turn allows many users to avail the software solution that are collectively called cloud tenants.
Diff b/w SOA and SaaS
Although the major similarity among SOA and SaaS is that both solutions are designed to run or execute an application. It is basically the difference in how the solution is deployed that makes them two different entities.
In the case of SOA, the end user has to procure and maintain the support hardware over which the solution will run. The hardware requirements for the SOA solution will vary depending on the complexity and scale of the process or application.
Still, this entails both hardware procurement and maintenance costs. In case of SOA, there is the additional burden on the user entity to seamlessly integrate the solution into its existing architecture. This may give rise to integration related challenges.
A SaaS solution in contrast, comes as a fully packaged product that can instantly be used without procuring even a single additional piece of hardware. Secondly, the software offered by CSPs is highly standardized and users know the functionality.
On the contrary, an SOA based solution may have a fairly steep learning curve for the using entity. Even a small tweak to the SOA delivered solution will require a deep understanding of the underlying logic, which will require both time and resources.
Although the choice between SOA and SaaS based architecture will vary with the unique preferences of each entity, we can safely conclude that a prospecting organization must first exhaust all options for a SaaS solution, before going for SOA.