Suggestions/Recommendations for a Web Application with Sub-Apps

Suggestions/Recommendations for a Web Application with Sub-Apps

I’m starting to think about and develop an architecture for a big web application, and I wanted to get suggestions and/or recommendations on which technologies and/or frameworks to use.

The application will be an Intranet-based web site using Windows authentication, running on IIS and using ASP.NET. It’ll need to be structured as a main web application with sub-web applications. Essentially, the entire scope is a composite browser-based, Intranet application that is composed of discrete, functionally complete modules or sub-applications.

This composite web client application would have a main or shell module to provide the overall user interface structure. Additionally, the shell module would provide access to common services that all the individual sub-apps or modules could use. Then each sub-app/module would contain its own functionality and implementation, but integrate with the shell user interface.

Next, based on the user and which of the sub-apps are available, the main or shell app would dynamically build tabs (or buttons or something) as a way to access each individual application. And, we’ll be storing the user and application data in a database table.

So, for example, we’re going to have a reports application, a display application, and probably a couple other distinct applications. On startup of the main/shell application, after determining who the user is, the main app will query the database to determine which sub-apps the user can use and build out the UI. Then the user can navigate between available sub-apps and do their work in each.

I hope all this makes sense.

Anyway, I’m wondering which, if any, pre-existing technologies/frameworks would work best for architecting and developing a system such as this.

Would the Web Client Software Factory be a good choice? Would some other MVP solution be a good choice? Would ASP.NET MVC be a good choice? Something else???? Would none of these be a good choice and we should just develop everything from the ground up using web forms? Any other info I should know about?


ASP.NET MVC Trouble getting data and related data to the view. (View Model Pattern?)


Combining ASP.NET MVC and Reverse Proxy with URL Rewrite v2

Can submit buttons in Ajax forms have their name attribute set?

Difference between window.location.href and top.location.href


Before discussing frameworks, some points to consider when building such a system (where sub-apps can be plugged in): .
  • Possible integration points (Data, Services, Business Logic, UI)
  • Cross-cutting concerns (system logging, audit logging, config, security)
  • Who'll be developing the sub-apps (you, people that work in your office, or anyone / the greater community)
I think that before leaping in and building a framework (or choosing an existing one) you need to step back and think through these aspects first.. In terms of farmeworks: you'll find many frameworks but very few offer the full range of what you're after:.
  • ASP.NET WebForms is basically a completely vacant parcel of land - you'll have to build most things yourself, or bring in additional frameworks (such as the MS Enterprise Libraries)
  • ASP.NET MVC is effectively the same thing but in a different style.
Neither of these are "frameworks" but you could use either of these as the low-level base 'platform'..
  • The MS Ent Libs are great for cross-cutting concerns (like data access, logging, etc) but that's all.
  • There's also a range of good Dependency Inversion frameworks but again these aren't a full solution.
The big thing is to control dependencies: ensure you abstract out the data layer (for a start), adhere to principles around interface segregation, reuse and so on.. One option that you could consider (and I'm blowing my own trumpet here - so I'm not impartial) is the open source .net application framework I've built ('Morphfolia' it's taken me about 5 years, part-time).

Even if you don't use it you might find some good ideas or code you can 'steal':. Morphfolia:. It's available for download at

93 out of 100 based on 83 user ratings 1383 reviews