6

I'm looking to offer a software product using the SaaS model. This of course will require that I build a web site where customers can sign up, log in, manage their membership and billing options.

Now suppose i have a software like calculator (just an example) which is basically an asp.net WPF application. Now i want to offer this software (application) as a service for my customers.

So now upto this point i have :

  • A website having above mentioned functionality (developed in Asp.Net MVC-5).
  • A software which i want to offer as an SaaS (develop in asp.net WPF, desktop application)

Now i want to know how i will integrate these two things to create a good multi-tenant SaaS service? How to publish this? Which platform should i use to publish this Window Azure, Amazon etc.?

Or

What i am thinking is not possible, i have to develop a software (which i want to offer as SaaS) by using web technologies ? Is this the case?

I am learning multi-tenancy, so please let me know if i am totally on a wrong path and guide me on correct path. Thanks!

Gaurav
  • 8,367
  • 14
  • 55
  • 90
  • Multi tenancy is not only about web, platform as service is an example of the same. there is a lot you need to look into right from database design architecture(Sepereate DB,Shared Db Seperate Schema,Shared Db shared Schema) to hosting environment – Vinay Pandey Dec 27 '13 at 09:55

3 Answers3

6

WPF is a desktop client application technology. It is not intended to be distributed as a service. You will have to rewrite your application so that it is a web application (ASP.NET or some other platform if you don't want to use .NET).

Then you will have to make it multi-tenant so that each client can run it in isolation without interfering with other clients data and you are into the SaaS business. If your application depends on a database, you will have to decide how to make this isolation: whether you will make it at a database level or at the DB schema.

Obviously you will need to choose a hosting for your service. Windows Azure, Amazon, Rackspace, ... are popular choices just to name a few. Depending on your specific needs you might pick one or another.

Darin Dimitrov
  • 1,023,142
  • 271
  • 3,287
  • 2,928
  • thanks darin, i got your point, but i have a question, i used http://office.microsoft.com/en-in/ and i was thinking how microsoft created that, means as you are saying that `desktop client application is not intended to be distributed as a service` than office is also a desktop client application but microsoft is providing it as a service for their customers. – Gaurav Dec 28 '13 at 11:57
  • @gaurav, the Office that Microsoft are providing as a service has nothing to do with the rich client Office application that you install on your Windows machine. That's a specifically designed web application for the purpose. You could do the same if you want with your WPF app. Continue to distribute it as a rich client app and rewrite it as a web application that you will be able to offer as a service. – Darin Dimitrov Dec 28 '13 at 15:12
0

You can not offer WPF application as SaaS unless you offer it in a custom virtual machine which will be "really" expensive solution. Since it is a WPF application your classes will be easy to convert MVC5 solution.

I strongly suggest you to go on Windows Azure since you are a .NET developer and they are offering really great products that you will need on the road.

  • MVC with EF
  • Windows Azure
  • Paypal || Recurly (for CC payment acceptance)
  • Twilio (if you need to send SMS to your customer)
cilerler
  • 9,010
  • 10
  • 56
  • 91
0

I agree with darin-dimitrov and cilerler on there above WPF (Non Web application) application cannot be directly converted as SAAS application.

SAAS it needs to be ONLINE with no compromising 99.99% availability,with more quick response in Notifying the BILL , ENROLLMENT i.e. Subscription , PLAN change , Notify on selecting a payement GAteway Agents and also about choosing of Communication Channels to Tenant and Users under tenants too.

if at all you wan to make a software which should be capable of Converting an Onpremise applcation to SAAS it should adher above features.

And when it is the case of choosing a platform to run your SAAS business your application should be quite flexible to SIT on any platform wheater its Windows AZURE , AMAZON or RackSpace. Atleast to avoid disaster which happened in history back.

your application should be simple , stable , flexible to resist weekely updates or versions