Bringing several .net webapps together into a suite
I'm in a project where we're going to build a number of related but yet different webapplications. Most likely there will be different teams working on the different web apps.
There will be a number of shared components DLLs that contain commmon functionality, e.g. user management, content management. There will also be a number of web pages that need to be shared, e.g. login, navigation, error handling, user profile management, binary content as images, probably lots of other stuff, unclear at the moment. The key is that the applications need to be able to share pages/content as well as DLLs
We are on VS2010 and using MVC 3, with Razor.
The different applicaitons should be deployed as suite, where开发者_JS百科 it all integrates nicely from the users perspective.
Pushing out the DLLs/common libraries to its own projects shouldn't be a problem, the question is how to order the webapps.
Some alternatives I see:
- Use areas to divide the different applications in the suite. This may me a monolithic mess? where people may step on each other toes? Anyone experienced with using spaces for this?
- Use separate webapps but within the same solution. This would provide a cleaner cut, but make reuse harder? Is it possible to reuse cshtml(aspx) files? How do I get these WebApps together in a suite. Previously experienced with java I've use sitemesh, which pretty much pulls in different URL from different WAR(WebApps) files and puts it all into one page with common navigation.
- Use separate solution and separate webapps don't know where that would offer on top of 2.
There will be a number of shared components DLLs that contain commmon functionality, e.g. user management, content management.
shared components should not be a problem, but it's usually better to build a service layer and let one team handle services only. Otherwise it's quite easy for all teams to add features that only they need which usually ends up with a big mess.
There will also be a number of web pages that need to be shared, e.g. login, navigation, error handling, user profile management, binary content as images, probably lots of other stuff, unclear at the moment
Same thig goes for web pages. imho it's usually not a good idea. It's better to let all web sites share the same login (single sign on) and have a http://account.yoursite.com web site where all account management is done.
the question is how to order the webapps.
subdomains. Single sig on.
精彩评论