views:

54

answers:

4

I have worked on a Web Application based on ASP.NET Web Forms for a client of mine. This Web app is used internally and externally to manage pension plans.

My client now wants to open up access for the participants of a pension plan so that they can view how much money they will have when they retire, who are the beneficiaries, etc. Participants will have a read-only access to data.

The current Web app is buggy, hard to test and hard to change.

What are the pros and cons of creating a new app for participant access?

Is it a common practice to split public facing and internal web apps? If so why?

+1  A: 

If the internal system is buggy and hard to test then I'd think there was a good argument for rebuilding that and creating a client portal. If you have the budget then separate them, having your externally facing system hardened and also having only limited access to the data just sounds logical without even going into the technicalities.

Exposing a buggy app with significant access to your data to anyone is worrying but even more worrying when you consider the internet.

Lazarus
I'm worried alright, it's why I'm asking ;)
Simon Laroche
There is no budget for a complete rewrite but I think I can sell a client portal.
Simon Laroche
+1  A: 

Is it common to split them? Yes.

The reason being that the internal people who work for your client usually have radically different requirements than the customers. For example, customers get a simplified interface, can't do most functions, and generally need a lot more hand holding. Also, browser requirements are generally different. Most of the javascript / ui effects goes out the window. Consider grandma who is still using XP and running IE 6 (or worse) over a 56K modem.

If your app is "buggy" then there is absolutely no way I'd open it up to the public. It will just give your client and, by proxy, your company a bad name. While causing a lot of support calls.

Note that I'm not saying build a whole new data model etc, just put a different face on what you have while limiting it to just the parts that a customer needs.

Chris Lively
Good point about the broswer, the current app runs well only in IE.
Simon Laroche
+1  A: 

Since it's a different application, it should be - a different application. It may share code and/or database, but it has a different purpose, hence it's a different application.

John Saunders
+1  A: 

Yes it makes perfect sense. The new application could be a stripped down version of the first one, just for applicants. It would read from the same database, with other rules and functionality.

It is actually a very good idea to separate them.