Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SaaS, SOA and Web Services

This question may be foolish, but I am really confused.

I want to implement a Software as a Service (SaaS), and I thought that I can use Visual Studio and WCF to do it. But I've read that WCF and Web Services are a SOA implementation and not a SaaS.

Can I use WCF to implement a SaaS? What's the relation between SaaS, SOA and Web Services?

like image 511
user1900858 Avatar asked Jan 11 '13 12:01

user1900858


People also ask

What is SOA in SaaS?

Many people have heard of both SOA (Service-Oriented Architecture) and SaaS (Software as a Service) but are unsure of the difference between the two. This article explores what separates SOA and SaaS and aims to give you a better understanding of them.

What is SOA and web services?

SOA is an architectural style for building software applications that use services available in a network such as the web. It promotes loose coupling between software components so that they can be reused. Applications in SOA are built based on services.

What is the difference between SOA and SaaS?

What is the difference between SaaS and SOA? SOA is a manufacturing model which deals with designing and building software by applying the service oriented computing principles to software solutions, while SaaS is a model for sales and distribution of software applications.

Is SOA and Web service same?

A Web service is a "call" to an application, a system, or a hub that asks a question, like: "Does this customer already exist?" By definition, a Web service uses the web to communicate its business question. SOA, on the other hand, is the architectural framework that enables a series of those Web services to occur.


1 Answers

SaaS is just a method of software delivery. Think of it this way: You are a software provider and you need to provide your clients with software applications that they want to use. But you don't sell them a DVD and say: "Here! Go install this on your servers and use it". You instead host the application on your own servers and - for a subscription fee - provide users access to it over the web. It's externalization of applications (e.g. email, human resources application, accounting and taxes etc).

When we talk SaaS, we talk fully functional standalone applications that offer some business service.

SOA is something similar but at a lower level. It doesn't provide business service but instead provides small isolated processes as a service.

SOA is an architecture style to building software. The idea is that you build your application by putting together (or interacting with) a set of stateless, reusable, decoupled network services (e.g. web services).

I think what confuses people is the term "service". Both SaaS and SOA provide "services". But it's the target that's different: SOA offers services to other applications as opposed to SaaS that offers services to users.

You can off course use SOA to build your SaaS application. It's not mandatory but its often preferable. With SaaS you provide services to more clients and having it built on top of a SOA architecture makes the application easier to scale than a more monolithic "do it all" application.

TL;DR: I'll paraphrase something I've read on a blog:

Deciding to deliver tax capabilities over the web, is SaaS.
Enabling the tax application to integrate with IRS for e-filing and internal return verification, is SOA.

like image 127
Bogdan Avatar answered Sep 18 '22 05:09

Bogdan