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, and of course use the software over the web.
Can someone recommend a good ASP.NET sample site or other type of site framework that I can use to quickly build out the software infrastructure for this site?
In other words, I'm sure things like member sign up, log in, adding/editing account/billing details and all that typical account/user management stuff are common elements of web sites these days, especially those that use a SaaS model. I'd rather not reinvent the wheel. Of course the portion of the site where I deliver my software as a service would be unique. Bu开发者_运维问答t many of the other functions are common and I prefer to leverage existing code as much as possible.
I've read about DotNetDuke which sounds like it could work somewhat, but it also sounds more like a content management system. I really am not interested in a CMS type of site. Mainly I just want to build out the infrastucture parts of the web site (as mentioned above) using as many pre-made parts as possible.
Can someone please point me to some resources for this? Commercial solutions are fine too.
I wouldn't recommend DNN, just from experience with it and based on your specific needs, but you could potentially glean some useful information from it. There are a ton of other open source projects available that could get you started in the right direction. CodeCampServer comes to mind, and there's a decent list of other open source apps here (some of the ones listed might be a little outdated; at this point, I'd shop for examples based on the MVC framework exclusively).
EDIT: Based on comments, Chargify is worth looking at. It's is more of a 3rd party, recurring billing option, but worth looking at for a quick launch solution and allows you to focus on your core competency instead of the subscription/billing components. You could start with the hosted service, then migrate to their API implementation once your project has legs under it.
DotNetNuke has a lot to be said for it and as a CMS includes such things as signup/login functionality out of the box. I would suggest you take a look at it and the various third-party and open-source components available for it carefully. It is a mature product, well supported and can be easily extended by writing custom .Net widgets for doing such things as serving custom content/apps.
Good luck with it all.
You are talking about multi-tenant apps, right? That is that multiple companies share the same web site, but in airtight compartments (one company should not be able to access another companies info). SaaS is a much broader term.
Just google "multi-tenant asp.net mvc" and you'll find several examples.
One commercial product: http://www.techcello.com/
There are two Microsoft-produced reference apps that deal specifically with SaaS concepts, and they come straight from Patterns & Practices team resources.
Fabrikam Shipping
Just recently published, Fabrikam Shipping (online demo & source) is a SaaS reference app with an ASP.NET MVC 2 front-end covering concepts such as Identity management and federation (STS), user-centric authentication via OpenID providers, SaaS Provisioning, remote administration, etc. However, it is built on Azure and uses Azure services, so some of the implementation details of what you might be interested in is abstracted away.
Litware HR
Litware HR is somewhat outdated (from 2007) but provides architectural guidance and examples of using .NET foundation technologies (WF, WCF), ASP.NET WebForms, and SQL 2005 for SaaS, specifically showcasing configurability features common to SaaS apps (data model configuration, role-based access control, workflow configuration, etc).
If you put the two together, I think you will have a lot to learn from and build upon.
I recently published a SAAS starter kit on github available at http://yatendra.github.com/saasapp/. It might be useful to you.
精彩评论