If you want to simply prototype something for a viability study to show your boss, which is what I had to do a year or so ago, then for the backend I'd recommend Geoserver because of its user-friendly web interface, backed by some simple shapefiles.
For production, there's a whole slew of stuff out there that depends on your use-case. For me, I eventually went with Mapserver because it's not as bloated as Geoserver, running as a fast-cgi process on a lighttpd web-server. We needed WFS-T (which Geoserver supports out of the box), but Mapserver doesn't, so we used tinyows. We're also serve coverages (WCS), which Mapserver supports, and we're looking at integrating Rasdaman for its WCS-T support. This is all backed by a PostGIS database.
I'd recommend breaking your application down into back-, middle-, and front-ends, and reading the pros and cons of each piece of software. There may only be a few solutions for each layer, but that increases combinatorially.
I believe ESRI make products capable of doing all this, but this will cost. If your time is at a premium, then the commercial route may be the way to go, but the open-source route is heading in some very exciting directions and I suspect will eventually outstrip anything ESRI could come up with. But then I am a biased FOSS fanboi :)