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 v2Can submit buttons in Ajax forms have their name attribute set?Difference between window.location.href and top.location.href


Before discussing frameworks, any points to consider when building such a system (where sub-apps must 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 this job in your office, or anyone / the greater community)
I think this before leaping in and building a framejob (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 although 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 although in a different style.
Neither of these are "frameworks" although 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) although that's all.
  • There's also a range of good Dependency Inversion frameworks although 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 this you could consider (and I'm blowing my own trumpet here - so I'm not impartial) is the open source .net application framejob I've built ('Morphfolia' it's taken me around 5 years, part-time). Even if you don't use it you might find any good ideas or code you must 'steal':. Morphfolia:. It's available for download at

93 out of 100 based on 68 user ratings 463 reviews